mirror of
https://github.com/ThatGuySam/doesitarm.git
synced 2026-05-18 06:44:46 -07:00
Add rich results embed player
This commit is contained in:
parent
f586065979
commit
f77e25376c
1 changed files with 92 additions and 0 deletions
92
src/pages/embed/rich-results-player.astro
Normal file
92
src/pages/embed/rich-results-player.astro
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
---
|
||||
import { getPathPartsFromAstroRequest } from '~/helpers/url.js'
|
||||
|
||||
|
||||
import Layout from '~/src/layouts/embed.astro'
|
||||
import VideoPlayer from '~/components/video/player.vue'
|
||||
|
||||
|
||||
import '@fontsource/inter/variable.css'
|
||||
|
||||
// Component Script:
|
||||
// You can write any JavaScript/TypeScript that you'd like here.
|
||||
// It will run during the build, but never in the browser.
|
||||
// All variables are available to use in the HTML template below.
|
||||
|
||||
|
||||
// Full Astro Component Syntax:
|
||||
// https://docs.astro.build/core-concepts/astro-components/
|
||||
|
||||
// Get type and slug from the request path
|
||||
// so that we don't have extra parts for
|
||||
// urls like /:type/:slug/benchmarks
|
||||
const {
|
||||
pathSlug,
|
||||
subSlug = null,
|
||||
params
|
||||
} = getPathPartsFromAstroRequest( Astro.request )
|
||||
|
||||
const {
|
||||
name,
|
||||
'youtube-id' : youtubeId
|
||||
} = params
|
||||
|
||||
const video = {
|
||||
name,
|
||||
id: youtubeId,
|
||||
timestamps: [],
|
||||
thumbnail: {
|
||||
sizes: '(max-width: 640px) 100vw, 640px',
|
||||
srcset: `https://i.ytimg.com/vi/${ youtubeId }/default.jpg 120w, https://i.ytimg.com/vi/${ youtubeId }/mqdefault.jpg 320w, https://i.ytimg.com/vi/${ youtubeId }/hqdefault.jpg 480w, https://i.ytimg.com/vi/${ youtubeId }/sddefault.jpg 640w`,
|
||||
src: `https://i.ytimg.com/vi/${ youtubeId }/default.jpg`
|
||||
},
|
||||
}
|
||||
|
||||
---
|
||||
<Layout
|
||||
headOptions={ {
|
||||
title: 'Video - Does It ARM',
|
||||
// description: `Check for Apple Silicon compatibility for any of your apps instantly before you buy an M1 Pro or M1 Max Mac. `,
|
||||
// meta,
|
||||
// link,
|
||||
// structuredData: this.structuredData,
|
||||
|
||||
// domain,
|
||||
pathname: '/',
|
||||
} }
|
||||
>
|
||||
|
||||
<style>
|
||||
/* Clear out background color */
|
||||
html {
|
||||
background: transparent;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="embed-main text-gray-300">
|
||||
<VideoPlayer
|
||||
client:load
|
||||
|
||||
video={ video }
|
||||
class="w-100 h-100 absolute inset-0 flex justify-center items-center"
|
||||
>
|
||||
<div class="page-heading h-full flex items-end md:p-4">
|
||||
<h1 class="title text-xs text-left md:text-2xl font-bold">
|
||||
{ video.name }
|
||||
</h1>
|
||||
</div>
|
||||
</VideoPlayer>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
|
||||
You can also use imported framework components directly in your markup!
|
||||
|
||||
Note: by default, these components are NOT interactive on the client.
|
||||
The `:visible` directive tells Astro to make it interactive.
|
||||
|
||||
See https://docs.astro.build/core-concepts/component-hydration/
|
||||
|
||||
-->
|
||||
|
||||
</Layout>
|
||||
Loading…
Add table
Add a link
Reference in a new issue