App screenPro
Voice mode
shadcn add @detent-pro/voice-mode
Detent Voice
Wire it up
All optional. With none, it plays exactly as it does here and hands over to whoever touches it.
Usage
<VoiceMode
call={call}
assistant={assistant}
brief={brief}
onEnd={(summary, seconds, actions, tasks) => {}}
onUndo={(action) => {}}
/>Your data
PropDescriptionDefault
callThe call to play: what each side says, where the person interrupts, the notes and to-dos each line adds, and what the assistant does.
Turn[]Default—
assistantWhat the AI is called, everywhere the screen names it.
stringDefault
'Detent'briefThe page the notes go on: its title, when, and the summary shown when the call ends.
BriefDefault—
What it tells you
PropDescriptionDefault
onEndCalled when the call ends, with how long it ran, what the assistant did, and the to-dos it left.
(summary: { seconds: number; actions: VoiceAction[]; tasks: Task[] }) => voidDefault—
onUndoCalled with something the assistant did that a person undoes.
(action: VoiceAction) => voidDefault—
Every block also takes accent, the one colour everything in it derives from; autoplay, which plays the demo until someone touches it; and className.