--- // Full Astro Component Syntax: // https://docs.astro.build/core-concepts/astro-components/ import { DoesItAPI } from '~/helpers/api/client.js' import { catchRedirectResponse } from '~/helpers/astro/request.js' import { getVideoImages, ListingDetails } from '~/helpers/listing-page.js' import { getPathPartsFromAstroRequest } from '~/helpers/url.js' import Layout from '~/src/layouts/default.astro' import Listing from '~/src/components/default-listing.astro' import VideoListing from '~/src/components/video-listing.astro' const redirectResponse = await catchRedirectResponse( Astro ) if ( redirectResponse !== null ) { return redirectResponse } // 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 } = getPathPartsFromAstroRequest( Astro.request ) const isBenchmarkPage = subSlug === 'benchmarks' // Astro Request reference // https://docs.astro.build/en/reference/api-reference/#astrorequests // Request App data from API const appListing = await DoesItAPI.app( pathSlug ).get() const listingDetails = new ListingDetails( appListing ) const headOptions = listingDetails.headOptions if ( isBenchmarkPage ) { // Set the page title headOptions.title = `${ listingDetails.api.name } Benchmarks for Apple Silicon - Does It ARM` const { preloads } = getVideoImages( listingDetails.initialVideo ) // Add image preloads for video thumbnail headOptions.link = [ ...headOptions.link, ...preloads ] } --- { isBenchmarkPage ? ( ) : ( )}