--- phase: 28-profile-and-logto-integration plan: 03 subsystem: client, server tags: [navigation, auth, logto-config] key-files: created: [] modified: - src/client/components/UserMenu.tsx - src/server/routes/auth.ts - src/client/hooks/useAuth.ts metrics: tasks: 1/2 commits: 1 files-changed: 3 --- # Plan 28-03 Summary: Navigation, /me Extension, Logto Configuration ## What Was Built 1. **Profile navigation link** — Added "Profile" entry to UserMenu dropdown (above Settings), using circle-user icon from curated Lucide set. Only visible to authenticated users. 2. **Extended /me endpoint** — Returns `createdAt` field from user record for member-since display on profile page. Formatted as ISO string. 3. **AuthState type update** — Added optional `createdAt?: string` to the client-side AuthState interface. ## Task 2: Logto Console Configuration (PENDING - Human Action Required) The following must be configured manually in the Logto admin console: - D-07: Sign-in page branding (logo, colors, custom CSS) - D-08: Custom domain (auth.gearbox.de) — optional - D-09: Google and GitHub social sign-in connectors - D-10: Email verification required at signup - D-11: Password policy (8+ chars, mixed case, number) ## Commits | # | Hash | Description | |---|------|-------------| | 1 | 1b00134 | feat(28-03): add profile navigation link and extend /me with createdAt | ## Deviations - Task 2 (Logto Console config) is a human-action checkpoint — cannot be automated. Instructions are documented in the plan. ## Self-Check: PASSED - [x] UserMenu has Profile link pointing to /profile - [x] /me endpoint returns createdAt field - [x] AuthState interface includes createdAt - [x] Lint passes - [x] All project tests pass (storage failures are pre-existing)