inspannings-monitor/components/navigation/app-shell.tsx
Madhura68 682305267a Add nav avatar, product icon, spec page and about page updates
- Show profile avatar and formatted name in top nav
- Add product icon to left of brand name in top nav
- Add blue border to ProfileAvatar, add xs size
- Add protected /specificatie page with 5 chapter summaries
- Replace planning button with CV link on about page
- Add Specificatie button on about page
- Show app version + git SHA on about page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 03:00:43 +02:00

31 lines
949 B
TypeScript

import type { ReactNode } from "react";
import { getAuthState } from "@/lib/auth/session";
import { getNavProfileForCurrentUser } from "@/lib/profile/service";
import { BottomNav } from "@/components/navigation/bottom-nav";
import { TopNav } from "@/components/navigation/top-nav";
import { cn } from "@/lib/utils";
type AppShellProps = {
children: ReactNode;
contentClassName?: string;
};
export async function AppShell({
children,
contentClassName,
}: AppShellProps) {
const authState = await getAuthState();
const navProfile = authState.userId
? await getNavProfileForCurrentUser(authState.userId)
: null;
return (
<main className="app-page">
<div className="mx-auto flex min-h-screen w-full max-w-6xl flex-col gap-8">
<TopNav authState={authState} navProfile={navProfile} />
<div className={cn("flex-1", contentClassName)}>{children}</div>
<BottomNav />
</div>
</main>
);
}