'use client'; import { useCanvasStore } from '../../store/canvasStore'; import { useTheme } from '../ThemeProvider'; export function Toolbar() { const { selectedTool, setSelectedTool, brushSize, setBrushSize, showGrid, showCursors, viewport, setZoom, setViewport, } = useCanvasStore(); const { theme, setTheme } = useTheme(); const tools = [ { id: 'pixel', name: 'Pixel', icon: '🖊️' }, { id: 'fill', name: 'Fill', icon: '🪣' }, { id: 'eyedropper', name: 'Eyedropper', icon: '💉' }, ] as const; const handleZoomIn = () => { setZoom(viewport.zoom * 1.2); }; const handleZoomOut = () => { setZoom(viewport.zoom * 0.8); }; const handleResetView = () => { setViewport({ x: 0, y: 0, zoom: 1 }); }; return (
{/* Tools */}
{tools.map((tool) => ( ))}
{/* Brush size (only for pixel tool) */} {selectedTool === 'pixel' && (
Size: setBrushSize(parseInt(e.target.value))} className="w-20 h-2 bg-white/20 rounded-lg appearance-none cursor-pointer" style={{ background: `linear-gradient(to right, #3b82f6 0%, #3b82f6 ${(brushSize - 1) * 11.11}%, rgba(255,255,255,0.2) ${(brushSize - 1) * 11.11}%, rgba(255,255,255,0.2) 100%)` }} /> {brushSize}
)} {/* Zoom controls */}
{Math.round(viewport.zoom * 100)}%
{/* View options */}
{/* Theme toggle */}
); }