--- // 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 { 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' 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 ) // Astro Request reference // https://docs.astro.build/en/reference/api-reference/#astrorequests // Request App data from API const appListing = await DoesItAPI.formula( pathSlug ).get() const listingDetails = new ListingDetails( appListing ) const headOptions = listingDetails.headOptions ---