import { Eye, Grid3X3, Ruler, Trash2, Camera, LayoutGrid, Palette, Box } from 'lucide-react'; import { Slider } from '@/components/ui/slider'; import { Button } from '@/components/ui/button'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { useModelStore } from '@/stores/useModelStore'; import { ScaleSelector } from '@/components/ScaleSelector'; import { useCallback } from 'react'; import { toast } from 'sonner'; const WIRE_COLORS = [ { label: 'Cinza', value: '#8899aa' }, { label: 'Vermelho', value: '#ef4444' }, { label: 'Verde', value: '#22c55e' }, { label: 'Azul', value: '#3b82f6' }, { label: 'Amarelo', value: '#eab308' }, { label: 'Laranja', value: '#f97316' }, { label: 'Branco', value: '#e2e8f0' }, ]; export function ViewerControls() { const { opacity, setOpacity, renderMode, setRenderMode, measureMode, setMeasureMode, measurements, clearMeasurements, measurePoints, addScreenshot, showGrid, setShowGrid, wireframeColor, setWireframeColor, wireframeThickness, setWireframeThickness, edgeThresholdAngle, setEdgeThresholdAngle, } = useModelStore(); const handleScreenshot = useCallback(() => { const canvas = document.querySelector('canvas'); if (!canvas) { toast.error('Canvas não encontrado'); return; } const dataUrl = canvas.toDataURL('image/png'); addScreenshot(dataUrl); toast.success('Screenshot capturado!'); }, [addScreenshot]); return (