import { useContextSelector } from '@/hooks/useContextSelector';

import StudioContext from './StudioContext';
import { getAllUsedClipIds, getFocusedTrackAlignedLyrics } from './selectors';
import useAlignedLyricsByClipId from './useAlignedLyricsByClipId';

export default function useLyricsPresence() {
  const allUsedClipIds = useContextSelector(StudioContext, (context) =>
    getAllUsedClipIds(context.state)
  );
  const lyricsCorrectionsByClipId = useContextSelector(
    StudioContext,
    (context) => context.state.lyricsCorrectionsByClipId
  );
  const alignedLyricsByClipId = useAlignedLyricsByClipId(
    allUsedClipIds,
    lyricsCorrectionsByClipId
  );
  return useContextSelector(StudioContext, ({ state }) =>
    getFocusedTrackAlignedLyrics({
      state,
      alignedLyricsByClipId,
    }).length > 0
      ? 'present'
      : 'empty'
  );
}
