mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-24 16:39:13 +00:00
refactor: timer overrides do not affect minimal
This commit is contained in:
committed by
Carlos Valente
parent
199ed1617f
commit
4fadb23b07
@@ -230,13 +230,6 @@ export const MINIMAL_TIMER_OPTIONS: ParamField[] = [
|
|||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
id: 'hidemessages',
|
|
||||||
title: 'Hide Message Overlay',
|
|
||||||
description: 'Whether to hide the overlay from showing timer screen messages',
|
|
||||||
type: 'boolean',
|
|
||||||
defaultValue: false,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: 'hideendmessage',
|
id: 'hideendmessage',
|
||||||
title: 'Hide End Message',
|
title: 'Hide End Message',
|
||||||
|
|||||||
@@ -42,42 +42,6 @@
|
|||||||
|
|
||||||
/* =================== OVERLAY ===================*/
|
/* =================== OVERLAY ===================*/
|
||||||
|
|
||||||
.message-overlay {
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
background-color: $viewer-overlay-bg-color;
|
|
||||||
z-index: -1;
|
|
||||||
opacity: 0;
|
|
||||||
transition: $viewer-transition-time;
|
|
||||||
|
|
||||||
&--active {
|
|
||||||
opacity: 1;
|
|
||||||
transition: $viewer-transition-time;
|
|
||||||
transition-property: opacity;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.message {
|
|
||||||
width: inherit;
|
|
||||||
padding: 2vw;
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
color: white;
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
-ms-transform: translate(-50%, -50%);
|
|
||||||
font-size: 15vw;
|
|
||||||
line-height: 30vh;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.end-message {
|
.end-message {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 12vw;
|
font-size: 12vw;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useSearchParams } from 'react-router-dom';
|
import { useSearchParams } from 'react-router-dom';
|
||||||
import { Playback, TimerMessage, TimerType, ViewSettings } from 'ontime-types';
|
import { Playback, TimerType, ViewSettings } from 'ontime-types';
|
||||||
|
|
||||||
import { overrideStylesURL } from '../../../common/api/constants';
|
import { overrideStylesURL } from '../../../common/api/constants';
|
||||||
import { MINIMAL_TIMER_OPTIONS } from '../../../common/components/view-params-editor/constants';
|
import { MINIMAL_TIMER_OPTIONS } from '../../../common/components/view-params-editor/constants';
|
||||||
@@ -15,13 +15,12 @@ import './MinimalTimer.scss';
|
|||||||
|
|
||||||
interface MinimalTimerProps {
|
interface MinimalTimerProps {
|
||||||
isMirrored: boolean;
|
isMirrored: boolean;
|
||||||
pres: TimerMessage;
|
|
||||||
time: ViewExtendedTimer;
|
time: ViewExtendedTimer;
|
||||||
viewSettings: ViewSettings;
|
viewSettings: ViewSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function MinimalTimer(props: MinimalTimerProps) {
|
export default function MinimalTimer(props: MinimalTimerProps) {
|
||||||
const { isMirrored, pres, time, viewSettings } = props;
|
const { isMirrored, time, viewSettings } = props;
|
||||||
const { shouldRender } = useRuntimeStylesheet(viewSettings?.overrideStyles && overrideStylesURL);
|
const { shouldRender } = useRuntimeStylesheet(viewSettings?.overrideStyles && overrideStylesURL);
|
||||||
const { getLocalizedString } = useTranslation();
|
const { getLocalizedString } = useTranslation();
|
||||||
const [searchParams] = useSearchParams();
|
const [searchParams] = useSearchParams();
|
||||||
@@ -117,9 +116,6 @@ export default function MinimalTimer(props: MinimalTimerProps) {
|
|||||||
const hideOvertime = searchParams.get('hideovertime');
|
const hideOvertime = searchParams.get('hideovertime');
|
||||||
userOptions.hideOvertime = isStringBoolean(hideOvertime);
|
userOptions.hideOvertime = isStringBoolean(hideOvertime);
|
||||||
|
|
||||||
const hideMessagesOverlay = searchParams.get('hidemessages');
|
|
||||||
userOptions.hideMessagesOverlay = isStringBoolean(hideMessagesOverlay);
|
|
||||||
|
|
||||||
const hideEndMessage = searchParams.get('hideendmessage');
|
const hideEndMessage = searchParams.get('hideendmessage');
|
||||||
userOptions.hideEndMessage = isStringBoolean(hideEndMessage);
|
userOptions.hideEndMessage = isStringBoolean(hideEndMessage);
|
||||||
|
|
||||||
@@ -128,7 +124,6 @@ export default function MinimalTimer(props: MinimalTimerProps) {
|
|||||||
|
|
||||||
const timerIsTimeOfDay = time.timerType === TimerType.Clock;
|
const timerIsTimeOfDay = time.timerType === TimerType.Clock;
|
||||||
|
|
||||||
const showOverlay = pres.text !== '' && pres.visible;
|
|
||||||
const isPlaying = time.playback !== Playback.Pause;
|
const isPlaying = time.playback !== Playback.Pause;
|
||||||
|
|
||||||
const showEndMessage = (time.current ?? 0) < 0 && viewSettings.endMessage && !hideEndMessage;
|
const showEndMessage = (time.current ?? 0) < 0 && viewSettings.endMessage && !hideEndMessage;
|
||||||
@@ -138,8 +133,6 @@ export default function MinimalTimer(props: MinimalTimerProps) {
|
|||||||
const showProgress = time.playback !== Playback.Stop;
|
const showProgress = time.playback !== Playback.Stop;
|
||||||
const showWarning = (time.current ?? 1) < (time.timeWarning ?? 0);
|
const showWarning = (time.current ?? 1) < (time.timeWarning ?? 0);
|
||||||
const showDanger = (time.current ?? 1) < (time.timeDanger ?? 0);
|
const showDanger = (time.current ?? 1) < (time.timeDanger ?? 0);
|
||||||
const showBlinking = pres.blink;
|
|
||||||
const showBlackout = pres.blackout;
|
|
||||||
|
|
||||||
let timerColor = viewSettings.normalColor;
|
let timerColor = viewSettings.normalColor;
|
||||||
if (!timerIsTimeOfDay && showProgress && showWarning) timerColor = viewSettings.warningColor;
|
if (!timerIsTimeOfDay && showProgress && showWarning) timerColor = viewSettings.warningColor;
|
||||||
@@ -155,10 +148,8 @@ export default function MinimalTimer(props: MinimalTimerProps) {
|
|||||||
|
|
||||||
const timerFontSize = (89 / (stageTimerCharacters - 1)) * (userOptions.size || 1);
|
const timerFontSize = (89 / (stageTimerCharacters - 1)) * (userOptions.size || 1);
|
||||||
|
|
||||||
const timerClasses = `timer ${!isPlaying ? 'timer--paused' : ''} ${showFinished ? 'timer--finished' : ''} ${
|
const timerClasses = `timer ${!isPlaying ? 'timer--paused' : ''} ${showFinished ? 'timer--finished' : ''}`;
|
||||||
showBlinking ? (showOverlay ? '' : 'blink') : ''
|
const baseClasses = `minimal-timer ${isMirrored ? 'mirror' : ''}`;
|
||||||
}`;
|
|
||||||
const baseClasses = `minimal-timer ${isMirrored ? 'mirror' : ''} ${showBlackout ? 'blackout' : ''}`;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
@@ -171,15 +162,8 @@ export default function MinimalTimer(props: MinimalTimerProps) {
|
|||||||
data-testid='minimal-timer'
|
data-testid='minimal-timer'
|
||||||
>
|
>
|
||||||
<ViewParamsEditor paramFields={MINIMAL_TIMER_OPTIONS} />
|
<ViewParamsEditor paramFields={MINIMAL_TIMER_OPTIONS} />
|
||||||
{!hideMessagesOverlay && (
|
|
||||||
<div className={showOverlay ? 'message-overlay message-overlay--active' : 'message-overlay'}>
|
|
||||||
<div className={`message ${showBlinking ? 'blink' : ''}`}>{pres.text}</div>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
{showEndMessage ? (
|
{showEndMessage ? (
|
||||||
<div className={`end-message ${showBlinking ? (showOverlay ? '' : 'blink') : ''}`}>
|
<div className='end-message'>{viewSettings.endMessage}</div>
|
||||||
{viewSettings.endMessage}
|
|
||||||
</div>
|
|
||||||
) : (
|
) : (
|
||||||
<div
|
<div
|
||||||
className={timerClasses}
|
className={timerClasses}
|
||||||
|
|||||||
Reference in New Issue
Block a user