angrybeanie-front-end/pages/news/[slug].js

41 lines
1.5 KiB
JavaScript
Raw Normal View History

2021-02-04 14:27:14 +11:00
import getConfig from 'next/config'
2020-12-06 21:49:37 +11:00
import "../../components/main.js"
import Layout from "../../components/main.js"
2021-02-04 14:27:14 +11:00
import FeatureImage from "../../components/featureimage.js"
import StorySideBar from '../../components/storysidebar.js'
2020-12-06 21:49:37 +11:00
export async function getServerSideProps(context) {
2021-02-04 14:27:14 +11:00
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
2020-12-06 21:49:37 +11:00
const slug = context.params.slug
2021-02-04 14:27:14 +11:00
const url = serverRuntimeConfig.base_path + '/api/document/' + slug
2020-12-06 21:49:37 +11:00
const res = await fetch(url)
const article_obj = await res.json()
2021-02-04 14:27:14 +11:00
const stories = await fetch(serverRuntimeConfig.base_path + `/api/documents/0/5`)
const storydata = await stories.json()
const pagedata = {
'title': "Angry Beanie - " + article_obj.title
}
const secres = await fetch(serverRuntimeConfig.base_path + '/api/sections')
2020-12-06 21:49:37 +11:00
const secdata = await secres.json()
return {
2021-02-04 14:27:14 +11:00
props: { article_obj, sections: secdata, pagedata, storydata}, // will be passed to the page component as props
2020-12-06 21:49:37 +11:00
}
}
2021-02-04 14:27:14 +11:00
const Article = ({article_obj, sections, pagedata, storydata}) => (
<Layout sections={sections} pagedata={pagedata}>
<div className="main_content col-md-9 col-sm-12">
<FeatureImage imagedata={article_obj}></FeatureImage>
<h1>{article_obj.title}</h1>
<div className="article_body" dangerouslySetInnerHTML={{ __html: article_obj.body }}></div>
</div>
<StorySideBar stories={storydata} />
2020-12-06 21:49:37 +11:00
</Layout>
)
export default Article