angrybeanie-front-end/pages/podcasts/shows/[podcast].js

41 lines
1.5 KiB
JavaScript
Raw Normal View History

2021-02-04 14:27:14 +11:00
import getConfig from 'next/config'
import "../../../components/main.js"
import Layout from "../../../components/main.js"
import EpisodePager from "../../../components/episodepager.js"
2022-06-22 21:37:22 +10:00
import { getPodcastSeries, getPodcastSeriesEpisodes } from '../../../data/external/cms.js'
import ShowSideBar from '../../../components/showsidebar.js'
2021-02-04 14:27:14 +11:00
export async function getServerSideProps(context) {
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
const slug = context.params.podcast
2022-06-22 21:37:22 +10:00
const showdata = await getPodcastSeries(slug)
console.log(showdata.data)
2021-02-04 14:27:14 +11:00
if(context.query.page == null || context.query.page == '0') {
var page = 0;
} else {
2022-06-22 21:37:22 +10:00
var page = Number(context.query.page)
2021-02-04 14:27:14 +11:00
}
2022-06-22 21:37:22 +10:00
const epdata = await getPodcastSeriesEpisodes(slug, 5, page)
2021-02-04 14:27:14 +11:00
const secres = await fetch(serverRuntimeConfig.base_path + '/api/sections')
const secdata = await secres.json()
const pagedata = {
'title': 'Angry Beanie - ' + showdata.title
}
return {
props: {pagedata, sections: secdata, showdata, epdata, serverRuntimeConfig}
}
}
const Podcast = (props) => (
<Layout pagedata={props.pagedata} sections={props.sections} showdata={props.showdata}>
<h1>{props.showdata.title}</h1>
2022-06-22 21:37:22 +10:00
<EpisodePager episodedata={props.epdata} config={props.serverRuntimeConfig} showdata={props.showdata}/>
<ShowSideBar props={props.showdata}></ShowSideBar>
2021-02-04 14:27:14 +11:00
</Layout>
)
export default Podcast