specs login

This commit is contained in:
colinislit
2025-11-18 16:50:17 +01:00
parent d4079b66c5
commit 114e7d200d

View File

@@ -24,8 +24,8 @@ Het huidige login scherm heeft Magic Link als primaire methode, maar voor een **
**Gewenste situatie:** **Gewenste situatie:**
- Email + Password formulier als primair scherm - Email + Password formulier als primair scherm
- One-click demo login prominent zichtbaar - One-click demo login prominent zichtbaar
- Magic Link als alternatieve optie onderaan - Magic Link als minimale fallback (kleine link onderaan)
- Alle opties altijd zichtbaar (geen toggle) - Focus op snelheid: Quick Demo button is de CTA
**Context:** **Context:**
- Dit is een DEMO platform, geen productie EPD - Dit is een DEMO platform, geen productie EPD
@@ -98,19 +98,26 @@ app/login/page.tsx - Volledige UI refactor
| Story ID | Beschrijving | Acceptatiecriteria | Status | Afhankelijkheden | Story Points | | Story ID | Beschrijving | Acceptatiecriteria | Status | Afhankelijkheden | Story Points |
|----------|--------------|---------------------|--------|------------------|-----------------| |----------|--------------|---------------------|--------|------------------|-----------------|
| E1.S1 | Verwijder conditional toggle logic | `showDemoLogin` state verwijderd, geen toggle buttons meer | ⏳ | — | 2 | | E1.S1 | Verwijder conditional toggle logic | `showDemoLogin` state verwijderd, geen toggle buttons meer | ⏳ | — | 2 |
| E1.S2 | Herstructureer page layout | Email+Password bovenaan, Magic Link onderaan met divider | ⏳ | E1.S1 | 3 | | E1.S2 | Herstructureer page layout | Email+Password primair, Magic Link achter kleine link | ⏳ | E1.S1 | 3 |
| E1.S3 | Update copy & labels | Primaire form heet "Login", Magic Link "Alternatieve optie" | ⏳ | E1.S2 | 1 | | E1.S3 | Update copy & labels | Focus op Quick Demo, Magic Link minimaal | ⏳ | E1.S2 | 1 |
**Technical Notes:** **Technical Notes:**
**E1.S1 - Toggle Logic Verwijderen:** **E1.S1 - Toggle Logic Aanpassen:**
```typescript ```typescript
// VERWIJDER: // VERWIJDER:
const [showDemoLogin, setShowDemoLogin] = useState(false) const [showDemoLogin, setShowDemoLogin] = useState(false)
// VERWIJDER buttons: // VERVANG door:
const [showMagicLink, setShowMagicLink] = useState(false)
// VERWIJDER oude toggle buttons:
<button onClick={() => setShowDemoLogin(true)}>Login met Demo Account</button> <button onClick={() => setShowDemoLogin(true)}>Login met Demo Account</button>
<button onClick={() => setShowDemoLogin(false)}> Terug</button> <button onClick={() => setShowDemoLogin(false)}> Terug</button>
// NIEUWE logic:
// Default = Email+Password form zichtbaar
// showMagicLink = true → Toon Magic Link form in plaats van password form
``` ```
**E1.S2 - Layout Herstructureren:** **E1.S2 - Layout Herstructureren:**
@@ -129,21 +136,27 @@ NIEUWE STRUCTUUR:
│ │ │ │
│ [Demo Credentials Info Box - E2.S2] │ │ [Demo Credentials Info Box - E2.S2] │
│ │ │ │
─────────── of ─────────── Liever zonder wachtwoord?
[Gebruik magic link →]
│ Gebruik Magic Link (geen wachtwoord) │
│ Email: [________________] │
│ [Stuur Magic Link] │
└─────────────────────────────────────────┘ └─────────────────────────────────────────┘
MAGIC LINK FLOW (na click op link):
- Conditional state: showMagicLink = true
- Toon email input + "Stuur Magic Link" button
- "← Terug naar login" link
``` ```
**E1.S3 - Copy Updates:** **E1.S3 - Copy Updates:**
```typescript ```typescript
// OUD → NIEUW // OUD → NIEUW
"🔑 Demo Account Login" "Login" "🔑 Demo Account Login" "Login"
"📧 Login met Magic Link" "Of gebruik Magic Link" "📧 Login met Magic Link" [VERBORGEN achter link]
"Login met Demo Account" [VERWIJDERD - QuickDemoButton vervangt dit] "Login met Demo Account" [VERWIJDERD - QuickDemoButton vervangt dit]
"Snelle Demo Login" "🚀 Start Demo" (in QuickDemoButton) "Snelle Demo Login" "🚀 Start Demo (geen registratie)"
// NIEUW
"Liever zonder wachtwoord?" Link onderaan
"Gebruik magic link →" Toont magic link formulier
``` ```
--- ---
@@ -335,9 +348,10 @@ function QuickDemoButton() {
**Functional Requirements:** **Functional Requirements:**
- Email + Password is primair formulier (bovenaan pagina) - Email + Password is primair formulier (bovenaan pagina)
- Quick demo button werkt (one-click login) - Quick demo button werkt (one-click login)
- Magic Link optie blijft beschikbaar (onderaan) - Magic Link optie minimaal zichtbaar (kleine link)
- Demo credentials info box zichtbaar - Demo credentials info box zichtbaar
- Alle 3 login methoden getest en werkend - Alle 3 login methoden getest en werkend
- Focus op Quick Demo als primaire CTA
**Quality Requirements:** **Quality Requirements:**
- Geen console errors/warnings - Geen console errors/warnings