 adminandClaude Sonnet 4.6
|
c3ba543ebb
|
feat: add protected role dashboard placeholders
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AWxyMibCuGGtSQSqfajDQ7
|
2026-07-09 22:32:29 +08:00 |
|
 adminandClaude Sonnet 4.6
|
559859470b
|
feat: add login page and auth callback route
- Replace default Next.js home with role-aware root redirect
- Add email/password login form (client component, signInWithPassword)
- Add auth callback route for Supabase code exchange
- Login page at /login, callback at /api/auth/callback
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AWxyMibCuGGtSQSqfajDQ7
|
2026-07-09 22:18:21 +08:00 |
|
 adminandClaude Sonnet 4.6
|
05daf70177
|
feat: add database schema migrations and seed data
8 SQL migration files covering all 10 tables, RLS policies with
SECURITY DEFINER helpers, and seed data for SCW1 site + 3 zones.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AWxyMibCuGGtSQSqfajDQ7
|
2026-07-09 21:44:24 +08:00 |
|
 adminandClaude Sonnet 4.6
|
6939a21183
|
feat: add user role types and auth middleware
- lib/auth/roles.ts: UserRole union, ALL_ROLES, ROLE_HOME, getRoleHome, isValidRole (pure, no Supabase imports)
- __tests__/lib/auth/roles.test.ts: 8 TDD tests (written before implementation)
- middleware.ts: createServerClient with request.cookies pattern, unauthenticated redirect to /login, role-based redirect on / and /login
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AWxyMibCuGGtSQSqfajDQ7
|
2026-07-09 21:39:32 +08:00 |
|
admin
|
9b5b21381f
|
chore: fix layout metadata and mark Task 1 complete in ledger
|
2026-07-09 21:37:23 +08:00 |
|
admin
|
f83686fcca
|
chore: scaffold Next.js 15 + Supabase clients + vitest
|
2026-07-09 21:33:59 +08:00 |
|