@ -3,7 +3,7 @@ import { animation, contextMenu, Item, Menu } from 'react-contexify';
import { InputItem } from '../../session/utils/calling/CallManager' ;
import { setFullScreenCall } from '../../state/ducks/call' ;
import { CallManager , ToastUtils } from '../../session/utils' ;
import React from 'react' ;
import React , { useEffect , useState } from 'react' ;
import { useDispatch , useSelector } from 'react-redux' ;
import { getHasOngoingCallWithPubkey } from '../../state/selectors/call' ;
import { DropDownAndToggleButton } from '../icon/DropDownAndToggleButton' ;
@ -317,7 +317,7 @@ const handleSpeakerToggle = async (
}
} ;
const StyledCallWindowControls = styled . div `
const StyledCallWindowControls = styled . div < { makeVisible : boolean } > `
position : absolute ;
bottom : 0px ;
@ -335,10 +335,7 @@ const StyledCallWindowControls = styled.div`
display : flex ;
justify - content : center ;
opacity : 0 ;
& : hover {
opacity : 1 ;
}
opacity : $ { props = > ( props . makeVisible ? 1 : 0 ) } ;
` ;
export const CallWindowControls = ( {
@ -360,8 +357,27 @@ export const CallWindowControls = ({
currentConnectedCameras : Array < InputItem > ;
isFullScreen : boolean ;
} ) = > {
const [ makeVisible , setMakeVisible ] = useState ( true ) ;
const setMakeVisibleTrue = ( ) = > {
setMakeVisible ( true ) ;
} ;
const setMakeVisibleFalse = ( ) = > {
setMakeVisible ( false ) ;
} ;
useEffect ( ( ) = > {
setMakeVisibleTrue ( ) ;
document . addEventListener ( 'mouseenter' , setMakeVisibleTrue ) ;
document . addEventListener ( 'mouseleave' , setMakeVisibleFalse ) ;
return ( ) = > {
document . removeEventListener ( 'mouseenter' , setMakeVisibleTrue ) ;
document . removeEventListener ( 'mouseleave' , setMakeVisibleFalse ) ;
} ;
} , [ isFullScreen ] ) ;
return (
< StyledCallWindowControls >
< StyledCallWindowControls makeVisible = { makeVisible } >
{ ! remoteStreamVideoIsMuted && < ShowInFullScreenButton isFullScreen = { isFullScreen } / > }
< VideoInputButton