Add typescript-final

This commit is contained in:
Shu Uesugi
2020-04-07 00:33:13 -07:00
parent b476a7a854
commit 5f67edf49c
22 changed files with 473 additions and 4 deletions

View File

@@ -0,0 +1,48 @@
import Layout from '../../components/Layout'
import { getAllPostIds, getPostData } from '../../lib/posts'
import Head from 'next/head'
import Date from '../../components/Date'
import utilStyles from '../../styles/utils.module.css'
import { GetStaticProps, GetStaticPaths } from 'next'
export default function Post({
postData
}: {
postData: {
title: string
date: string
contentHtml: string
}
}) {
return (
<Layout>
<Head>
<title>{postData.title}</title>
</Head>
<article>
<h1 className={utilStyles.headingXl}>{postData.title}</h1>
<div className={utilStyles.lightText}>
<Date dateString={postData.date} />
</div>
<div dangerouslySetInnerHTML={{ __html: postData.contentHtml }} />
</article>
</Layout>
)
}
export const getStaticPaths: GetStaticPaths = async () => {
const paths = getAllPostIds()
return {
paths,
fallback: false
}
}
export const getStaticProps: GetStaticProps = async ({ params }) => {
const postData = await getPostData(params.id as string)
return {
props: {
postData
}
}
}