aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/nuldoc-src/pages/NotFoundPage.ts
diff options
context:
space:
mode:
Diffstat (limited to 'services/nuldoc/nuldoc-src/pages/NotFoundPage.ts')
-rw-r--r--services/nuldoc/nuldoc-src/pages/NotFoundPage.ts40
1 files changed, 40 insertions, 0 deletions
diff --git a/services/nuldoc/nuldoc-src/pages/NotFoundPage.ts b/services/nuldoc/nuldoc-src/pages/NotFoundPage.ts
new file mode 100644
index 0000000..34854c4
--- /dev/null
+++ b/services/nuldoc/nuldoc-src/pages/NotFoundPage.ts
@@ -0,0 +1,40 @@
+import GlobalFooter from "../components/GlobalFooter.ts";
+import AboutGlobalHeader from "../components/AboutGlobalHeader.ts";
+import BlogGlobalHeader from "../components/BlogGlobalHeader.ts";
+import SlidesGlobalHeader from "../components/SlidesGlobalHeader.ts";
+import DefaultGlobalHeader from "../components/DefaultGlobalHeader.ts";
+import PageLayout from "../components/PageLayout.ts";
+import { Config } from "../config.ts";
+import { elem, Element } from "../dom.ts";
+
+export default async function NotFoundPage(
+ site: "default" | "about" | "blog" | "slides",
+ config: Config,
+): Promise<Element> {
+ const GlobalHeader = site === "about"
+ ? AboutGlobalHeader
+ : site === "blog"
+ ? BlogGlobalHeader
+ : site === "slides"
+ ? SlidesGlobalHeader
+ : DefaultGlobalHeader;
+
+ return await PageLayout({
+ metaCopyrightYear: config.site.copyrightYear,
+ metaDescription: "リクエストされたページが見つかりません",
+ metaTitle: `Page Not Found|${config.sites[site].siteName}`,
+ site,
+ config,
+ children: elem(
+ "body",
+ { class: "single" },
+ GlobalHeader({ config }),
+ elem(
+ "main",
+ { class: "main" },
+ elem("article", {}, elem("div", { class: "not-found" }, "404")),
+ ),
+ GlobalFooter({ config }),
+ ),
+ });
+}