import React from 'react' import { connect } from 'react-redux' import actions from 'app/actions' import { timestamp } from 'app/utils' // arrows const arrows = { down: ( ), up: ( ), right: ( ), left: ( ), } export const Arrow = React.memo(({ type }) => (
{arrows[type]}
)) // volume toggle const VolumeIcon = React.memo(({ muted }) => (
actions.audio.toggleMuted()}>
)) export const VolumeControl = connect(state => ({ muted: state.audio.muted, }))(VolumeIcon) // play / pause button const PlayIcon = ( ) const PauseIcon = ( ) const PlayButtonIcon = ({ playing }) => { return (
playing ? actions.audio.pause() : actions.audio.play()} > {playing ? PauseIcon : PlayIcon}
) } export const PlayButton = connect(state => ({ playing: state.audio.playing, }))(PlayButtonIcon) // player current time const PlayerTimeSpan = ({ play_ts, duration }) => ( {timestamp(play_ts)} {' / '} {timestamp(duration)} ) export const PlayerTime = connect(state => ({ play_ts: state.audio.play_ts, duration: state.align.timeline.duration, }))(PlayerTimeSpan)