import { Tooltip } from '@chakra-ui/react'; import { Playback } from 'ontime-types'; import TimerDisplay from '../../../common/components/timer-display/TimerDisplay'; import { setPlayback, useTimer } from '../../../common/hooks/useSocket'; import { millisToMinutes } from '../../../common/utils/dateConfig'; import { tooltipDelayMid } from '../../../ontimeConfig'; import TapButton from './TapButton'; import style from './PlaybackControl.module.scss'; import { millisToString } from 'ontime-utils'; interface PlaybackTimerProps { playback: Playback; } export default function PlaybackTimer(props: PlaybackTimerProps) { const { playback } = props; const data = useTimer(); // TODO: checkout typescript in utilities const started = millisToString(data.timer.startedAt); const finish = millisToString(data.timer.expectedFinish); const isRolling = playback === Playback.Roll; const isStopped = playback === Playback.Stop; const isWaiting = data.timer.secondaryTimer !== null && data.timer.secondaryTimer > 0 && data.timer.current === null; const disableButtons = isStopped || isRolling; const isOvertime = data.timer.current !== null && data.timer.current < 0; const hasAddedTime = Boolean(data.timer.addedTime); const rollLabel = isRolling ? 'Roll mode active' : ''; const addedTimeLabel = hasAddedTime ? `Added ${millisToMinutes(data.timer.addedTime)} minutes` : ''; return (