63 lines
No EOL
2.7 KiB
JavaScript
Executable file
63 lines
No EOL
2.7 KiB
JavaScript
Executable file
import "../components/main.js"
|
|
import Layout from "../components/main.js"
|
|
import Link from 'next/link'
|
|
import getConfig from 'next/config'
|
|
import Image from 'next/image';
|
|
import { getPodcastList } from "../data/external/cms.js";
|
|
|
|
export async function getServerSideProps(context) {
|
|
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
|
|
const secres = await fetch(serverRuntimeConfig.base_path + `/api/sections`)
|
|
const secdata = await secres.json()
|
|
|
|
const currpodcastlist = await getPodcastList(true)
|
|
|
|
console.log(currpodcastlist.data[0].attributes.Logo.data.attributes.formats)
|
|
|
|
const archpodcastlist = await getPodcastList(false)
|
|
|
|
const episodedata = "hi there"
|
|
|
|
const pagedata = {'title': 'Angry Beanie - Current Podcast Projects'}
|
|
|
|
return {
|
|
props: { sections : secdata, currpodcastlist: currpodcastlist.data, archpodcastlist, episodedata, pagedata, serverRuntimeConfig }, // will be passed to the page component as props
|
|
}
|
|
}
|
|
|
|
const Podcasts = ({sections, currpodcastlist, archpodcastlist, episodedata, pagedata, serverRuntimeConfig}) => (
|
|
<Layout sections={sections} episodedata={episodedata} pagedata={pagedata} serverRuntimeConfig>
|
|
<h1 className="page_title col-sm-12">Podcasts</h1>
|
|
<div className="page_body col-sm-12"><p>Over the years I have made a number of podcasts.</p></div>
|
|
<div className="row col-sm-12">
|
|
<div className="col-sm-6">
|
|
<h2>Current Podcasts</h2>
|
|
{currpodcastlist.map((podcast) => (
|
|
<div>
|
|
<Image
|
|
src={serverRuntimeConfig.media_path + "/" + podcast.attributes.Logo.data.attributes.formats.thumbnail.url}
|
|
height={podcast.attributes.Logo.data.attributes.formats.thumbnail.height}
|
|
width={podcast.attributes.Logo.data.attributes.formats.thumbnail.width}
|
|
alt={podcast.attributes.Title}
|
|
></Image><br />
|
|
<Link href={"/podcasts/shows/" + podcast.attributes.Slug}>{podcast.attributes.Title}</Link></div>
|
|
))}
|
|
</div>
|
|
<div className="col-sm-6">
|
|
<h2>Archived Podcasts</h2>
|
|
{archpodcastlist.map((podcast) => (
|
|
<div>
|
|
<Image
|
|
src={serverRuntimeConfig.media_path + "/" + podcast.attributes.Logo.data.attributes.formats.thumbnail.url}
|
|
height={podcast.attributes.Logo.data.attributes.formats.thumbnail.height}
|
|
width={podcast.attributes.Logo.data.attributes.formats.thumbnail.width}
|
|
alt={podcast.attributes.Title}
|
|
></Image>
|
|
<Link href={"/podcasts/shows/" + podcast.attributes.Slug}>{podcast.attributes.Title}</Link></div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</Layout>
|
|
)
|
|
|
|
export default Podcasts |