import { CanvasRegion } from '../edit2025/canvasRenderer/CanvasRenderer';
import { StudioContextType } from './StudioContext';
import getCanvasRelativeRect from './getCanvasRelativeRect';

export default function makeStudioFileDropPreviewRegions(
  studioContext: StudioContextType
): CanvasRegion[] {
  const { draggedFilePositionRef } = studioContext;
  if (!draggedFilePositionRef.current) {
    return [];
  }
  const { beats, trackId } = draggedFilePositionRef.current;
  const trackHeader =
    studioContext.timelineController.trackHeadersRef.current[trackId];
  if (!trackHeader) {
    return [];
  }
  const rect = getCanvasRelativeRect(
    trackHeader.getBoundingClientRect(),
    studioContext.timelineController.getWrapperRect()
  );
  const x = studioContext.beatsToCanvasX(beats);

  return [
    {
      render: (ctx: CanvasRenderingContext2D) => {
        ctx.fillStyle = 'white';
        ctx.fillRect(x, rect.top, 2, rect.height);
      },
    },
  ];
}
