1- import { NavLink , Route , Switch , useRouteMatch } from 'react-router-dom'
1+ import { NavLink , Route , Switch , useLocation , useRouteMatch } from 'react-router-dom'
2+ import { parse as queryStringParse } from 'query-string'
23import { useSubscription , useTracker } from '../lib/ReactMeteorData/ReactMeteorData.js'
34
45import { Spinner } from '../lib/Spinner.js'
56import { RundownView } from './RundownView.js'
7+ import { StudioScreenSaver } from './StudioScreenSaver/StudioScreenSaver.js'
68import { MeteorPubSub } from '@sofie-automation/meteor-lib/dist/api/pubsub'
79import { UIStudios } from './Collections.js'
810import type { StudioId } from '@sofie-automation/corelib/dist/dataModel/Ids'
@@ -14,6 +16,8 @@ export function ActiveRundownView({ studioId }: Readonly<{ studioId: StudioId }>
1416 const { t } = useTranslation ( )
1517
1618 const { path } = useRouteMatch ( )
19+ const { search } = useLocation ( )
20+ const lockView = queryStringParse ( search ) [ 'lockView' ] === '1'
1721
1822 const studioReady = useSubscription ( MeteorPubSub . uiStudio , studioId )
1923 const playlistReady = useSubscription ( MeteorPubSub . rundownPlaylistForStudio , studioId , true )
@@ -48,6 +52,9 @@ export function ActiveRundownView({ studioId }: Readonly<{ studioId: StudioId }>
4852 </ Switch >
4953 )
5054 } else if ( studio ) {
55+ if ( lockView ) {
56+ return < StudioScreenSaver studioId = { studioId } ownBackground = { true } screenName = { t ( 'Rundown View' ) } />
57+ }
5158 return < NotFoundMessage message = { t ( 'There is no rundown active in this studio.' ) } />
5259 } else if ( studioId ) {
5360 return < NotFoundMessage message = { t ( "This studio doesn't exist." ) } />
0 commit comments