import dotenv from 'dotenv' import config from '../nuxt.config' import VideoRow from '../components-eleventy/video/row.js' import { isVideo, getRouteType } from '../helpers/app-derived' // Setup dotenv dotenv.config() export const makeTitle = function ( tvEntry ) { return `${ tvEntry.name } - ${ config.head.title }` } export const makeDescription = function ( tvEntry ) { if ( tvEntry.payload.featuredApps.length === 0 ) return 'Apple Silicon performance and support videos' const featuredAppsString = tvEntry.payload.featuredApps.slice(0, 5).map(app => app.name).join(', ') // console.log('tvEntry.payload.featuredApps', tvEntry.payload.featuredApps) return `Apple Silicon performance and support videos for ${ featuredAppsString }` } class TV { // or `async data() {` // or `get data() {` data () { return { layout: 'default.11ty.js', pagination: { data: 'eleventy-endpoints', size: 1, alias: 'tvEntry', before: function( data ) { return data.filter( entry => { const routeType = getRouteType( entry.route ) return routeType === 'tv' }) } }, eleventyComputed: { title: ( { tvEntry } ) => { // console.log('data', data) return makeTitle( tvEntry ) }, description: ( { tvEntry } ) => { return makeDescription( tvEntry ) }, }, permalink: ( { tvEntry: { route } } ) => { // console.log('data', data) // return `tv/${ video.slug }/` return route.substring(1) + '/' } } } async render( data ) { const { tvEntry: { // route, payload: { video, relatedVideos = [] } }, // tvEntry: { // video, // relatedVideos = [] // }, // 'device-list': deviceList } = data // console.log('video.payload', Object.keys(video.payload)) const rowHtml = await this.boundComponent(VideoRow)( relatedVideos ) // const rowHtml = renderedRow.join('') return /* html */`

${ video.name }


` } } module.exports = TV