# 04. Layout Components — Navbar, Footer, PageContainer, AppShell meta: id: shieldai-unified-restructure-04 feature: shieldai-unified-restructure priority: P0 depends_on: [shieldai-unified-restructure-01, shieldai-unified-restructure-02, shieldai-unified-restructure-03] tags: [frontend, layout, navigation, solidjs] objective: - Build the structural layout components that wrap every page: a responsive navbar with navigation and auth state, a footer, a page container for consistent padding/max-width, and an AppShell that composes them all with the theme background. deliverables: - `web/src/components/layout/Navbar.tsx` — Responsive nav with: - ShieldAI logo/wordmark (SVG) - Navigation links: Features, Pricing, Blog, Dashboard - Auth buttons: Sign In (secondary), Get Started (primary) - Mobile hamburger menu with slide-out drawer - Theme toggle button (light/dark/system) - Scroll-aware background blur/glass effect when scrolled - `web/src/components/layout/Footer.tsx` — Multi-column footer with: - Logo and tagline - Link columns: Product, Company, Resources, Legal - Social links (GitHub, Twitter/X, LinkedIn placeholders) - Copyright and privacy/terms links - `web/src/components/layout/PageContainer.tsx` — Wrapper with: - `max-width` and centered layout - Responsive horizontal padding (`px-4 md:px-6 lg:px-8`) - Optional vertical padding prop - `class` prop for additional overrides - `web/src/components/layout/AppShell.tsx` — Root layout component: - Renders ``, `
{children}
`, `