mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-13 11:23:50 +00:00
3603b836f6
* refactor: typescript migration * chore: remove prop-types package * refactor: file structure * refactor: migrate ontime table to tanstack table 8 * refactor: rundown controller uses service as data source * refactor: convert to typescript * feat: caching store * refactor: add delay values to rundown * feat: toggle past visibility * chore: update tests * refactor: add extra fields to CSV * style: show skipped events * chore: add route to navigation menu * style: allow jumping to bottom * chore: add tests
37 lines
943 B
TypeScript
37 lines
943 B
TypeScript
import { Tooltip } from '@chakra-ui/react';
|
|
import { IoPause } from '@react-icons/all-files/io5/IoPause';
|
|
import { IoPlay } from '@react-icons/all-files/io5/IoPlay';
|
|
import { IoStop } from '@react-icons/all-files/io5/IoStop';
|
|
import { Playback } from 'ontime-types';
|
|
|
|
import { tooltipDelayFast } from '../../../ontimeConfig';
|
|
|
|
interface PlaybackIconProps {
|
|
state: Playback;
|
|
}
|
|
|
|
export default function PlaybackIcon(props: PlaybackIconProps) {
|
|
const { state } = props;
|
|
|
|
// if timer is Pause or Armed
|
|
let label = 'Timer Paused';
|
|
let Icon = IoPause;
|
|
|
|
if (state === Playback.Roll) {
|
|
label = 'Timer Rolling';
|
|
Icon = IoPlay;
|
|
} else if (state === Playback.Play) {
|
|
label = 'Timer Playing';
|
|
Icon = IoPlay;
|
|
} else if (state === Playback.Stop) {
|
|
label = 'Timer Stopped';
|
|
Icon = IoStop;
|
|
}
|
|
|
|
return (
|
|
<Tooltip openDelay={tooltipDelayFast} label={label} shouldWrapChildren>
|
|
<Icon />
|
|
</Tooltip>
|
|
);
|
|
}
|