Files
gridpilot.gg/apps/website/templates/layout/RootAppShellTemplate.tsx
2026-01-26 17:56:11 +01:00

43 lines
1.1 KiB
TypeScript

import { AppFooter } from '@/components/layout/AppFooter';
import { AppHeader } from '@/components/layout/AppHeader';
import { AppSidebar } from '@/components/layout/AppSidebar';
import { SidebarProvider } from '@/components/layout/SidebarContext';
import { ViewData } from '@/lib/contracts/view-data/ViewData';
import { Box } from '@/ui/Box';
import { Layout } from '@/ui/Layout';
import React from 'react';
export interface RootAppShellViewData extends ViewData {
children: React.ReactNode;
}
/**
* RootAppShellTemplate orchestrates the top-level semantic shells of the application.
* Redesigned for the "Cockpit" layout.
*/
export function RootAppShellTemplate({ children }: RootAppShellViewData) {
return (
<SidebarProvider>
<Layout
header={<AppHeader />}
sidebar={<AppSidebar />}
footer={<AppFooter />}
fixedHeader={true}
fixedSidebar={true}
fixedFooter={true}
>
<Box
width="full"
className="max-w-[1920px] mx-auto"
px={8}
py={8}
>
{children}
</Box>
</Layout>
</SidebarProvider>
);
}