Small cleanups here and there.

master
Håvar Aambø Fosstveit 2019-10-23 12:15:22 +02:00
parent 98b902c5f8
commit 79ecaf7408
12 changed files with 68 additions and 97 deletions

View File

@ -96,7 +96,7 @@ class HiddenPeers extends React.PureComponent
onClick={() => openUsersTab()} onClick={() => openUsersTab()}
> >
<p>+{hiddenPeersCount} <br /> participant <p>+{hiddenPeersCount} <br /> participant
{(hiddenPeersCount === 1) ? null : 's'} {(hiddenPeersCount > 1) && 's'}
</p> </p>
</div> </div>
); );

View File

@ -332,13 +332,11 @@ const Me = (props) =>
} }
}} }}
> >
{ screenState === 'on' || screenState === 'unsupported' ? { (screenState === 'on' || screenState === 'unsupported') &&
<ScreenOffIcon/> <ScreenOffIcon/>
:null
} }
{ screenState === 'off' ? { screenState === 'off' &&
<ScreenIcon/> <ScreenIcon/>
:null
} }
</Fab> </Fab>
</div> </div>
@ -351,10 +349,10 @@ const Me = (props) =>
peer={me} peer={me}
displayName={settings.displayName} displayName={settings.displayName}
showPeerInfo showPeerInfo
videoTrack={webcamProducer ? webcamProducer.track : null} videoTrack={webcamProducer && webcamProducer.track}
videoVisible={videoVisible} videoVisible={videoVisible}
audioCodec={micProducer ? micProducer.codec : null} audioCodec={micProducer && micProducer.codec}
videoCodec={webcamProducer ? webcamProducer.codec : null} videoCodec={webcamProducer && webcamProducer.codec}
onChangeDisplayName={(displayName) => onChangeDisplayName={(displayName) =>
{ {
roomClient.changeDisplayName(displayName); roomClient.changeDisplayName(displayName);
@ -364,9 +362,9 @@ const Me = (props) =>
</VideoView> </VideoView>
</div> </div>
</div> </div>
{ screenProducer ? { screenProducer &&
<div <div
className={classnames(classes.root, 'screen', hover ? 'hover' : null)} className={classnames(classes.root, 'screen', hover && 'hover')}
onMouseOver={() => setHover(true)} onMouseOver={() => setHover(true)}
onMouseOut={() => setHover(false)} onMouseOut={() => setHover(false)}
onTouchStart={() => onTouchStart={() =>
@ -390,7 +388,7 @@ const Me = (props) =>
> >
<div className={classnames(classes.viewContainer)} style={style}> <div className={classnames(classes.viewContainer)} style={style}>
<div <div
className={classnames(classes.controls, hover ? 'hover' : null)} className={classnames(classes.controls, hover && 'hover')}
onMouseOver={() => setHover(true)} onMouseOver={() => setHover(true)}
onMouseOut={() => setHover(false)} onMouseOut={() => setHover(false)}
onTouchStart={() => onTouchStart={() =>
@ -420,13 +418,12 @@ const Me = (props) =>
isScreen isScreen
advancedMode={advancedMode} advancedMode={advancedMode}
videoContain videoContain
videoTrack={screenProducer ? screenProducer.track : null} videoTrack={screenProducer && screenProducer.track}
videoVisible={screenVisible} videoVisible={screenVisible}
videoCodec={screenProducer ? screenProducer.codec : null} videoCodec={screenProducer && screenProducer.codec}
/> />
</div> </div>
</div> </div>
:null
} }
</React.Fragment> </React.Fragment>
); );

View File

@ -166,8 +166,8 @@ const Peer = (props) =>
classnames( classnames(
classes.root, classes.root,
'webcam', 'webcam',
hover ? 'hover' : null, hover && 'hover',
activeSpeaker ? 'active-speaker' : null activeSpeaker && 'active-speaker'
) )
} }
onMouseOver={() => setHover(true)} onMouseOver={() => setHover(true)}
@ -192,15 +192,14 @@ const Peer = (props) =>
style={rootStyle} style={rootStyle}
> >
<div className={classnames(classes.viewContainer)}> <div className={classnames(classes.viewContainer)}>
{ !videoVisible ? { !videoVisible &&
<div className={classes.videoInfo}> <div className={classes.videoInfo}>
<p>this video is paused</p> <p>this video is paused</p>
</div> </div>
:null
} }
<div <div
className={classnames(classes.controls, hover ? 'hover' : null)} className={classnames(classes.controls, hover && 'hover')}
onMouseOver={() => setHover(true)} onMouseOver={() => setHover(true)}
onMouseOut={() => setHover(false)} onMouseOut={() => setHover(false)}
onTouchStart={() => onTouchStart={() =>
@ -241,7 +240,7 @@ const Peer = (props) =>
} }
</Fab> </Fab>
{ !smallScreen ? { !smallScreen &&
<Fab <Fab
aria-label='New window' aria-label='New window'
className={classes.fab} className={classes.fab}
@ -257,7 +256,6 @@ const Peer = (props) =>
> >
<NewWindowIcon /> <NewWindowIcon />
</Fab> </Fab>
:null
} }
<Fab <Fab
@ -279,20 +277,20 @@ const Peer = (props) =>
peer={peer} peer={peer}
displayName={peer.displayName} displayName={peer.displayName}
showPeerInfo showPeerInfo
videoTrack={webcamConsumer ? webcamConsumer.track : null} videoTrack={webcamConsumer && webcamConsumer.track}
videoVisible={videoVisible} videoVisible={videoVisible}
videoProfile={videoProfile} videoProfile={videoProfile}
audioCodec={micConsumer ? micConsumer.codec : null} audioCodec={micConsumer && micConsumer.codec}
videoCodec={webcamConsumer ? webcamConsumer.codec : null} videoCodec={webcamConsumer && webcamConsumer.codec}
> >
<Volume id={peer.id} /> <Volume id={peer.id} />
</VideoView> </VideoView>
</div> </div>
</div> </div>
{ screenConsumer ? { screenConsumer &&
<div <div
className={classnames(classes.root, 'screen', hover ? 'hover' : null)} className={classnames(classes.root, 'screen', hover && 'hover')}
onMouseOver={() => setHover(true)} onMouseOver={() => setHover(true)}
onMouseOut={() => setHover(false)} onMouseOut={() => setHover(false)}
onTouchStart={() => onTouchStart={() =>
@ -314,17 +312,16 @@ const Peer = (props) =>
}} }}
style={rootStyle} style={rootStyle}
> >
{ !screenVisible ? { !screenVisible &&
<div className={classes.videoInfo}> <div className={classes.videoInfo}>
<p>this video is paused</p> <p>this video is paused</p>
</div> </div>
:null
} }
{ screenVisible ? { screenVisible &&
<div className={classnames(classes.viewContainer)}> <div className={classnames(classes.viewContainer)}>
<div <div
className={classnames(classes.controls, hover ? 'hover' : null)} className={classnames(classes.controls, hover && 'hover')}
onMouseOver={() => setHover(true)} onMouseOver={() => setHover(true)}
onMouseOut={() => setHover(false)} onMouseOut={() => setHover(false)}
onTouchStart={() => onTouchStart={() =>
@ -346,7 +343,7 @@ const Peer = (props) =>
}, 2000); }, 2000);
}} }}
> >
{ !smallScreen ? { !smallScreen &&
<Fab <Fab
aria-label='New window' aria-label='New window'
className={classes.fab} className={classes.fab}
@ -362,7 +359,6 @@ const Peer = (props) =>
> >
<NewWindowIcon /> <NewWindowIcon />
</Fab> </Fab>
:null
} }
<Fab <Fab
@ -381,16 +377,14 @@ const Peer = (props) =>
<VideoView <VideoView
advancedMode={advancedMode} advancedMode={advancedMode}
videoContain videoContain
videoTrack={screenConsumer ? screenConsumer.track : null} videoTrack={screenConsumer && screenConsumer.track}
videoVisible={screenVisible} videoVisible={screenVisible}
videoProfile={screenProfile} videoProfile={screenProfile}
videoCodec={screenConsumer ? screenConsumer.codec : null} videoCodec={screenConsumer && screenConsumer.codec}
/> />
</div> </div>
:null
} }
</div> </div>
:null
} }
</React.Fragment> </React.Fragment>
); );

