web/tsx/layout.tsx (view raw)
1import type { Child, FC } from "hono/jsx";
2import { Message } from "./components.tsx";
3
4const DocType: FC = () => {
5 const s = new String("<!DOCTYPE html>") as any;
6 s.isEscaped = true;
7 return s;
8};
9
10export const Layout: FC<{ url: string; children: Child }> = (props) => {
11 return (
12 <>
13 <DocType />
14 <html>
15 <head>
16 <meta name="viewport" content="width=device-width,initial-scale=1" />
17 <link href="/style.css" rel="stylesheet" />
18 </head>
19 <body>
20 <main>
21 <a href="/">
22 <h1>Momix</h1>
23 </a>
24 <Message url={props.url} />
25 {props.children}
26 </main>
27 </body>
28 </html>
29 </>
30 );
31};