feat: add layout components (Navbar, Footer, PageContainer, AppShell)

- Navbar: responsive nav with ShieldAI logo, nav links, auth buttons,
  mobile hamburger menu, theme toggle, scroll-aware glass effect
- Footer: multi-column responsive layout with product/company/resources/
  legal links, social icons, copyright bar
- PageContainer: centered wrapper with max-w-7xl and responsive padding
- AppShell: root layout composing Navbar + main + Footer with dot-grid
  background and MetaProvider
- useAuth stub hook for future auth integration (task 23)
- Wire AppShell into app.tsx as Router root
- Unit tests for PageContainer and useAuth
This commit is contained in:
2026-05-25 13:58:42 -04:00
parent 6002ea383b
commit 6981a05de4
8 changed files with 632 additions and 6 deletions

View File

@@ -3,19 +3,17 @@ import { Router } from "@solidjs/router";
import { FileRoutes } from "@solidjs/start/router";
import { Suspense } from "solid-js";
import { useTheme } from "./lib/theme";
import { AppShell } from "./components/layout";
import "./app.css";
export default function App() {
useTheme();
return (
<Router
root={props => (
<MetaProvider>
<Title>SolidStart - Basic</Title>
<a href="/">Index</a>
<a href="/about">About</a>
root={(props) => (
<AppShell>
<Suspense>{props.children}</Suspense>
</MetaProvider>
</AppShell>
)}
>
<FileRoutes />