9a8196a395
주요 변경: - 회사 라우트 정리: COMPANY_7/8/9/10/29/30 6개 폴더 삭제, COMPANY_16(하이큐마그)만 유지 - 모듈 수 17,470 → 16,121, /main 컴파일 시간 110s → 53s - 브랜딩: VEXPLOR → RPS (로고/파비콘/타이틀/메타데이터/푸터 회사정보 전부 교체) - 로그인 페이지 fito 스타일 리디자인 (다크 그라디언트 + 글래스 카드 + 격자 배경 + 하단 푸터) - AppLayout/TabBar/ThemeToggle/ThemeProvider/Logo Pipeline 디자인 채용 - 6색 컬러 테마 시스템 (blue/teal/green/purple/red/dark) + 좌→우 커튼 전환 애니메이션 - 우상단 모드 전환 알약 버튼 (관리자만 노출) - 시안톤 탭 + Teal 활성 탭, 130px 컴팩트 너비 - 도커 포트 충돌 회피: 백엔드 8080→8090, 프론트 9771→9781, 컨테이너명 rps_backend/rps-front - DB: vexplor_rps 신규 생성 후 vexplor_dev 데이터 이관, DATABASE_URL 변경 - useAuth: SUPER_ADMIN userType도 isAdmin으로 인정 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
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 "@/components/ui/sonner";
|
|
|
|
const inter = Inter({
|
|
subsets: ["latin"],
|
|
variable: "--font-inter",
|
|
display: "swap",
|
|
});
|
|
|
|
const jetbrainsMono = JetBrains_Mono({
|
|
subsets: ["latin"],
|
|
variable: "--font-jetbrains-mono",
|
|
display: "swap",
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: "RPS - (주)알피에스",
|
|
description: "(주)알피에스 RPS 솔루션",
|
|
keywords: ["RPS", "알피에스", "PLM", "Product Lifecycle Management", "제품관리"],
|
|
authors: [{ name: "RPS" }],
|
|
};
|
|
|
|
export const viewport: Viewport = {
|
|
width: "device-width",
|
|
initialScale: 1,
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="ko" className="h-full" suppressHydrationWarning>
|
|
<body className={`${inter.variable} ${jetbrainsMono.variable} bg-background h-full font-sans antialiased`}>
|
|
<div id="root" className="h-full">
|
|
<ThemeProvider>
|
|
<QueryProvider>
|
|
<RegistryProvider>{children}</RegistryProvider>
|
|
<Toaster />
|
|
</QueryProvider>
|
|
</ThemeProvider>
|
|
{/* Portal 컨테이너 */}
|
|
<div id="portal-root" data-radix-portal="true" />
|
|
</div>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|