diff options
| author | soryu <soryu@soryu.co> | 2026-02-03 18:29:54 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-02-03 18:29:54 +0000 |
| commit | 1ce281adb89683a5fccfd153706383b14b944f32 (patch) | |
| tree | 4d7eed114d31b99401c492301665c7aa36bccc5f /frontend/src/components/ContractCreateModal.tsx | |
| parent | 6a00463f77b46bc078ba43f77ca2723b76c25aca (diff) | |
| download | soryu-1ce281adb89683a5fccfd153706383b14b944f32.tar.gz soryu-1ce281adb89683a5fccfd153706383b14b944f32.zip | |
feat(frontend): Implement DiscussContractModal for chat-based contract creation
Add a new modal component that allows users to have a natural conversation
with Makima to define and create contracts:
- Create DiscussContractModal component with:
- Chat interface with message history
- Integration with useSpeakWebSocket for TTS
- Auto-scroll to latest messages
- Context-aware greeting based on transcript existence
- Loading state and error handling
- Contract creation success banner
- ChatBubble sub-component with speak button
- Add discussContract API function and types in api.ts:
- DiscussContractRequest, DiscussContractResponse, CreatedContractInfo
- Update ContractPickerModal with 'Discuss Contract' option
- Update ControlPanel to pass onDiscussContract prop
- Integrate DiscussContractModal into listen page:
- Add modal state and open/close handlers
- Extract transcript context for conversation
- Handle contract creation callback
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'frontend/src/components/ContractCreateModal.tsx')
0 files changed, 0 insertions, 0 deletions
