import { ArrowLeftRight } from 'lucide-react'; import type { TFunction } from 'i18next'; import type { RadioMetadata } from '../../hooks/useRadioMetadata'; import { useThemeStore } from '../../store/themeStore'; import { formatTime } from '../../utils/componentHelpers/playerBarHelpers'; import WaveformSeek from '../WaveformSeek'; import { PlaybackTime, RemainingTime } from './PlaybackClock'; interface Props { isRadio: boolean; radioMeta: RadioMetadata; trackId: string | undefined; duration: number; localShowRemaining: boolean; setLocalShowRemaining: (v: boolean) => void; disableWaveformCanvas: boolean; t: TFunction; } export function PlayerSeekbarSection({ isRadio, radioMeta, trackId, duration, localShowRemaining, setLocalShowRemaining, disableWaveformCanvas, t, }: Props) { return (
{isRadio ? ( <> {radioMeta.source === 'azuracast' && radioMeta.elapsed != null && radioMeta.duration != null && radioMeta.duration > 0 ? ( <> {formatTime(radioMeta.elapsed)}
{formatTime(radioMeta.duration)} ) : ( <>
{t('radio.live')}
0:00 )} ) : ( <>
{disableWaveformCanvas ?
: }
{ const newVal = !localShowRemaining; setLocalShowRemaining(newVal); useThemeStore.getState().setShowRemainingTime(newVal); }} data-tooltip={localShowRemaining ? t('player.showDuration') : t('player.showRemainingTime')} > {localShowRemaining ? : formatTime(duration)} )}
); }