import { useMemo } from 'react';

import useClip from '@/hooks/useClip';

import { ClipArrangementPackage, StudioClip } from './types';
import { getClipAlignmentSpecFromHistory } from './useAlignedClips';

export default function useStudioClipArrangementPackage(
  studioClip: StudioClip | null
): ClipArrangementPackage | null {
  const { clip: focusedClip } = useClip(studioClip?.clipId ?? undefined);

  const arrangementPackage = useMemo(() => {
    if (!focusedClip) return null;
    if (!studioClip) return null;
    return {
      clip: focusedClip,
      studioClip: studioClip,
      alignmentSpec: getClipAlignmentSpecFromHistory(focusedClip),
    };
  }, [focusedClip, studioClip]);

  return arrangementPackage;
}
