frondend/app/layout.tsx

66 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-09-24 12:47:24 +08:00
import type { Metadata } from "next";
import localFont from "next/font/local";
import "./globals.css";
2024-10-08 19:38:15 +08:00
import NextTopLoader from 'nextjs-toploader';
2024-10-05 15:04:17 +08:00
import { Toaster } from "react-hot-toast";
2024-09-24 12:47:24 +08:00
const geistSans = localFont({
src: "./fonts/GeistVF.woff",
variable: "--font-geist-sans",
weight: "100 900",
});
const geistMono = localFont({
src: "./fonts/GeistMonoVF.woff",
variable: "--font-geist-mono",
weight: "100 900",
});
2024-10-08 19:08:37 +08:00
2024-09-24 12:47:24 +08:00
export const metadata: Metadata = {
2024-10-08 19:08:37 +08:00
title: "All And One Music",
description: "發掘你的音樂之路",
icons: [
{
rel: 'icon',
type: 'image/png',
sizes: '32x32',
url: '/favicon/favicon-32x32.png',
},
{
rel: 'icon',
type: 'image/png',
sizes: '16x16',
url: '/favicon/favicon-16x16.png',
},
{
rel: 'apple-touch-icon',
sizes: '180x180',
url: '/favicon/apple-touch-icon.png',
},
],
2024-09-24 12:47:24 +08:00
};
export default function RootLayout({
2024-10-05 15:04:17 +08:00
2024-09-24 12:47:24 +08:00
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
2024-10-08 19:08:37 +08:00
2024-09-24 12:47:24 +08:00
<body
2024-10-08 21:49:58 +08:00
className={`${geistSans.variable} ${geistMono.variable} antialiased bg-[#F6E5E9] max-sm:bg-[#FFF9F9]`}
2024-09-24 12:47:24 +08:00
>
2024-10-08 19:08:37 +08:00
<link rel="icon" href="/favicon.ico" sizes="any" />
2024-10-08 19:38:15 +08:00
<NextTopLoader color="#D60050" height={5} />
2024-10-05 15:04:17 +08:00
<Toaster position="bottom-center" />
2024-09-24 12:47:24 +08:00
{children}
2024-10-05 15:04:17 +08:00
2024-09-24 12:47:24 +08:00
</body>
</html>
);
}
2024-10-05 15:04:17 +08:00