mirror of
https://github.com/tomru/advcal.git
synced 2026-03-03 22:47:23 +01:00
43 lines
1.9 KiB
JavaScript
43 lines
1.9 KiB
JavaScript
export const ENDED = 0;
|
|
export const PLAYING = 1;
|
|
export const PAUSED = 2;
|
|
|
|
const Controls = ({ playerState, onPause, onPlay, onRestart }) => {
|
|
return (
|
|
<>
|
|
<div className="player-controls">
|
|
{playerState === PLAYING && (
|
|
<a onClick={onPause} title="Pause">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
|
<path fillRule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v4a1 1 0 102 0V8a1 1 0 00-1-1z" clipRule="evenodd" />
|
|
</svg>
|
|
</a>
|
|
)}
|
|
{playerState === PAUSED && (
|
|
<a onClick={onPlay} title="Play">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
|
<path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clipRule="evenodd" />
|
|
</svg>
|
|
</a>
|
|
)}
|
|
{[PLAYING, PAUSED].includes(playerState) && (
|
|
<a onClick={onRestart} title="Von Vorne">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
|
<path fillRule="evenodd" d="M15.707 15.707a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 010 1.414zm-6 0a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 011.414 1.414L5.414 10l4.293 4.293a1 1 0 010 1.414z" clipRule="evenodd" />
|
|
</svg>
|
|
</a>
|
|
)}
|
|
{playerState === ENDED && (
|
|
<a onClick={onPlay} title="Play">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
|
<path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clipRule="evenodd" />
|
|
</svg>
|
|
</a>
|
|
)}
|
|
</div>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default Controls;
|