'use client'; import { AnimatePresence } from 'framer-motion'; import { cn } from '@/lib/utils'; import type { QueueState } from '@/lib/visualizations/types'; import { QueueElement } from '../primitives/queue-element'; interface QueueViewProps { queue: QueueState; className?: string; } export function QueueView({ queue, className }: QueueViewProps) { const hasElements = queue.elements.length > 0; return (
{queue.label && ( {queue.label} )}
{/* Empty state */} {!hasElements && (
empty
)} {/* Queue elements - horizontal row, front on left, rear on right */} {queue.elements.map((element, index) => ( 1} /> ))}
{/* Direction indicator */}
dequeue enqueue
); }