diff --git a/apps/meteor/client/components/voip/modal/WrapUpCallModal.tsx b/apps/meteor/client/components/voip/modal/WrapUpCallModal.tsx
index 104fd5427070..31a4d07a294f 100644
--- a/apps/meteor/client/components/voip/modal/WrapUpCallModal.tsx
+++ b/apps/meteor/client/components/voip/modal/WrapUpCallModal.tsx
@@ -3,7 +3,6 @@ import { useSetModal, useTranslation } from '@rocket.chat/ui-contexts';
import React, { ReactElement, useEffect } from 'react';
import { useForm, SubmitHandler } from 'react-hook-form';
-import { useCallCloseRoom } from '../../../contexts/CallContext';
import Tags from '../../Omnichannel/Tags';
type WrapUpCallPayload = {
@@ -11,9 +10,12 @@ type WrapUpCallPayload = {
tags?: string[];
};
-export const WrapUpCallModal = (): ReactElement => {
+type WrapUpCallModalProps = {
+ closeRoom: (data?: { comment?: string; tags?: string[] }) => void;
+};
+
+export const WrapUpCallModal = ({ closeRoom }: WrapUpCallModalProps): ReactElement => {
const setModal = useSetModal();
- const closeRoom = useCallCloseRoom();
const closeModal = (): void => setModal(null);
const t = useTranslation();
diff --git a/apps/meteor/client/providers/CallProvider/CallProvider.tsx b/apps/meteor/client/providers/CallProvider/CallProvider.tsx
index fc6c9120b807..ba1e359e4acd 100644
--- a/apps/meteor/client/providers/CallProvider/CallProvider.tsx
+++ b/apps/meteor/client/providers/CallProvider/CallProvider.tsx
@@ -12,7 +12,7 @@ import {
isVoipEventCallAbandoned,
} from '@rocket.chat/core-typings';
import { useMutableCallback } from '@rocket.chat/fuselage-hooks';
-import { useRoute, useUser, useSetting, useEndpoint, useStream } from '@rocket.chat/ui-contexts';
+import { useRoute, useUser, useSetting, useEndpoint, useStream, useSetModal } from '@rocket.chat/ui-contexts';
import { Random } from 'meteor/random';
import React, { useMemo, FC, useRef, useCallback, useEffect, useState } from 'react';
import { createPortal } from 'react-dom';
@@ -21,8 +21,7 @@ import { OutgoingByeRequest } from 'sip.js/lib/core';
import { CustomSounds } from '../../../app/custom-sounds/client';
import { getUserPreference } from '../../../app/utils/client';
import { WrapUpCallModal } from '../../components/voip/modal/WrapUpCallModal';
-import { CallContext, CallContextValue } from '../../contexts/CallContext';
-import { imperativeModal } from '../../lib/imperativeModal';
+import { CallContext, CallContextValue, useCallCloseRoom } from '../../contexts/CallContext';
import { roomCoordinator } from '../../lib/rooms/roomCoordinator';
import { QueueAggregator } from '../../lib/voip/QueueAggregator';
import { useVoipClient } from './hooks/useVoipClient';
@@ -45,6 +44,7 @@ export const CallProvider: FC = ({ children }) => {
const voipEnabled = useSetting('VoIP_Enabled');
const subscribeToNotifyUser = useStream('notify-user');
const dispatchEvent = useEndpoint('POST', '/v1/voip/events');
+ const setModal = useSetModal();
const result = useVoipClient();
const user = useUser();
@@ -56,8 +56,8 @@ export const CallProvider: FC = ({ children }) => {
const [queueName, setQueueName] = useState('');
const openWrapUpModal = useCallback((): void => {
- imperativeModal.open({ component: WrapUpCallModal });
- }, []);
+ setModal(() => );
+ }, [setModal]);
const [queueAggregator, setQueueAggregator] = useState();
diff --git a/apps/meteor/client/providers/MeteorProvider.tsx b/apps/meteor/client/providers/MeteorProvider.tsx
index 8504a59b8b15..ef0e5885cf7c 100644
--- a/apps/meteor/client/providers/MeteorProvider.tsx
+++ b/apps/meteor/client/providers/MeteorProvider.tsx
@@ -32,13 +32,13 @@ const MeteorProvider: FC = ({ children }) => (
-
-
-
+
+
+
{children}
-
-
-
+
+
+