Files
frontend/apps/sn/app/layout.tsx
T
2026-10-12 10:01:22 +09:00

45 lines
1.4 KiB
TypeScript

/**
* ➡️ 경로 : 모든 페이지
*
* 📄 Root Layout
* 루트 레이아웃 컴포넌트
*
* - 메타데이터 설정 (title, description, keywords, OpenGraph)
* - App 컴포넌트 렌더링 및 전체 앱 구조 정의
* - SEO 및 소셜 미디어 공유를 위한 메타 태그 관리
* - 디지털 하수관로 시스템의 기본 레이아웃 제공
* - Next.js Metadata API를 통한 동적 메타데이터 설정
* - 앱 전체의 공통 스타일 및 스크립트 적용
*/
import type { Metadata } from "next";
import "@fontsource-variable/noto-sans-kr";
import { cookies } from "next/headers";
import { AppProvider } from "./providers";
import "../src/app/styles/base.css";
import "../src/app/styles/components.css";
import "../src/app/styles/grid-ellipsis.css";
export const metadata: Metadata = {
title: "유역하수도통합플랫폼 Hasuon",
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="ko" data-theme={theme?.value}>
<body data-sn-grid-ellipsis="true">
<AppProvider>{children}</AppProvider>
</body>
</html>
);
}