feat(swift): E1 Command Center voltooid

E1.S1 Command Center layout:
- 4-zone layout (context, canvas, recent, input)
- Keyboard shortcuts (⌘K focus, Escape close)
- CanvasArea met empty state + voorbeelden

E1.S2 Context Bar:
- Shift indicator met icons per dienst
- Patient chip met avatar + clear button
- Terug naar EPD link

E1.S3 Command Input:
- Dynamic placeholder op basis van context
- Send button (verschijnt bij input)
- Focus state met ring

E1.S4 Voice Input:
- useSwiftVoice hook (wraps Deepgram)
- Real-time waveform visualisatie
- Streaming transcript naar input

E1.S5 Recent Strip:
- Intent-based chips met icons + kleuren
- Relative time (zojuist, 5m, 2u)
- Click-to-repeat functionaliteit
- Quick hints bij lege state

Bouwplan bijgewerkt: E0+E1 done (21/68 SP, 31%)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
colinislit
2025-12-23 22:44:39 +01:00
parent 1592979dd9
commit 7f91e048f3
10 changed files with 619 additions and 94 deletions

View File

@@ -129,14 +129,14 @@ lib/
| Epic ID | Titel | Doel | Status | Stories | Effort |
|---------|-------|------|--------|---------|--------|
| E0 | Setup & Foundation | Zustand, routing, base layout | ⏳ To Do | 4 | 8 SP |
| E1 | Command Center | Input, voice, context bar | ⏳ To Do | 5 | 13 SP |
| E0 | Setup & Foundation | Zustand, routing, base layout | Done | 4 | 8 SP |
| E1 | Command Center | Input, voice, context bar | Done | 5 | 13 SP |
| E2 | Intent Classification | Local + AI fallback | ⏳ To Do | 4 | 10 SP |
| E3 | P1 Blocks | Dagnotitie, Zoeken, Overdracht | ⏳ To Do | 6 | 21 SP |
| E4 | Navigation & Auth | Login keuze, routing, preferences | ⏳ To Do | 4 | 8 SP |
| E5 | Polish & Testing | Animaties, error handling, tests | ⏳ To Do | 4 | 8 SP |
**Totaal: 27 stories, 68 story points**
**Totaal: 27 stories, 68 story points (21 SP done, 47 SP remaining)**
**Belangrijk:**
- Bouw per epic en per story, niet alles tegelijk
@@ -152,10 +152,10 @@ lib/
| Story ID | Beschrijving | Acceptatiecriteria | Status | Afh. | SP |
|----------|--------------|---------------------|--------|------|----|
| E0.S1 | Zustand installeren | `pnpm add zustand` succesvol, import werkt | | — | 1 |
| E0.S2 | Swift store opzetten | `stores/swift-store.ts` met basis state | | E0.S1 | 2 |
| E0.S3 | Swift route aanmaken | `/epd/swift` route met eigen layout | | E0.S2 | 2 |
| E0.S4 | Swift folder structuur | `components/swift/`, `lib/swift/` aangemaakt | | E0.S3 | 3 |
| E0.S1 | Zustand installeren | `pnpm add zustand` succesvol, import werkt | | — | 1 |
| E0.S2 | Swift store opzetten | `stores/swift-store.ts` met basis state | | E0.S1 | 2 |
| E0.S3 | Swift route aanmaken | `/epd/swift` route met eigen layout | | E0.S2 | 2 |
| E0.S4 | Swift folder structuur | `components/swift/`, `lib/swift/` aangemaakt | | E0.S3 | 3 |
**Technical Notes:**
```bash
@@ -192,11 +192,11 @@ interface SwiftStore {
| Story ID | Beschrijving | Acceptatiecriteria | Status | Afh. | SP |
|----------|--------------|---------------------|--------|------|----|
| E1.S1 | Command Center layout | 4-zone layout (context, canvas, recent, input) | | E0.S4 | 3 |
| E1.S2 | Context Bar | Dienst, patiënt dropdown, user info | | E1.S1 | 2 |
| E1.S3 | Command Input | Tekst input met placeholder, focus state | | E1.S1 | 2 |
| E1.S4 | Voice Input integratie | Deepgram streaming in command input | | E1.S3 | 3 |
| E1.S5 | Recent Strip | Laatste 5 acties als chips | | E1.S1 | 3 |
| E1.S1 | Command Center layout | 4-zone layout (context, canvas, recent, input) | | E0.S4 | 3 |
| E1.S2 | Context Bar | Dienst, patiënt dropdown, user info | | E1.S1 | 2 |
| E1.S3 | Command Input | Tekst input met placeholder, focus state | | E1.S1 | 2 |
| E1.S4 | Voice Input integratie | Deepgram streaming in command input | | E1.S3 | 3 |
| E1.S5 | Recent Strip | Laatste 5 acties als chips | | E1.S1 | 3 |
**Technical Notes:**
```
@@ -530,3 +530,4 @@ Een epic is **Done** wanneer:
| Versie | Datum | Auteur | Wijziging |
|--------|-------|--------|-----------|
| v1.0 | 23-12-2024 | Colin Lit | Initiële versie |
| v1.1 | 23-12-2024 | Claude | E0 + E1 voltooid (21 SP) |