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)