doesitarm/src/pages/app/[...appPath].astro
2022-04-29 14:39:18 -05:00

54 lines
1.3 KiB
Text

---
// Full Astro Component Syntax:
// https://docs.astro.build/core-concepts/astro-components/
import axios from 'axios'
import Layout from '../../layouts/default.astro'
import Listing from '../../components/default-listing.astro'
// const {
// appPath
// } = Astro.params
// Parse the request url
const requestUrl = new URL( Astro.request.url )
// Get type and slug from the request path
// so that we don't have extra parts for
// urls like /:type/:slug/benchmarks
const [ , pathType, pathSlug ] = requestUrl.pathname.split('/')
// Create an empty API URL
const apiUrl = new URL( import.meta.env.PUBLIC_API_DOMAIN )
// Use request path parts to set api url path
apiUrl.pathname = `/api/${ pathType }/${ pathSlug }.json`
// Astro Request reference
// https://docs.astro.build/en/reference/api-reference/#astrorequests
// console.log('Astro.params', Astro.params )
// console.log('Astro.request.url', Astro.request.url )
// console.log('Astro.site.pathname', Astro.site.pathname )
// console.log('Astro.request', Astro.request )
const appListing = await axios.get( apiUrl.toString() )
.then( response => {
// console.log( 'response', response )
return response.data
})
---
<Layout
headTitle={ `${ appListing.name } | Does It ARM` }
headDescription={ 'Test' }
>
<Listing
listing={ appListing }
/>
</Layout>