@@ -4,7 +4,7 @@ import { ParsedQuery, parse as queryStringParse } from 'query-string'
4
4
import { Translated , translateWithTracker , useTracker } from '../lib/ReactMeteorData/react-meteor-data.js'
5
5
import { VTContent , NoteSeverity , ISourceLayer } from '@sofie-automation/blueprints-integration'
6
6
import { Spinner } from '../lib/Spinner.js'
7
- import ClassNames from 'classnames'
7
+ import classNames from 'classnames'
8
8
import * as _ from 'underscore'
9
9
import { Prompt } from 'react-router-dom'
10
10
import { DBRundownPlaylist , QuickLoopMarker } from '@sofie-automation/corelib/dist/dataModel/RundownPlaylist'
@@ -285,8 +285,14 @@ export function RundownView(props: Readonly<IProps>): JSX.Element {
285
285
partInstances ?. currentPartInstance
286
286
)
287
287
288
+ const hideRundownHeader = params [ 'hideRundownHeader' ] === '1'
289
+
288
290
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
+ >
290
296
< RundownViewContent
291
297
{ ...props }
292
298
subsReady = { subsReady }
@@ -305,6 +311,7 @@ export function RundownView(props: Readonly<IProps>): JSX.Element {
305
311
{ ...selectedRundownLayouts }
306
312
uiSegmentMap = { miniShelfData . uiSegmentMap }
307
313
miniShelfFilter = { miniShelfData . miniShelfFilter }
314
+ hideRundownHeader = { hideRundownHeader }
308
315
/>
309
316
</ div >
310
317
)
@@ -313,6 +320,7 @@ export function RundownView(props: Readonly<IProps>): JSX.Element {
313
320
interface IPropsWithReady extends IProps {
314
321
subsReady : boolean
315
322
userPermissions : Readonly < UserPermissions >
323
+ hideRundownHeader ?: boolean
316
324
}
317
325
318
326
interface IRundownViewContentSnapshot {
@@ -979,7 +987,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
979
987
return (
980
988
< ErrorBoundary key = { unprotectString ( segment . _id ) } >
981
989
< VirtualElement
982
- className = { ClassNames ( {
990
+ className = { classNames ( {
983
991
'segment-timeline-wrapper--hidden' : segment . isHidden ,
984
992
'segment-timeline-wrapper--shelf' : segment . showShelf ,
985
993
} ) }
@@ -1083,7 +1091,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
1083
1091
case SegmentViewMode . Storyboard :
1084
1092
return < SegmentStoryboardContainer { ...resolvedSegmentProps } />
1085
1093
case SegmentViewMode . List :
1086
- return < SegmentListContainer { ...resolvedSegmentProps } />
1094
+ return < SegmentListContainer { ...resolvedSegmentProps } hideRundownHeader = { this . props . hideRundownHeader } />
1087
1095
case SegmentViewMode . Timeline :
1088
1096
default :
1089
1097
return < SegmentTimelineContainer { ...resolvedSegmentProps } />
@@ -1320,7 +1328,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
1320
1328
{ ( selectionContext ) => {
1321
1329
return (
1322
1330
< div
1323
- className = { ClassNames ( 'rundown-view' , {
1331
+ className = { classNames ( 'rundown-view' , {
1324
1332
'notification-center-open' : this . state . isNotificationsCenterOpen !== undefined ,
1325
1333
'rundown-view--studio-mode' : this . props . userPermissions . studio ,
1326
1334
'properties-panel-open' : selectionContext . listSelectedElements ( ) . length > 0 ,
@@ -1336,20 +1344,22 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
1336
1344
this . props . userPermissions . studio &&
1337
1345
studio . settings . enableEvaluationForm && < AfterBroadcastForm playlist = { playlist } /> }
1338
1346
</ 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
+ ) }
1353
1363
< ErrorBoundary >
1354
1364
< Shelf
1355
1365
isExpanded = {
@@ -1369,7 +1379,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
1369
1379
{ this . props . userPermissions . studio && ! Settings . disableBlurBorder && (
1370
1380
< KeyboardFocusIndicator userPermissions = { this . props . userPermissions } >
1371
1381
< div
1372
- className = { ClassNames ( 'rundown-view__focus-lost-frame' , {
1382
+ className = { classNames ( 'rundown-view__focus-lost-frame' , {
1373
1383
'rundown-view__focus-lost-frame--reduce-animation' : import . meta. env . DEV ,
1374
1384
} ) }
1375
1385
> </ div >
@@ -1393,6 +1403,7 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
1393
1403
studioRouteSetExclusivityGroups = { studio . routeSetExclusivityGroups }
1394
1404
onStudioRouteSetSwitch = { this . onStudioRouteSetSwitch }
1395
1405
onSegmentViewMode = { this . onSegmentViewModeChange }
1406
+ hideRundownHeader = { this . props . hideRundownHeader }
1396
1407
/>
1397
1408
</ ErrorBoundary >
1398
1409
< ErrorBoundary >
@@ -1408,7 +1419,10 @@ const RundownViewContent = translateWithTracker<IPropsWithReady & ITrackedProps,
1408
1419
< ErrorBoundary >
1409
1420
< AnimatePresence >
1410
1421
{ this . state . isNotificationsCenterOpen && (
1411
- < NotificationCenterPanel filter = { this . state . isNotificationsCenterOpen } />
1422
+ < NotificationCenterPanel
1423
+ filter = { this . state . isNotificationsCenterOpen }
1424
+ hideRundownHeader = { this . props . hideRundownHeader }
1425
+ />
1412
1426
) }
1413
1427
{ ! this . state . isNotificationsCenterOpen && selectionContext . listSelectedElements ( ) . length > 0 && (
1414
1428
< div >
0 commit comments