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

@@ -6,24 +6,8 @@
* Main entry point for Swift - the Contextual UI EPD.
*/
import { useSwiftStore } from '@/stores/swift-store';
import { CommandCenter } from '@/components/swift';
export default function SwiftPage() {
const { activeBlock } = useSwiftStore();
return (
<CommandCenter>
{activeBlock ? (
<div className="text-slate-400">Block: {activeBlock}</div>
) : (
<div className="text-center text-slate-500 max-w-md">
<p className="text-lg mb-2">Wat wil je doen?</p>
<p className="text-sm text-slate-600">
Typ of spreek je intentie, bijvoorbeeld: &quot;notitie jan medicatie&quot;
</p>
</div>
)}
</CommandCenter>
);
return <CommandCenter />;
}