import { Eye, Grid3X3, Ruler, Trash2, Camera } from 'lucide-react'; import { Slider } from '@/components/ui/slider'; import { Button } from '@/components/ui/button'; import { useModelStore } from '@/stores/useModelStore'; import { useCallback } from 'react'; import { toast } from 'sonner'; export function ViewerControls() { const { opacity, setOpacity, renderMode, setRenderMode, measureMode, setMeasureMode, measurements, clearMeasurements, measurePoints, addScreenshot } = 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 (
{/* Opacity slider */}
Opacidade
{Math.round(opacity * 100)}%
setOpacity(v / 100)} />
{/* Render mode toggle */} {/* Measure tool */}
{measurements.length > 0 && ( )}
{/* Screenshot */}
); }