@@ -115,6 +115,12 @@ export interface VideoTileProps
115115 * Boolean variable to specify if stats overlay should be shown
116116 */
117117 showStats ?: boolean ;
118+
119+ /**
120+ * Boolean variable to specify if default overlay and controls should be shown
121+ */
122+ showDefaultOverlayOptions ?: boolean ;
123+
118124}
119125
120126export interface VideoTileClasses extends VideoClasses {
@@ -187,6 +193,7 @@ const Tile = ({
187193 showStats = false ,
188194 compact,
189195 children,
196+ showDefaultOverlayOptions = true ,
190197} : VideoTileProps ) => {
191198 const { appBuilder, tw, tailwindConfig, toast } = useHMSTheme ( ) ;
192199 const hmsActions = useHMSActions ( ) ;
@@ -441,7 +448,7 @@ const Tile = ({
441448 } }
442449 ref = { rootRef }
443450 >
444- { ! peer . isLocal && ( showMenu || showTrigger ) && (
451+ { ! peer . isLocal && ( showMenu || showTrigger ) && showDefaultOverlayOptions && (
445452 < ContextMenu
446453 menuOpen = { showMenu }
447454 onTrigger = { value => setShowMenu ( value ) }
@@ -467,14 +474,14 @@ const Tile = ({
467474 : { objectFit : 'contain' , width : '100%' , height : '100%' }
468475 }
469476 >
470- { isHandRaised && ! showScreen && (
477+ { isHandRaised && ! showScreen && showDefaultOverlayOptions && (
471478 < HandFilledIcon
472479 className = { `${ styler ( 'raiseHand' ) } ` }
473480 width = "40"
474481 height = "40"
475482 />
476483 ) }
477- { showStats && (
484+ { showStats && showDefaultOverlayOptions && (
478485 < VideoTileStats
479486 audioTrackID = { storeHmsAudioTrack ?. id }
480487 videoTrackID = { hmsVideoTrack ?. id || storeHmsVideoTrack ?. id }
@@ -512,14 +519,14 @@ const Tile = ({
512519 : ''
513520 } `}
514521 >
515- { isHandRaised && ! showScreen && (
522+ { isHandRaised && ! showScreen && showDefaultOverlayOptions && (
516523 < HandFilledIcon
517524 className = { `${ styler ( 'raiseHand' ) } ` }
518525 width = "40"
519526 height = "40"
520527 />
521528 ) }
522- { showStats && (
529+ { showStats && showDefaultOverlayOptions && (
523530 < VideoTileStats
524531 audioTrackID = { storeHmsAudioTrack ?. id }
525532 videoTrackID = { hmsVideoTrack ?. id || storeHmsVideoTrack ?. id }
@@ -531,7 +538,7 @@ const Tile = ({
531538 ) }
532539 { controlsComponent ? (
533540 controlsComponent
534- ) : (
541+ ) : showDefaultOverlayOptions && (
535542 // TODO circle controls are broken now
536543 < VideoTileControls
537544 isLocal = { peer . isLocal }
@@ -541,7 +548,7 @@ const Tile = ({
541548 showGradient = { displayShape === 'circle' }
542549 />
543550 ) }
544- { showScreen && showTrigger && (
551+ { showScreen && showTrigger && showDefaultOverlayOptions && (
545552 < div className = { styler ( 'fullScreenControl' ) } >
546553 < Button
547554 key = "fullscreen"
0 commit comments