Files
hanarang-dashboard/frontend/app/layout.tsx
narang-ai 79135f24b0 feat(sprint-001): backend Nest.js + Prisma7 adapter setup, frontend Next.js UI
- Backend: NestJS + Prisma 7 (MariaDB adapter) scaffold
  - PrismaService with @prisma/adapter-mariadb driver
  - SistersService: SSH 상태 체크 with graceful fallback
  - HealthController: GET /health
  - 시드 스크립트: 자매 4명 초기 데이터
  - 테스트 5/5 pass

- Frontend: Next.js 16 + styled-components
  - styled-components SSR registry (next.config 컴파일러)
  - 다크 테마 글로벌 스타일 + 테마 토큰
  - SisterCard: glassmorphism 상태 카드 (온라인 pulse 애니메이션)
  - StatusBadge: 상태 표시 컴포넌트
  - Sidebar: 접이식 네비게이션
  - 대시보드 메인 페이지 (API 미연결 시 mock 데이터 fallback)
  - build 성공 확인

- DB credential 이랑이 대기 중
2026-04-04 11:06:44 +09:00

44 lines
1007 B
TypeScript

import type { Metadata } from 'next';
import StyledComponentsRegistry from '@/lib/registry';
import GlobalStyle from '@/styles/GlobalStyle';
import Sidebar from '@/components/common/Sidebar';
import styled from 'styled-components';
export const metadata: Metadata = {
title: '하나랑 대시보드',
description: '4자매 멀티에이전트 파이프라인 관제 대시보드',
};
const LayoutRoot = styled.div`
display: flex;
min-height: 100vh;
background: #0D1117;
`;
const MainContent = styled.main`
flex: 1;
margin-left: 220px;
min-height: 100vh;
transition: margin-left 0.2s ease;
`;
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="ko">
<body>
<StyledComponentsRegistry>
<GlobalStyle />
<LayoutRoot>
<Sidebar />
<MainContent>{children}</MainContent>
</LayoutRoot>
</StyledComponentsRegistry>
</body>
</html>
);
}