diff --git a/helpers/app-derived.js b/helpers/app-derived.js index da98483..ba9f1ca 100644 --- a/helpers/app-derived.js +++ b/helpers/app-derived.js @@ -56,4 +56,10 @@ export function getVideoEndpoint ( video ) { return `/tv/${video.slug}` } +export function getRouteType ( routeString ) { + // Remove first slash and split by remaining + // slashes to get first part of route + const [ routeType ] = routeString.substring(1).split('/') + return routeType +} diff --git a/pages-eleventy/app.11ty.js b/pages-eleventy/app.11ty.js index 0a6e1ca..f0a97a8 100644 --- a/pages-eleventy/app.11ty.js +++ b/pages-eleventy/app.11ty.js @@ -2,7 +2,7 @@ import dotenv from 'dotenv' import config from '../nuxt.config.js' -import { getAppType } from '../helpers/app-derived.js' +import { getAppType, getRouteType } from '../helpers/app-derived.js' import { deviceSupportsApp } from '../helpers/devices.js' import { makeLastUpdatedFriendly } from '../helpers/parse-date' @@ -56,12 +56,10 @@ export class AppTemplate { before: function( data ) { return data.filter( entry => { - // Skip endpoints with no payload - if ( entry === undefined || !entry.hasOwnProperty('payload') ) return false + // const [ _, routeType ] = entry.route.split('/') + const routeType = getRouteType( entry.route ) - const appType = getAppType( entry.payload.app ) - - return appType === 'app' + return routeType === 'app' }) } }, diff --git a/pages-eleventy/formula.11ty.js b/pages-eleventy/formula.11ty.js index d644935..3e34c93 100644 --- a/pages-eleventy/formula.11ty.js +++ b/pages-eleventy/formula.11ty.js @@ -2,7 +2,7 @@ import dotenv from 'dotenv' import config from '../nuxt.config.js' -import { getAppType } from '../helpers/app-derived.js' +import { getAppType, getRouteType } from '../helpers/app-derived.js' import { AppTemplate } from './app.11ty.js' @@ -33,12 +33,9 @@ class FormulaTemplate extends AppTemplate { alias: 'app', before: function( data ) { return data.filter( entry => { - // Skip endpoints with no payload - if ( entry === undefined || !entry.hasOwnProperty('payload') ) return false + const routeType = getRouteType( entry.route ) - const appType = getAppType( entry.payload.app ) - - return appType === 'formula' + return routeType === 'formula' }) } }, diff --git a/pages-eleventy/tv.11ty.js b/pages-eleventy/tv.11ty.js index f3f89c2..6519780 100644 --- a/pages-eleventy/tv.11ty.js +++ b/pages-eleventy/tv.11ty.js @@ -3,7 +3,7 @@ import dotenv from 'dotenv' import config from '../nuxt.config' import VideoRow from '../components-eleventy/video/row.js' -import { isVideo } from '../helpers/app-derived' +import { isVideo, getRouteType } from '../helpers/app-derived' // Setup dotenv dotenv.config() @@ -35,10 +35,9 @@ class TV { alias: 'payload', before: function( data ) { return data.filter( entry => { - // Skip endpoints with no payload - if ( entry === undefined || !entry.hasOwnProperty('payload') ) return false + const routeType = getRouteType( entry.route ) - return entry.payload.hasOwnProperty('video') && isVideo( entry.payload.video ) + return routeType === 'tv' }) } },