multica/packages/ui/src/components
Naiyuan Qing 2f5dbcdde9 feat(ui): add QR code scanner to ConnectPrompt
Add browser-based QR scanning as an alternative to paste mode in the
ConnectPrompt component. Mobile users can scan the Desktop QR code
directly instead of manually copying connection codes.

- Add qr-scanner dependency (WebWorker-based decoding, BarcodeDetector support)
- Create use-qr-scanner hook wrapping camera lifecycle and cleanup
- Create QrScannerView component with viewfinder overlay
- ConnectPrompt auto-detects mobile (touch + narrow viewport) and defaults to scan mode
- Lazy-load scanner component for zero initial bundle impact
- Graceful fallback to paste mode on permission denial or no camera

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 15:41:12 +08:00
..
markdown refactor(ui): split Chat into focused components with skeleton loading 2026-02-04 10:12:51 +08:00
ui feat(desktop): add UI components for Tools and Skills management 2026-02-03 18:25:30 +08:00
app-sidebar.tsx feat(ui): add onSubmit/disabled props to ChatInput, convert AppSidebar to children slot 2026-01-30 22:40:56 +08:00
chat-input.tsx fix(ui): improve disabled state cursor and no-agent empty state 2026-01-30 22:45:53 +08:00
chat-skeleton.tsx refactor(ui): split Chat into focused components with skeleton loading 2026-02-04 10:12:51 +08:00
chat.tsx refactor(ui): split Chat into focused components with skeleton loading 2026-02-04 10:12:51 +08:00
component-example.tsx refactor(frontend): extract shared stores and components into packages 2026-02-02 10:37:17 +08:00
connect-prompt.tsx feat(ui): add QR code scanner to ConnectPrompt 2026-02-04 15:41:12 +08:00
example.tsx refactor(ui): reorganize components into ui/ subdirectory and share layout 2026-01-30 11:34:09 +08:00
message-list.tsx refactor(ui): split Chat into focused components with skeleton loading 2026-02-04 10:12:51 +08:00
qr-scanner-view.tsx feat(ui): add QR code scanner to ConnectPrompt 2026-02-04 15:41:12 +08:00
spinner.tsx feat(ui): add Spinner component from multica 2026-01-30 21:01:48 +08:00
theme-provider.tsx feat(ui): add light/dark theme toggle in sidebar 2026-01-30 21:21:31 +08:00
theme-toggle.tsx feat(ui): add light/dark theme toggle in sidebar 2026-01-30 21:21:31 +08:00