View File

@ -117,11 +117,10 @@ const SpeakerPeer = (props) =>
style={spacingStyle} style={spacingStyle}
> >
<div className={classnames(classes.viewContainer)} style={style}> <div className={classnames(classes.viewContainer)} style={style}>
{ !videoVisible ? { !videoVisible &&
<div className={classes.videoInfo}> <div className={classes.videoInfo}>
<p>this video is paused</p> <p>this video is paused</p>
</div> </div>
:null
} }
<VideoView <VideoView
@ -140,18 +139,17 @@ const SpeakerPeer = (props) =>
</div> </div>
</div> </div>
{ screenConsumer ? { screenConsumer &&
<div <div
className={classnames(classes.root, 'screen')} className={classnames(classes.root, 'screen')}
> >
{ !screenVisible ? { !screenVisible &&
<div className={classes.videoInfo} style={style}> <div className={classes.videoInfo} style={style}>
<p>this video is paused</p> <p>this video is paused</p>
</div> </div>
:null
} }
{ screenVisible ? { screenVisible &&
<div className={classnames(classes.viewContainer)} style={style}> <div className={classnames(classes.viewContainer)} style={style}>
<VideoView <VideoView
advancedMode={advancedMode} advancedMode={advancedMode}
@ -162,10 +160,8 @@ const SpeakerPeer = (props) =>
videoCodec={screenConsumer ? screenConsumer.codec : null} videoCodec={screenConsumer ? screenConsumer.codec : null}
/> />
</div> </div>
:null
} }
</div> </div>
:null
} }
</React.Fragment> </React.Fragment>
); );

