import type { Metadata } from 'next'; import StyledComponentsRegistry from '../lib/styled-registry'; import '../styles/globals.css'; import { getSession } from '../lib/auth/session'; export const metadata: Metadata = { title: 'Alabuga Mission Control', description: 'Космический модуль геймификации для пилотов Алабуги' }; export default async function RootLayout({ children }: { children: React.ReactNode }) { // Пробуем получить сессию (если пользователь не авторизован, вернётся null). const session = await getSession(); // Сохраняем подсказки, кто сейчас вошёл и включил ли HR режим «просмотра глазами пилота». const isHr = session?.role === 'hr'; const viewingAsPilot = Boolean(session?.viewAsPilot); // Формируем пункты меню в зависимости от текущего режима. let links: Array<{ href: string; label: string }> = []; if (!session) { links = [{ href: '/login', label: 'Войти' }]; } else if (isHr && !viewingAsPilot) { links = [ { href: '/admin', label: 'HR панель' }, { href: '/admin/view-as', label: 'Просмотр от лица пилота' }, ]; } else { links = [ { href: '/', label: 'Дашборд' }, { href: '/onboarding', label: 'Онбординг' }, { href: '/missions', label: 'Миссии' }, { href: '/journal', label: 'Журнал' }, { href: '/store', label: 'Магазин' }, ]; if (isHr) { // Дополнительный пункт для HR: быстрый выход из режима просмотра. links.push({ href: '/admin/exit-view', label: 'Вернуться к HR' }); } } return (

Mission Control

Путь пилота от искателя до командира космической эскадры

{children}
); }