feat: Phase 1 frontend - auth UI with KITHARA_MODE switch
- Auth API client (src/api/auth.ts): login, register, me, api-key endpoints - AuthContext: React context managing auth state, mode detection, JWT tokens - LoginPage: clean dark-themed login form with error handling - RegisterPage: invite code + registration with password validation - App.tsx: BrowserRouter + AuthProvider wrapper, mode-conditional routing - Single mode: straight to app, no auth required - Multi mode: redirect to /login, auth-gated access - main.tsx: BrowserRouter + AuthProvider initialization - react-router-dom added as dependency - docker-compose.yml: KITHARA_MODE, KITHARA_ADMIN_USER, KITHARA_ADMIN_PASS env vars - requirements.txt: pinned bcrypt==4.0.1 for passlib compatibility - Tested: multi-mode admin bootstrap, JWT login, auth/me round-trip all confirmed
This commit is contained in:
1 parent
b3f273942e
commit
c571e28725
10 files changed
+523
-18
No files matched your search
+4
-1
@@ -10,6 +10,9 @@ services:
|
||||
environment:
|
||||
- LYRIA_API_KEY=${LYRIA_API_KEY}
|
||||
- LYRIA_DEFAULT_MODEL=${LYRIA_DEFAULT_MODEL:-lyria-3-clip-preview}
|
||||
- KITHARA_MODE=${KITHARA_MODE:-single}
|
||||
- KITHARA_ADMIN_USER=${KITHARA_ADMIN_USER:-admin}
|
||||
- KITHARA_ADMIN_PASS=${KITHARA_ADMIN_PASS:-admin}
|
||||
- TZ=${TZ:-America/New_York}
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -21,4 +24,4 @@ services:
|
||||
- "3100:3000"
|
||||
depends_on:
|
||||
- backend
|
||||
restart: unless-stopped
|
||||
restart: unless-stopped
|
||||
Reference in new issue
Block a user