View File

@ -66,11 +66,27 @@ const JoinDialog = ({
paper : classes.dialogPaper paper : classes.dialogPaper
}} }}
> >
{ window.config.logo ? { window.config.logo &&
<img alt='Logo' className={classes.logo} src={window.config.logo} /> <img alt='Logo' className={classes.logo} src={window.config.logo} />
:null
} }
<Typography variant='subtitle1'>You are about to join a meeting, how would you like to join?</Typography> <Typography variant='subtitle1'>
You are about to join a meeting.
Set your name that others will see,
and chose how you want to join?
</Typography>
<TextField
id='displayname'
label='Name'
className={classes.textField}
value={displayName}
onChange={(event) =>
{
const { value } = event.target;
changeDisplayName(value);
}}
margin='normal'
/>
<DialogActions> <DialogActions>
<Button <Button
onClick={() => onClick={() =>
@ -90,19 +106,6 @@ const JoinDialog = ({
> >
Audio and Video Audio and Video
</Button> </Button>
<TextField
id='displayname'
label='Name'
className={classes.textField}
value={displayName}
onChange={(event) =>
{
const { value } = event.target;
changeDisplayName(value);
}}
margin='normal'
/>
</DialogActions> </DialogActions>
</Dialog> </Dialog>
</div> </div>

View File

@ -67,7 +67,7 @@ class File extends React.PureComponent
<img alt='Avatar' className={classes.avatar} src={picture} /> <img alt='Avatar' className={classes.avatar} src={picture} />
<div className={classes.fileContent}> <div className={classes.fileContent}>
{ file.files ? { file.files &&
<Fragment> <Fragment>
<Typography className={classes.text}> <Typography className={classes.text}>
File finished downloading File finished downloading
@ -92,13 +92,12 @@ class File extends React.PureComponent
</div> </div>
))} ))}
</Fragment> </Fragment>
:null
} }
<Typography className={classes.text}> <Typography className={classes.text}>
{ `${displayName} shared a file` } { `${displayName} shared a file` }
</Typography> </Typography>
{ !file.active && !file.files ? { (!file.active && !file.files) &&
<div className={classes.fileInfo}> <div className={classes.fileInfo}>
<Typography className={classes.text}> <Typography className={classes.text}>
{ magnet.decode(magnetUri).dn } { magnet.decode(magnetUri).dn }
@ -121,20 +120,17 @@ class File extends React.PureComponent
</Typography> </Typography>
} }
</div> </div>
:null
} }
{ file.timeout ? { file.timeout &&
<Typography className={classes.text}> <Typography className={classes.text}>
If this process takes a long time, there might not be anyone seeding If this process takes a long time, there might not be anyone seeding
this torrent. Try asking someone to reupload the file that you want. this torrent. Try asking someone to reupload the file that you want.
</Typography> </Typography>
:null
} }
{ file.active ? { file.active &&
<progress value={file.progress} /> <progress value={file.progress} />
:null
} }
</div> </div>
</div> </div>

View File

@ -91,9 +91,8 @@ const ListMe = (props) =>
</div> </div>
<div className={classes.indicators}> <div className={classes.indicators}>
{ me.raisedHand ? { me.raisedHand &&
<div className={classnames(classes.icon, 'raise-hand')} /> <div className={classnames(classes.icon, 'raise-hand')} />
:null
} }
</div> </div>
</div> </div>

View File

