Phases 28-31 archived to milestones/v2.2-phases/ Requirements and roadmap snapshots archived to milestones/ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
---
|
|
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)
|