import React from 'react'; import { observer } from 'mobx-react-lite'; import { useEffect } from 'react'; import cn from 'classnames'; import Timeline from './Timeline'; import ControlButton from './ControlButton'; import cls from './Controls.module.css'; function getPlayButtonProps(player) { let label; let icon; if (player.state.completed) { label = 'Replay'; icon = 'redo'; } else if (player.state.playing) { label = 'Pause'; icon = 'pause'; } else { label = 'Play'; icon = 'play'; } return { label, icon, }; } function Controls({ player, toolbar, }) { useEffect(() => { function onKeyDown(e) { if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) { return; } if (e.key === 'Esc' || e.key === 'Escape') { player.fullscreen.disable(); } if (player.controlsDisabled) { return; } if (e.key === ' ') { document.activeElement.blur(); player.togglePlay(); } if (e.key === "ArrowRight") { player.forthTenSeconds(); } if (e.key === "ArrowLeft") { player.backTenSeconds(); } if (e.key === "ArrowDown") { player.speedDown(); } if (e.key === "ArrowUp") { player.speedUp(); } } document.addEventListener('keydown', onKeyDown); return () => { document.removeEventListener('keydown', onKeyDown); } }, []); const disabled = player.controlsDisabled; return (