@ -159,7 +159,7 @@ const ListPeer = (props) =>
{peer.displayName} {peer.displayName}
</div> </div>
<div className={classes.indicators}> <div className={classes.indicators}>
{ peer.raiseHandState ? { peer.raiseHandState &&
<div className={ <div className={
classnames( classnames(
classes.icon, 'raise-hand', { classes.icon, 'raise-hand', {
@ -169,12 +169,11 @@ const ListPeer = (props) =>
) )
} }
/> />
:null
} }
</div> </div>
{children} {children}
<div className={classes.controls}> <div className={classes.controls}>
{ screenConsumer ? { screenConsumer &&
<div <div
className={classnames(classes.button, 'screen', { className={classnames(classes.button, 'screen', {
on : screenVisible, on : screenVisible,
@ -195,7 +194,6 @@ const ListPeer = (props) =>
<ScreenOffIcon /> <ScreenOffIcon />
} }
</div> </div>
:null
} }
<div <div
className={classnames(classes.button, 'mic', { className={classnames(classes.button, 'mic', {

View File

@ -153,11 +153,10 @@ class Democratic extends React.PureComponent
/> />
); );
})} })}
{ spotlightsLength < peersLength ? { spotlightsLength < peersLength &&
<HiddenPeers <HiddenPeers
hiddenPeersCount={peersLength - spotlightsLength} hiddenPeersCount={peersLength - spotlightsLength}
/> />
:null
} }
</div> </div>
); );

View File

@ -228,13 +228,12 @@ class Filmstrip extends React.PureComponent
return ( return (
<div className={classes.root}> <div className={classes.root}>
<div className={classes.speaker} ref={this.activePeerContainer}> <div className={classes.speaker} ref={this.activePeerContainer}>
{ peers[activePeerId] ? { peers[activePeerId] &&
<SpeakerPeer <SpeakerPeer
advancedMode={advancedMode} advancedMode={advancedMode}
id={activePeerId} id={activePeerId}
style={speakerStyle} style={speakerStyle}
/> />
:null
} }
</div> </div>
@ -286,11 +285,10 @@ class Filmstrip extends React.PureComponent
</Grid> </Grid>
</div> </div>
{ spotlightsLength<Object.keys(peers).length ? { spotlightsLength<Object.keys(peers).length &&
<HiddenPeers <HiddenPeers
hiddenPeersCount={Object.keys(peers).length-spotlightsLength} hiddenPeersCount={Object.keys(peers).length-spotlightsLength}
/> />
:null
} }
</div> </div>
); );

View File

@ -171,24 +171,17 @@ class VideoView extends React.PureComponent
})} })}
> >
<div className={classes.box}> <div className={classes.box}>
{ audioCodec ? { audioCodec && <p>{audioCodec}</p> }
<p>{audioCodec}</p>
:null
}
{ videoCodec ? { videoCodec && <p>{videoCodec} {videoProfile}</p> }
<p>{videoCodec} {videoProfile}</p>
:null
}
{ (videoVisible && videoWidth !== null) ? { (videoVisible && videoWidth !== null) &&
<p>{videoWidth}x{videoHeight}</p> <p>{videoWidth}x{videoHeight}</p>
:null
} }
</div> </div>
</div> </div>
{ showPeerInfo ? { showPeerInfo &&
<div className={classes.peer}> <div className={classes.peer}>
<div className={classes.box}> <div className={classes.box}>
{ isMe ? { isMe ?
@ -212,17 +205,15 @@ class VideoView extends React.PureComponent
</span> </span>
} }
{ advancedMode ? { advancedMode &&
<div className={classes.deviceInfo}> <div className={classes.deviceInfo}>
<span> <span>
{peer.device.name} {Math.floor(peer.device.version) || null} {peer.device.name} {Math.floor(peer.device.version) || null}
</span> </span>
</div> </div>
:null
} }
</div> </div>
</div> </div>
:null
} }
</div> </div>

View File

@ -130,7 +130,7 @@ class NewWindow extends React.PureComponent
return ReactDOM.createPortal([ return ReactDOM.createPortal([
<div key='newwindow' className={classes.root}> <div key='newwindow' className={classes.root}>
<div className={classes.controls}> <div className={classes.controls}>
{this.fullscreen.fullscreenEnabled && ( { this.fullscreen.fullscreenEnabled &&
<div <div
className={classes.button} className={classes.button}
onClick={this.handleToggleFullscreen} onClick={this.handleToggleFullscreen}
@ -144,9 +144,9 @@ class NewWindow extends React.PureComponent
<FullScreenIcon className={classes.icon} /> <FullScreenIcon className={classes.icon} />
} }
</div> </div>
)} }
</div> </div>
{this.props.children} { this.props.children }
</div> </div>
], this.container); ], this.container);
} }