46 lines
No EOL
1.7 KiB
JavaScript
Executable file
46 lines
No EOL
1.7 KiB
JavaScript
Executable file
import "../components/main"
|
|
import getConfig from 'next/config'
|
|
import config from "../data/internal/config"
|
|
import Layout from "../components/main"
|
|
import StoryPager from "../components/storypager"
|
|
import { getAllPosts, getProjectDetails } from "../data/external/cms";
|
|
import Head from 'next/head'
|
|
//import { popStoryPager } from "../data/external/cms"
|
|
|
|
export async function getServerSideProps(context) {
|
|
if(context.query.page == null || context.query.page == '0') {
|
|
var page = 0;
|
|
} else {
|
|
var page = Number(context.query.page) - 1
|
|
}
|
|
|
|
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
|
|
|
|
const project = await getProjectDetails('tech-and-disability')
|
|
|
|
const rssFeed = config.siteURL+"/feed/"+project.data[0].attributes.Slug+"-feed.xml"
|
|
|
|
const articles = await getAllPosts([project.data[0].attributes.Slug], page, 5)
|
|
|
|
const secres = await fetch(serverRuntimeConfig.base_path + `/api/sections`)
|
|
const secdata = await secres.json()
|
|
|
|
const pagedata = {'title': 'Tech and Disability'}
|
|
|
|
return {
|
|
props: { articles, sections : secdata, pagedata, project, rssFeed}, // will be passed to the page component as props
|
|
}
|
|
}
|
|
|
|
function Project({ articles, sections, pagedata, project, rssFeed }) {
|
|
return <div><Head>
|
|
<link rel="alternate" type="application/rss+xml" title="Example Feed" href={rssFeed} />
|
|
</Head>
|
|
<Layout sections={sections} pagedata={pagedata}>
|
|
<h1>{project.data[0].attributes.Title}</h1>
|
|
<div dangerouslySetInnerHTML={{ __html: project.data[0].attributes.Description }}></div>
|
|
<StoryPager storydata={articles} />
|
|
</Layout></div>
|
|
}
|
|
|
|
export default Project |