Reduce code reuse in handleJoin

This commit is contained in:
Gigiaj 2025-05-23 13:57:01 -05:00
parent e220387b3f
commit 872e9a257f

View file

@ -237,6 +237,13 @@ export function CallProvider({ children }: CallProviderProps) {
const handleJoin = (ev: CustomEvent) => { const handleJoin = (ev: CustomEvent) => {
ev.preventDefault(); ev.preventDefault();
const setViewedAsActive = () => {
setActiveClientWidgetApi(viewedClientWidgetApi, viewedCallRoomId);
setActiveCallRoomIdState(viewedCallRoomId);
setViewedClientWidgetApi(null, null);
setIsPrimaryIframe(!isPrimaryIframe);
setIsCallActive(true);
};
activeClientWidgetApi?.transport.reply(ev.detail, {}); activeClientWidgetApi?.transport.reply(ev.detail, {});
if (ev.detail.widgetId === activeClientWidgetApi?.widget.id) { if (ev.detail.widgetId === activeClientWidgetApi?.widget.id) {
@ -247,21 +254,13 @@ export function CallProvider({ children }: CallProviderProps) {
if (isCallActive && viewedClientWidgetApi) { if (isCallActive && viewedClientWidgetApi) {
activeClientWidgetApi?.removeAllListeners(); activeClientWidgetApi?.removeAllListeners();
activeClientWidgetApi?.transport.send(WIDGET_HANGUP_ACTION, {}).then(() => { activeClientWidgetApi?.transport.send(WIDGET_HANGUP_ACTION, {}).then(() => {
setActiveClientWidgetApi(viewedClientWidgetApi, viewedCallRoomId); setViewedAsActive();
setActiveCallRoomIdState(viewedCallRoomId);
setViewedClientWidgetApi(null, null);
setIsPrimaryIframe(!isPrimaryIframe);
setIsCallActive(true);
}); });
} else { } else {
setIsCallActive(true); setIsCallActive(true);
} }
} else { } else {
setIsPrimaryIframe(!isPrimaryIframe); setViewedAsActive();
setActiveClientWidgetApi(viewedClientWidgetApi, viewedCallRoomId);
setActiveCallRoomIdState(viewedCallRoomId);
setViewedClientWidgetApi(null, null);
setIsCallActive(true);
} }
}; };