diff --git a/src/layout.tsx b/src/layout.tsx index b2e925f..4804c0c 100644 --- a/src/layout.tsx +++ b/src/layout.tsx @@ -5,10 +5,11 @@ import { asset } from "../lib/assets.js"; type Props = { title?: string; meta?: { [name: string]: string }; -} & ({ content: string } | { Content(): JSX.Element }); + Content: () => JSX.Element; +}; -export default (props: Props) => { - const metaTags = Object.entries(Object.assign({}, SITE_DEFAULT_META, props.meta || {})).map( +export default ({ title, meta, Content }: Props) => { + const metaTags = Object.entries(Object.assign({}, SITE_DEFAULT_META, meta || {})).map( ([name, value]) => , ); @@ -18,20 +19,16 @@ export default (props: Props) => { {metaTags} <link rel="stylesheet" type="text/css" href={asset("index.css")} /> </head> <body> - {"Content" in props ? ( - <div class="main"> - <props.Content /> - </div> - ) : ( - <div class="main" dangerouslySetInnerHTML={{ __html: props.content }} /> - )} + <div class="main"> + <Content /> + </div> </body> </html> );