Commit Graph

10 Commits

Author SHA1 Message Date
Kartik Datrika
698bdf488a merge conflicts resolved. 2026-03-25 12:15:37 +05:30
Kartik Datrika
2c87a39733 Linting and Formatting 2026-03-23 16:41:58 +05:30
c3b1bfe18e feat: install table + echarts, webhook handler for call records
- Install Untitled UI table component
- Install Apache ECharts (echarts + echarts-for-react)
- Build webhook handler: POST /webhooks/ozonetel/missed-call
  - Parses Ozonetel call event payload
  - Creates Call record in platform
  - Matches caller to Lead by phone number
  - Creates LeadActivity on the lead
  - Updates lead contact timestamps
- Fix table component import paths (@/src/ → @/)
- Make seed scripts configurable for remote deployment

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 12:08:25 +05:30
526ad18159 feat: call desk redesign — 2-panel layout, collapsible sidebar, inline AI, ringtone
- Collapsible sidebar with Jotai atom (icon-only mode, persisted to localStorage)
- 2-panel call desk: worklist (60%) + context panel (40%) with AI + Lead 360 tabs
- Inline AI call prep card — known lead summary or unknown caller script
- Active call card with compact Answer/Decline buttons
- Worklist panel with human-readable labels, priority badges, click-to-select
- Context panel auto-switches to Lead 360 when lead selected or call incoming
- Browser ringtone via Web Audio API on incoming calls
- Sonner + Untitled UI IconNotification for toast system
- apiClient pattern: centralized post/get/graphql with auto-toast on errors
- Remove duplicate avatar from top bar, hide floating widget on call desk
- Fix Link routing in collapsed sidebar (was using <a> causing full page reload)
- Fix GraphQL field names: adStatus→status, platformUrl needs subfield selection
- Silent mode for DataProvider queries to prevent toast spam

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:33:36 +05:30
61901eb8fb feat: wire frontend to platform data, migrate to Jotai + Vercel AI SDK
- Replace mock DataProvider with real GraphQL queries through sidecar
- Add queries.ts and transforms.ts for platform field name mapping
- Migrate SIP state from React Context to Jotai atoms (React 19 compat)
- Add singleton SIP manager to survive StrictMode remounts
- Remove hardcoded Olivia/Sienna accounts from nav menu
- Add password eye toggle, remember me checkbox, forgot password link
- Fix worklist hook to transform platform field names
- Add seed scripts for clinics, health packages, lab tests
- Update test harness for new doctor→clinic relation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:44:45 +05:30
d5feaab75a feat: add JsSIP SIP client and useSipPhone hook for Ozonetel softphone integration 2026-03-17 18:03:31 +05:30
4f9bdc7312 feat: add Socket.IO client and useCallEvents hook for live CTI mode 2026-03-17 09:14:25 +05:30
50388dcad5 feat: switch sidebar icons to FontAwesome Pro duotone 2026-03-16 17:29:41 +05:30
3b68605561 chore: rename package to helix-engage v0.1.0 2026-03-16 15:09:50 +05:30
3a338b33dd chore: initial Untitled UI Vite scaffold with FontAwesome Pro 2026-03-16 14:23:23 +05:30