61 lines
1.4 KiB
TypeScript
61 lines
1.4 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Noto_Sans_Mono, Noto_Sans_TC } from "next/font/google";
|
|
import localFont from "next/font/local";
|
|
|
|
import Footer from "@/lib/common/presenter/ui/Footer";
|
|
import Navbar from "@/lib/common/presenter/ui/Navbar";
|
|
|
|
import "./globals.css";
|
|
|
|
const notoSansTc = Noto_Sans_TC({
|
|
variable: "--font-noto-sans-tc",
|
|
subsets: ["latin"],
|
|
});
|
|
|
|
const notoSansMono = Noto_Sans_Mono({
|
|
variable: "--font-noto-sans-mono",
|
|
subsets: ["latin"],
|
|
});
|
|
|
|
const hackNerdMono = localFont({
|
|
src: "./_font/HackNerdMono.woff2",
|
|
variable: "--font-hack-nerd-mono",
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: "魚之魷魂 SquidSpirit",
|
|
description: "程式、科技、教學、分享",
|
|
icons: {
|
|
icon: [
|
|
{
|
|
media: "(prefers-color-scheme: light)",
|
|
url: "/icon/logo-light.svg",
|
|
href: "/icon/logo-light.svg",
|
|
},
|
|
{
|
|
media: "(prefers-color-scheme: dark)",
|
|
url: "/icon/logo-dark.svg",
|
|
href: "/icon/logo-dark.svg",
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="zh-Hant">
|
|
<body className={`${notoSansTc.variable} ${notoSansMono.variable} ${hackNerdMono.variable} antialiased`}>
|
|
<div className="min-h-screen">
|
|
<Navbar />
|
|
{children}
|
|
</div>
|
|
<Footer />
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|