angrybeanie-front-end/pages/podcasts.js

64 lines
2.7 KiB
JavaScript
Raw Normal View History

import "../components/main.js"
import Layout from "../components/main.js"
import Link from 'next/link'
import getConfig from 'next/config'
import Image from "next/legacy/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)
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}) => {
return (
<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.length > 0 &&
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