2025-10-08 20:55:43 +09:00
|
|
|
import type { Metadata } from "next";
|
|
|
|
|
import "./globals.css";
|
2025-10-09 15:13:12 +09:00
|
|
|
import QueryProvider from "@/app/QueryProvider";
|
2025-10-09 15:22:05 +09:00
|
|
|
import { AppHeader } from "@/app/components/AppHeader";
|
|
|
|
|
import { AppFooter } from "@/app/components/AppFooter";
|
2025-10-09 15:26:03 +09:00
|
|
|
import { ToastProvider } from "@/app/components/ui/ToastProvider";
|
2025-10-08 20:55:43 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
export const metadata: Metadata = {
|
2025-10-13 10:07:10 +09:00
|
|
|
title: "ASSM",
|
|
|
|
|
description: "assm",
|
2025-10-08 20:55:43 +09:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default function RootLayout({
|
|
|
|
|
children,
|
|
|
|
|
}: Readonly<{
|
|
|
|
|
children: React.ReactNode;
|
|
|
|
|
}>) {
|
|
|
|
|
return (
|
2025-10-11 18:32:06 +09:00
|
|
|
<html lang="ko">
|
|
|
|
|
<body className="min-h-screen bg-background text-foreground antialiased">
|
2025-10-09 15:13:12 +09:00
|
|
|
<QueryProvider>
|
2025-10-09 15:26:03 +09:00
|
|
|
<ToastProvider>
|
2025-10-11 18:32:06 +09:00
|
|
|
<div className="min-h-screen flex flex-col">
|
|
|
|
|
<div className="sticky top-0 z-50 border-b bg-white/80 backdrop-blur">
|
2025-10-13 09:45:53 +09:00
|
|
|
<div className="mx-auto">
|
2025-10-11 18:32:06 +09:00
|
|
|
<AppHeader />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<main className="flex-1">
|
|
|
|
|
<div className="max-w-7xl mx-auto px-4 py-6">
|
|
|
|
|
{children}
|
|
|
|
|
</div>
|
|
|
|
|
</main>
|
|
|
|
|
<div className="border-t">
|
|
|
|
|
<div className="max-w-7xl mx-auto px-4">
|
|
|
|
|
<AppFooter />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-10-09 15:26:03 +09:00
|
|
|
</div>
|
|
|
|
|
</ToastProvider>
|
2025-10-09 15:13:12 +09:00
|
|
|
</QueryProvider>
|
2025-10-08 20:55:43 +09:00
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
);
|
|
|
|
|
}
|