'use client';
import { ListChecks, Plus, Presentation } from 'lucide-react';
import { cn } from '@/lib/utils';
import { Popover, PopoverClose, PopoverContent, PopoverTrigger } from '@/components/ui/popover';
import type { EditableSceneType } from '@/lib/edit/scene-defaults';
interface InsertionZoneProps {
readonly label: string;
readonly slideLabel: string;
readonly quizLabel: string;
readonly onInsert: (type: EditableSceneType) => void;
}
/**
* Hover-revealed insertion affordance between two thumbs.
*
* The gap is a slim 8px hit zone that matches playback `SceneSidebar`'s
* `space-y-2` density (no layout shift, ever). On hover the `+` badge
* pops out to the right side of the gap with a small overshoot, sitting
* on its own z-layer with a solid background + soft drop shadow so it
* clearly floats above any adjacent violet ring.
*/
export function InsertionZone({ label, slideLabel, quizLabel, onInsert }: InsertionZoneProps) {
// `z-20` lifts the whole zone above adjacent `Reorder.Item` siblings.
// Without this, the next-in-DOM-order ThumbItem (which has a `transform`
// via motion's Reorder, creating its own stacking context) paints on
// top, and its violet ring clips through the `+` badge regardless of
// any z-index applied inside the InsertionZone itself.
return (