jskim-node #411

Merged
kjs merged 65 commits from jskim-node into main 2026-03-11 19:11:01 +09:00
2 changed files with 26 additions and 7 deletions
Showing only changes of commit 515d5da8cd - Show all commits

View File

@ -1,6 +1,7 @@
import type { Metadata, Viewport } from "next";
import { Inter, JetBrains_Mono } from "next/font/google";
import "./globals.css";
import { ThemeProvider } from "@/components/providers/ThemeProvider";
import { QueryProvider } from "@/providers/QueryProvider";
import { RegistryProvider } from "./registry-provider";
import { Toaster } from "sonner";
@ -39,14 +40,16 @@ export default function RootLayout({
children: React.ReactNode;
}>) {
return (
<html lang="ko" className="h-full">
<body className={`${inter.variable} ${jetbrainsMono.variable} h-full bg-white font-sans antialiased`}>
<html lang="ko" className="h-full" suppressHydrationWarning>
<body className={`${inter.variable} ${jetbrainsMono.variable} h-full bg-background font-sans antialiased`}>
<div id="root" className="h-full">
<QueryProvider>
<RegistryProvider>{children}</RegistryProvider>
<Toaster position="top-right" />
<ScreenModal />
</QueryProvider>
<ThemeProvider>
<QueryProvider>
<RegistryProvider>{children}</RegistryProvider>
<Toaster position="top-right" />
<ScreenModal />
</QueryProvider>
</ThemeProvider>
{/* Portal 컨테이너 */}
<div id="portal-root" data-radix-portal="true" />
</div>

View File

@ -0,0 +1,16 @@
"use client";
import { ThemeProvider as NextThemesProvider } from "next-themes";
export function ThemeProvider({ children }: { children: React.ReactNode }) {
return (
<NextThemesProvider
attribute="class"
defaultTheme="light"
enableSystem={false}
disableTransitionOnChange
>
{children}
</NextThemesProvider>
);
}