'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 */}
);
}