Adds AdminApp as a lazy-loaded route subtree in App.tsx, mounting ProtectedRoute, AdminLogin, AdminLayout, and all five CRUD pages built in Tasks 3-11. Mounted as a sibling of the public Layout route (not nested under it), since the admin panel has its own AdminLayout sidebar rather than the public nav/footer. Manually verified end-to-end against the local Supabase stack: sign-in redirect guard, all five pages rendering real seeded data, creating and cancelling a real booking through the UI (confirming the booked_slots cleanup trigger from the merged Phase 2A follow-up fixes correctly frees the slot), and sign-out. No console errors across the flow. Claude-Session: https://claude.ai/code/session_01NhxA4npAXAxmCDEJt6kxSH
38 lines
481 B
Plaintext
38 lines
481 B
Plaintext
# Logs
|
|
logs
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
pnpm-debug.log*
|
|
lerna-debug.log*
|
|
|
|
node_modules
|
|
dist
|
|
dist-ssr
|
|
*.local
|
|
|
|
# Environment variables
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
|
|
# Editor directories and files
|
|
.vscode/*
|
|
!.vscode/extensions.json
|
|
.idea
|
|
.DS_Store
|
|
.superpowers/
|
|
*.suo
|
|
*.ntvs*
|
|
*.njsproj
|
|
*.sln
|
|
*.sw?
|
|
|
|
# Supabase CLI local artifacts
|
|
supabase/.branches
|
|
supabase/.temp
|
|
|
|
# Playwright MCP scratch output (screenshots, console logs, page snapshots)
|
|
.playwright-mcp/
|