Skip to content

Commit 314c467

Browse files
committed
wip: add freeze counter
1 parent d26194b commit 314c467

File tree

3 files changed

+22
-21
lines changed

3 files changed

+22
-21
lines changed

packages/webui/src/client/styles/countdown/director.scss

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ $hold-status-color: $liveline-timecode-color;
200200
.director-screen__body__part__piece-countdown {
201201
grid-row: inherit;
202202
text-align: left;
203-
font-size: 13em; // Allow a fallback for CasparCG
203+
font-size: 13em;
204204
font-size: #{'min(13em, 8vw)'};
205205
padding: 0 0.2em;
206206
line-height: 1em;
@@ -209,11 +209,16 @@ $hold-status-color: $liveline-timecode-color;
209209
color: $general-late-color;
210210
}
211211

212-
> img.freeze-icon {
213-
width: 0.9em;
214-
height: 0.9em;
215-
margin-left: -0.05em;
216-
margin-top: -0.05em;
212+
.freeze-counter {
213+
font-size: 3.3rem;
214+
color: #00bfff;
215+
margin-left: 4vw;
216+
}
217+
img.freeze-counter-icon {
218+
width: 1.4em;
219+
height: 1.4em;
220+
vertical-align: middle;
221+
display: inline-block;
217222
}
218223
}
219224
}

packages/webui/src/client/ui/ClockView/ClockViewPieceIcons/ClockViewPieceCountdown.tsx renamed to packages/webui/src/client/ui/ClockView/ClockViewPieceIcons/ClockViewFreezeCount.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useSubscription, useTracker } from '../../../lib/ReactMeteorData/ReactM
22
import { SourceLayerType, VTContent } from '@sofie-automation/blueprints-integration'
33
import { MeteorPubSub } from '@sofie-automation/meteor-lib/dist/api/pubsub'
44
import { findPieceInstanceToShow } from './utils'
5-
import { Timediff } from '../../ClockView/Timediff'
5+
import { Timediff } from '../Timediff'
66
import { getCurrentTime } from '../../../lib/systemTime'
77
import {
88
PartInstanceId,
@@ -33,7 +33,7 @@ const supportedLayers = new Set([
3333
SourceLayerType.CAMERA,
3434
])
3535

36-
export function PieceCountdownContainer(props: Readonly<IPropsHeader>): JSX.Element | null {
36+
export function PieceFreezeContainer(props: Readonly<IPropsHeader>): JSX.Element | null {
3737
const { pieceInstance, sourceLayer } = useTracker(
3838
() => findPieceInstanceToShow(props, supportedLayers),
3939
[props.partInstanceId, props.showStyleBaseId],
@@ -69,7 +69,7 @@ export function PieceCountdownContainer(props: Readonly<IPropsHeader>): JSX.Elem
6969
return (
7070
<>
7171
<Timediff time={freezeCountdown} />
72-
<img className="freeze-icon" src="/icons/freeze-presenter-screen.svg" />
72+
<img className="freeze-counter-icon" src="/icons/freeze-presenter-screen.svg" />
7373
</>
7474
)
7575
}

packages/webui/src/client/ui/ClockView/DirectorScreen.tsx

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ import { PieceIconContainer } from './ClockViewPieceIcons/ClockViewPieceIcon'
1212
import { PieceNameContainer } from './ClockViewPieceIcons/ClockViewPieceName'
1313
import { Timediff } from './Timediff'
1414
import { RundownUtils } from '../../lib/rundown'
15-
import { CountdownType, PieceLifespan } from '@sofie-automation/blueprints-integration'
15+
import { PieceLifespan } from '@sofie-automation/blueprints-integration'
1616
import { DBPart } from '@sofie-automation/corelib/dist/dataModel/Part'
17-
import { PieceCountdownContainer } from '../PieceIcons/PieceCountdown'
17+
import { PieceFreezeContainer } from './ClockViewPieceIcons/ClockViewFreezeCount'
1818
import { PlaylistTiming } from '@sofie-automation/corelib/dist/playout/rundownTiming'
1919
import {
2020
RundownId,
@@ -348,8 +348,8 @@ function DirectorScreenRender({
348348
useSetDocumentClass('dark', 'xdark')
349349

350350
if (playlist && playlistId && segments) {
351-
// const currentPartOrSegmentCountdown =
352-
// timingDurations.remainingBudgetOnCurrentSegment ?? timingDurations.remainingTimeOnCurrentPart ?? 0
351+
const currentPartOrSegmentCountdown =
352+
timingDurations.remainingBudgetOnCurrentSegment ?? timingDurations.remainingTimeOnCurrentPart ?? 0
353353

354354
const expectedStart = PlaylistTiming.getExpectedStart(playlist.timing) || 0
355355
const expectedEnd = PlaylistTiming.getExpectedEnd(playlist.timing)
@@ -451,13 +451,9 @@ function DirectorScreenRender({
451451
/>
452452
</div>
453453
<div className="director-screen__body__part__piece-countdown">
454-
{currentSegment?.segmentTiming?.countdownType === CountdownType.SEGMENT_BUDGET_DURATION ? (
455-
<CurrentPartOrSegmentRemaining
456-
currentPartInstanceId={currentPartInstance.instance._id}
457-
heavyClassName="overtime"
458-
/>
459-
) : (
460-
<PieceCountdownContainer
454+
<Timediff time={currentPartOrSegmentCountdown} />
455+
<span className="freeze-counter">
456+
<PieceFreezeContainer
461457
partInstanceId={currentPartInstance.instance._id}
462458
showStyleBaseId={currentShowStyleBaseId}
463459
rundownIds={rundownIds}
@@ -468,7 +464,7 @@ function DirectorScreenRender({
468464
partStartedPlayback={currentPartInstance.instance.timings?.plannedStartedPlayback}
469465
playlistActivationId={playlist?.activationId}
470466
/>
471-
)}
467+
</span>
472468
</div>
473469
</div>
474470
</>

0 commit comments

Comments
 (0)