mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-27 01:49:10 +00:00
feat(ui): add a clear screen control to message control
Recovering from "message up, blinking, secondary on" took four clicks in three places, which is the wrong shape for something done under pressure. One control now returns the stage to a plain timer in a single patch, keeping whatever the operator has typed. It is disabled while nothing is active, so an accidental click is a no-op. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011CHxSQ6nWHuyar8feieRra
This commit is contained in:
@@ -55,6 +55,9 @@ export const setMessage = {
|
||||
timerBlackout: (payload: boolean) => sendSocket('message', { timer: { blackout: payload } }),
|
||||
timerSecondarySource: (payload: TimerMessage['secondarySource']) =>
|
||||
sendSocket('message', { timer: { secondarySource: payload } }),
|
||||
/** returns the stage to a plain timer, keeping whatever the operator has typed */
|
||||
clearScreen: () =>
|
||||
sendSocket('message', { timer: { visible: false, blink: false, blackout: false, secondarySource: null } }),
|
||||
};
|
||||
|
||||
export const usePlaybackControl = createSelector((state: RuntimeStore) => ({
|
||||
|
||||
@@ -4,7 +4,7 @@ import { setMessage, useScreenControl } from '../../../common/hooks/useSocket';
|
||||
import style from './ScreenControl.module.scss';
|
||||
|
||||
export default function ScreenControl() {
|
||||
const { blackout, blink } = useScreenControl();
|
||||
const { blackout, blink, isScreenModified } = useScreenControl();
|
||||
|
||||
return (
|
||||
<div className={style.screenControl}>
|
||||
@@ -26,6 +26,15 @@ export default function ScreenControl() {
|
||||
>
|
||||
Blackout
|
||||
</Button>
|
||||
<Button
|
||||
variant='subtle'
|
||||
fluid
|
||||
disabled={!isScreenModified}
|
||||
onClick={() => setMessage.clearScreen()}
|
||||
data-testid='clear screen'
|
||||
>
|
||||
Clear screen
|
||||
</Button>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user