feat(call, voicemail, ivr): add voicemail and IVR call flows with DTMF handling, prompt playback, recording, and dashboard management

This commit is contained in:
2026-04-10 08:54:46 +00:00
parent 6ecd3f434c
commit e6bd64a534
25 changed files with 3892 additions and 10 deletions

View File

@@ -72,6 +72,8 @@ export interface IAppState {
contacts: IContact[];
selectedContact: IContact | null;
logLines: string[];
/** Unheard voicemail count per voicebox ID. */
voicemailCounts: Record<string, number>;
}
const MAX_LOG = 200;
@@ -89,6 +91,7 @@ class AppStateManager {
contacts: [],
selectedContact: null,
logLines: [],
voicemailCounts: {},
};
private listeners = new Set<(state: IAppState) => void>();
@@ -155,6 +158,7 @@ class AppStateManager {
calls: m.data.calls || [],
callHistory: m.data.callHistory || [],
contacts: m.data.contacts || [],
voicemailCounts: m.data.voicemailCounts || {},
});
} else if (m.type === 'log') {
this.addLog(`${m.ts} ${m.data.message}`);