@@ -4,7 +4,7 @@ import { ParsedQuery, parse as queryStringParse } from 'query-string'
44import { Translated , translateWithTracker , useTracker } from '../lib/ReactMeteorData/react-meteor-data.js'
55import { VTContent , NoteSeverity , ISourceLayer } from '@sofie-automation/blueprints-integration'
66import { Spinner } from '../lib/Spinner.js'
7- import ClassNames from 'classnames'
7+ import classNames from 'classnames'
88import * as _ from 'underscore'
99import { Prompt } from 'react-router-dom'
1010import { DBRundownPlaylist , QuickLoopMarker } from '@sofie-automation/corelib/dist/dataModel/RundownPlaylist'
@@ -285,8 +285,14 @@ export function RundownView(props: Readonly<IProps>): JSX.Element {
285285 partInstances ?. currentPartInstance
286286 )
287287
288+ const hideRundownHeader = params [ 'hideRundownHeader' ] === '1'
289+
288290 return (
289- < div className = "container-fluid header-clear" >
291+ < div
292+ className = { classNames ( 'container-fluid' , 'header-clear' , {
293+ 'header-clear--no-rundown-header' : hideRundownHeader ,
294+ } ) }
295+ >
290296 < RundownViewContent
291297 { ...props }
292298 subsReady = { subsReady }
@@ -305,6 +311,7 @@ export function RundownView(props: Readonly<IProps>): JSX.Element {
305311 { ...selectedRundownLayouts }
306312 uiSegmentMap = { miniShelfData . uiSegmentMap }
307313 miniShelfFilter = { miniShelfData . miniShelfFilter }
314+ hideRundownHeader = { hideRundownHeader }
308315 />
309316 </ div >
310317 )
@@ -313,6 +320,7 @@ export function RundownView(props: Readonly<IProps>): JSX.Element {
313320interface IPropsWithReady extends IProps {
314321 subsReady : boolean
315322 userPermissions : Readonly < UserPermissions >
323+ hideRundownHeader ?: boolean
316324}
317325
318326interface IRundownViewContentSnapshot {
@@ -979,7 +987,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
979987 return (
980988 < ErrorBoundary key = { unprotectString ( segment . _id ) } >
981989 < VirtualElement
982- className = { ClassNames ( {
990+ className = { classNames ( {
983991 'segment-timeline-wrapper--hidden' : segment . isHidden ,
984992 'segment-timeline-wrapper--shelf' : segment . showShelf ,
985993 } ) }
@@ -1083,7 +1091,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
10831091 case SegmentViewMode . Storyboard :
10841092 return < SegmentStoryboardContainer { ...resolvedSegmentProps } />
10851093 case SegmentViewMode . List :
1086- return < SegmentListContainer { ...resolvedSegmentProps } />
1094+ return < SegmentListContainer { ...resolvedSegmentProps } hideRundownHeader = { this . props . hideRundownHeader } />
10871095 case SegmentViewMode . Timeline :
10881096 default :
10891097 return < SegmentTimelineContainer { ...resolvedSegmentProps } />
@@ -1320,7 +1328,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
13201328 { ( selectionContext ) => {
13211329 return (
13221330 < div
1323- className = { ClassNames ( 'rundown-view' , {
1331+ className = { classNames ( 'rundown-view' , {
13241332 'notification-center-open' : this . state . isNotificationsCenterOpen !== undefined ,
13251333 'rundown-view--studio-mode' : this . props . userPermissions . studio ,
13261334 'properties-panel-open' : selectionContext . listSelectedElements ( ) . length > 0 ,
@@ -1336,20 +1344,22 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
13361344 this . props . userPermissions . studio &&
13371345 studio . settings . enableEvaluationForm && < AfterBroadcastForm playlist = { playlist } /> }
13381346 </ ErrorBoundary >
1339- < ErrorBoundary >
1340- < RundownHeader
1341- playlist = { playlist }
1342- studio = { studio }
1343- rundownIds = { this . props . rundowns . map ( ( r ) => r . _id ) }
1344- firstRundown = { this . props . rundowns [ 0 ] }
1345- onActivate = { this . onActivate }
1346- inActiveRundownView = { this . props . inActiveRundownView }
1347- currentRundown = { currentRundown }
1348- layout = { this . props . selectedHeaderLayout }
1349- showStyleBase = { showStyleBase }
1350- showStyleVariant = { showStyleVariant }
1351- />
1352- </ ErrorBoundary >
1347+ { ! this . props . hideRundownHeader && (
1348+ < ErrorBoundary >
1349+ < RundownHeader
1350+ playlist = { playlist }
1351+ studio = { studio }
1352+ rundownIds = { this . props . rundowns . map ( ( r ) => r . _id ) }
1353+ firstRundown = { this . props . rundowns [ 0 ] }
1354+ onActivate = { this . onActivate }
1355+ inActiveRundownView = { this . props . inActiveRundownView }
1356+ currentRundown = { currentRundown }
1357+ layout = { this . props . selectedHeaderLayout }
1358+ showStyleBase = { showStyleBase }
1359+ showStyleVariant = { showStyleVariant }
1360+ />
1361+ </ ErrorBoundary >
1362+ ) }
13531363 < ErrorBoundary >
13541364 < Shelf
13551365 isExpanded = {
@@ -1369,7 +1379,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
13691379 { this . props . userPermissions . studio && ! Settings . disableBlurBorder && (
13701380 < KeyboardFocusIndicator userPermissions = { this . props . userPermissions } >
13711381 < div
1372- className = { ClassNames ( 'rundown-view__focus-lost-frame' , {
1382+ className = { classNames ( 'rundown-view__focus-lost-frame' , {
13731383 'rundown-view__focus-lost-frame--reduce-animation' : import . meta. env . DEV ,
13741384 } ) }
13751385 > </ div >
@@ -1393,6 +1403,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
13931403 studioRouteSetExclusivityGroups = { studio . routeSetExclusivityGroups }
13941404 onStudioRouteSetSwitch = { this . onStudioRouteSetSwitch }
13951405 onSegmentViewMode = { this . onSegmentViewModeChange }
1406+ hideRundownHeader = { this . props . hideRundownHeader }
13961407 />
13971408 </ ErrorBoundary >
13981409 < ErrorBoundary >
@@ -1408,7 +1419,10 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
14081419 < ErrorBoundary >
14091420 < AnimatePresence >
14101421 { this . state . isNotificationsCenterOpen && (
1411- < NotificationCenterPanel filter = { this . state . isNotificationsCenterOpen } />
1422+ < NotificationCenterPanel
1423+ filter = { this . state . isNotificationsCenterOpen }
1424+ hideRundownHeader = { this . props . hideRundownHeader }
1425+ />
14121426 ) }
14131427 { ! this . state . isNotificationsCenterOpen && selectionContext . listSelectedElements ( ) . length > 0 && (
14141428 < div >
0 commit comments