Added some tooltips

master
Håvar Aambø Fosstveit 2019-04-01 15:27:36 +02:00
parent 49ebf5330b
commit a33e3df783
1 changed files with 153 additions and 113 deletions

View File

@ -7,6 +7,7 @@ import classnames from 'classnames';
import * as appPropTypes from '../appPropTypes'; import * as appPropTypes from '../appPropTypes';
import { withRoomContext } from '../../RoomContext'; import { withRoomContext } from '../../RoomContext';
import Fab from '@material-ui/core/Fab'; import Fab from '@material-ui/core/Fab';
import Tooltip from '@material-ui/core/Tooltip';
// import Avatar from '@material-ui/core/Avatar'; // import Avatar from '@material-ui/core/Avatar';
import MicIcon from '@material-ui/icons/Mic'; import MicIcon from '@material-ui/icons/Mic';
import MicOffIcon from '@material-ui/icons/MicOff'; import MicOffIcon from '@material-ui/icons/MicOff';
@ -78,41 +79,67 @@ const Sidebar = (props) =>
let micState; let micState;
if (!me.canSendMic) let micTip;
micState = 'unsupported';
else if (!micProducer) if (!me.canSendMic || !micProducer)
{
micState = 'unsupported'; micState = 'unsupported';
micTip = 'Audio unsupported';
}
else if (!micProducer.locallyPaused && !micProducer.remotelyPaused) else if (!micProducer.locallyPaused && !micProducer.remotelyPaused)
{
micState = 'on'; micState = 'on';
micTip = 'Mute audio';
}
else else
{
micState = 'off'; micState = 'off';
micTip = 'Unmute audio';
}
let webcamState; let webcamState;
let webcamTip;
if (!me.canSendWebcam) if (!me.canSendWebcam)
{
webcamState = 'unsupported'; webcamState = 'unsupported';
webcamTip = 'Video unsupported';
}
else if (webcamProducer) else if (webcamProducer)
{
webcamState = 'on'; webcamState = 'on';
webcamTip = 'Stop video';
}
else else
{
webcamState = 'off'; webcamState = 'off';
webcamTip = 'Start video';
}
let screenState; let screenState;
let screenTip;
if (me.needExtension) if (me.needExtension)
{ {
screenState = 'need-extension'; screenState = 'need-extension';
screenTip = 'Install screen sharing extension';
} }
else if (!me.canShareScreen) else if (!me.canShareScreen)
{ {
screenState = 'unsupported'; screenState = 'unsupported';
screenTip = 'Screen sharing not supported';
} }
else if (screenProducer) else if (screenProducer)
{ {
screenState = 'on'; screenState = 'on';
screenTip = 'Stop screen sharing';
} }
else else
{ {
screenState = 'off'; screenState = 'off';
screenTip = 'Start screen sharing';
} }
const smallScreen = useMediaQuery(theme.breakpoints.down('sm')); const smallScreen = useMediaQuery(theme.breakpoints.down('sm'));
@ -123,6 +150,7 @@ const Sidebar = (props) =>
classnames(classes.root, toolbarsVisible ? classes.show : classes.hide) classnames(classes.root, toolbarsVisible ? classes.show : classes.hide)
} }
> >
<Tooltip title={micTip} placement={smallScreen ? 'top' : 'right'}>
<Fab <Fab
aria-label='Mute mic' aria-label='Mute mic'
className={classes.fab} className={classes.fab}
@ -141,6 +169,8 @@ const Sidebar = (props) =>
<MicOffIcon /> <MicOffIcon />
} }
</Fab> </Fab>
</Tooltip>
<Tooltip title={webcamTip} placement={smallScreen ? 'top' : 'right'}>
<Fab <Fab
aria-label='Mute video' aria-label='Mute video'
className={classes.fab} className={classes.fab}
@ -159,6 +189,8 @@ const Sidebar = (props) =>
<VideoOffIcon /> <VideoOffIcon />
} }
</Fab> </Fab>
</Tooltip>
<Tooltip title={screenTip} placement={smallScreen ? 'top' : 'right'}>
<Fab <Fab
aria-label='Share screen' aria-label='Share screen'
className={classes.fab} className={classes.fab}
@ -204,7 +236,12 @@ const Sidebar = (props) =>
:null :null
} }
</Fab> </Fab>
</Tooltip>
<Tooltip
title={locked ? 'Unlock room' : 'Lock room'}
placement={smallScreen ? 'top' : 'right'}
>
<Fab <Fab
aria-label='Room lock' aria-label='Room lock'
className={classes.fab} className={classes.fab}
@ -228,6 +265,7 @@ const Sidebar = (props) =>
<LockOpenIcon /> <LockOpenIcon />
} }
</Fab> </Fab>
</Tooltip>
{ /* <Fab { /* <Fab
aria-label='Raise hand' aria-label='Raise hand'
@ -240,6 +278,7 @@ const Sidebar = (props) =>
<Avatar alt='Hand' src={me.raiseHand ? HandOn : HandOff} /> <Avatar alt='Hand' src={me.raiseHand ? HandOn : HandOff} />
</Fab> */ } </Fab> */ }
<Tooltip title='Leave meeting' placement={smallScreen ? 'top' : 'right'}>
<Fab <Fab
aria-label='Leave meeting' aria-label='Leave meeting'
className={classes.fab} className={classes.fab}
@ -249,6 +288,7 @@ const Sidebar = (props) =>
> >
<LeaveIcon /> <LeaveIcon />
</Fab> </Fab>
</Tooltip>
</div> </div>
); );
}; };