import { useCalls } from "@/app/providers/CallProvider/useCalls"; import { useUserInformation } from "@/app/providers/InformationProvider/useUserInformation"; import { Box, Flex, Loader, Text } from "@mantine/core"; import classes from "./ActiveCall.module.css"; import { CallState } from "@/app/providers/CallProvider/CallProvider"; import { IconMicrophone, IconMicrophoneOff, IconPhoneX, IconVolume, IconVolumeOff } from "@tabler/icons-react"; import { translateDurationToTime } from "@/app/providers/CallProvider/translateDurationTime"; export function ActiveCall() { const {activeCall, callState, duration, muted, sound, close, setMuted, setSound, setShowCallView} = useCalls(); const [userInfo] = useUserInformation(activeCall); //const colors = useRosettaColors(); if(activeCall == ""){ return <> } const getConnectingClass = () => { if(callState === CallState.CONNECTING || callState === CallState.INCOMING || callState === CallState.KEY_EXCHANGE || callState === CallState.WEB_RTC_EXCHANGE){ return classes.connecting; } if(callState === CallState.ACTIVE){ return classes.active; } return ""; } return ( <> setShowCallView(true)}> {!muted && ( { e.stopPropagation(); setMuted(true); }} size={16} color={'#fff'}> )} {muted && ( { e.stopPropagation(); setMuted(false); }} size={16} color={'#fff'}> )} {userInfo?.title || activeCall} {callState === CallState.CONNECTING && ( )} {callState == CallState.ACTIVE && ( {translateDurationToTime(duration)} )} {sound && ( { e.stopPropagation(); setSound(false) }} color={'#fff'}> )} {!sound && ( { e.stopPropagation(); setSound(true) }} color={'#fff'}> )} { e.stopPropagation(); close(); }} size={16} color={'#fff'}> ); }