JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour

File "use-current-time.ts"

Full Path: /home/markqprx/iniasli.pro/client/player/hooks/use-current-time.ts
File size: 843 bytes
MIME-type: text/plain
Charset: utf-8

import {useEffect, useState} from 'react';
import {usePlayerActions} from '@common/player/hooks/use-player-actions';
import {usePlayerStore} from '@common/player/hooks/use-player-store';

export function useCurrentTime() {
  const {subscribe, getCurrentTime} = usePlayerActions();
  const providerKey = usePlayerStore(s =>
    s.providerName && s.cuedMedia?.id
      ? `${s.providerName}+${s.cuedMedia.id}`
      : null
  );

  const [currentTime, setCurrentTime] = useState(() => getCurrentTime());

  useEffect(() => {
    return subscribe({
      progress: ({currentTime}) => setCurrentTime(currentTime),
    });
  }, [subscribe]);

  // update current time when media or provider changes
  useEffect(() => {
    if (providerKey) {
      setCurrentTime(getCurrentTime());
    }
  }, [providerKey, getCurrentTime]);

  return currentTime;
}