'use client'; import { useShapeStore } from '@/store/shape-store'; import { useToolStore } from '@/store/tool-store'; import { useColorStore } from '@/store/color-store'; import type { ShapeType } from '@/types/shape'; import { Square, Circle, Minus, ArrowRight, Pentagon, Star, Triangle, Paintbrush, PenTool, } from 'lucide-react'; import { cn } from '@/lib/utils'; const SHAPES: Array<{ type: ShapeType; label: string; icon: React.ComponentType<{ className?: string }>; }> = [ { type: 'rectangle', label: 'Rectangle', icon: Square }, { type: 'ellipse', label: 'Ellipse', icon: Circle }, { type: 'line', label: 'Line', icon: Minus }, { type: 'arrow', label: 'Arrow', icon: ArrowRight }, { type: 'polygon', label: 'Polygon', icon: Pentagon }, { type: 'star', label: 'Star', icon: Star }, { type: 'triangle', label: 'Triangle', icon: Triangle }, ]; export function ShapePanel() { const { settings, setShapeType, setFill, setStroke, setStrokeWidth, setCornerRadius, setSides, setInnerRadius, setArrowHeadSize, setArrowHeadAngle, } = useShapeStore(); const { setActiveTool } = useToolStore(); const { primaryColor, setPrimaryColor } = useColorStore(); const handleShapeSelect = (type: ShapeType) => { setShapeType(type); setActiveTool('shape'); }; const handleFillColorChange = (color: string) => { setPrimaryColor(color); useShapeStore.getState().setFillColor(color); }; const handleStrokeColorChange = (color: string) => { useShapeStore.getState().setStrokeColor(color); }; return (