38 lines
995 B
TypeScript
38 lines
995 B
TypeScript
import "./styles/base.css";
|
|
import "./styles/components.css";
|
|
import type { Metadata } from "next";
|
|
import { cookies } from "next/headers";
|
|
import { StoreProvider } from "./store/store-provider";
|
|
import { AuthWrapper } from "./components/lib/auth";
|
|
import { ClientLayout } from "./clientLayout";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "디지털 하수관로",
|
|
description: "디지털 하수관로 시스템입니다",
|
|
keywords: ["하수관로"],
|
|
openGraph: {
|
|
title: "디지털 하수관로",
|
|
description: "디지털 하수관로 시스템입니다"
|
|
}
|
|
};
|
|
|
|
export default async function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
const theme = (await cookies()).get("site-theme-key");
|
|
|
|
return (
|
|
<html lang="en" data-theme={theme?.value}>
|
|
<body>
|
|
<StoreProvider>
|
|
<AuthWrapper>
|
|
<ClientLayout>{children}</ClientLayout>
|
|
</AuthWrapper>
|
|
</StoreProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|