diff --git a/client/src/features/control/PlaybackButtons.jsx b/client/src/features/control/PlaybackButtons.jsx index 5e74204d8..081795df7 100644 --- a/client/src/features/control/PlaybackButtons.jsx +++ b/client/src/features/control/PlaybackButtons.jsx @@ -30,17 +30,24 @@ const Playback = ({ playback, selectedId, playbackControl }) => { /> playbackControl('roll')} /> ); }; -const Transport = ({ selectedId, playbackControl }) => { +const Transport = ({ playback, selectedId, playbackControl }) => { return (
- playbackControl('previous')} /> - playbackControl('next')} /> + playbackControl('previous')} + disabled={playback === 'roll'} + /> + playbackControl('next')} + disabled={playback === 'roll'} + /> playbackControl('reload')} disabled={!selectedId} @@ -60,6 +67,7 @@ const PlaybackButtons = (props) => { playbackControl={props.playbackControl} /> diff --git a/client/src/features/control/PlaybackControl.jsx b/client/src/features/control/PlaybackControl.jsx index af1201774..996e9f99a 100644 --- a/client/src/features/control/PlaybackControl.jsx +++ b/client/src/features/control/PlaybackControl.jsx @@ -12,6 +12,7 @@ export default function PlaybackControl() { running: null, startedAt: null, expectedFinish: null, + secondary: null, }); const [selectedId, setSelectedId] = useState(null); @@ -20,6 +21,7 @@ export default function PlaybackControl() { running: null, startedAt: null, expectedFinish: null, + secondary: null, }); }; diff --git a/client/src/features/control/PlaybackControl.module.css b/client/src/features/control/PlaybackControl.module.css index 69d1fca51..65838edd6 100644 --- a/client/src/features/control/PlaybackControl.module.css +++ b/client/src/features/control/PlaybackControl.module.css @@ -105,6 +105,11 @@ font-size: 0.9em; } +.rolltag { + color: #2b6cb0; + font-size: 0.9em; +} + .playbackContainer { display: flex; justify-content: space-evenly; diff --git a/client/src/features/control/PlaybackTimer.jsx b/client/src/features/control/PlaybackTimer.jsx index 037f8b5cc..4b44332a8 100644 --- a/client/src/features/control/PlaybackTimer.jsx +++ b/client/src/features/control/PlaybackTimer.jsx @@ -1,6 +1,7 @@ import style from './PlaybackControl.module.css'; import Countdown from 'common/components/countdown/Countdown'; import { stringFromMillis } from 'common/dateConfig'; +import { Tooltip } from '@chakra-ui/react'; import { Button } from '@chakra-ui/button'; import { memo } from 'react'; @@ -9,7 +10,8 @@ const areEqual = (prevProps, nextProps) => { prevProps.timer.running === nextProps.timer.running && prevProps.timer.expectedFinish === nextProps.timer.expectedFinish && prevProps.timer.startedAt === nextProps.timer.startedAt && - prevProps.playback === nextProps.playback + prevProps.playback === nextProps.playback && + prevProps.timer.secondary === nextProps.timer.secondary ); }; @@ -19,6 +21,7 @@ const PlaybackTimer = (props) => { const finish = stringFromMillis(timer.expectedFinish, true); const isNegative = timer.running < 0; const isRolling = playback === 'roll'; + const isWaiting = timer.secondary > 0 && timer.running == null; const incrementProps = { size: 'sm', @@ -32,23 +35,38 @@ const PlaybackTimer = (props) => { <>
-
+ +
+
- -
-
- Started at - {started} -
-
- Finish at - {finish} +
+ {isWaiting ? ( +
+ Roll: Countdown to start + {''} +
+ ) : ( + <> +
+ Started at + {started} +
+
+ Finish at + {finish} +
+ + )}