'use client'; import { useToolStore } from '@/store'; import { Settings2 } from 'lucide-react'; export function ToolSettings() { const { activeTool, settings, setSize, setOpacity, setHardness, setColor, setFlow, } = useToolStore(); const showSizeOpacity = ['brush', 'eraser', 'pencil'].includes(activeTool); const showHardness = ['brush'].includes(activeTool); const showColor = ['brush', 'pencil', 'fill'].includes(activeTool); const showFlow = ['brush'].includes(activeTool); if (!showSizeOpacity && !showColor) { return null; } return (

Tool Settings

{/* Color picker */} {showColor && (
setColor(e.target.value)} className="w-full h-10 rounded-md border border-border cursor-pointer" /> setColor(e.target.value)} className="w-full px-3 py-1.5 text-sm rounded-md border border-border bg-background text-foreground" />
)} {/* Size slider */} {showSizeOpacity && (
{settings.size}px
setSize(Number(e.target.value))} className="w-full" />
)} {/* Opacity slider */} {showSizeOpacity && (
{Math.round(settings.opacity * 100)}%
setOpacity(Number(e.target.value) / 100)} className="w-full" />
)} {/* Hardness slider */} {showHardness && (
{Math.round(settings.hardness * 100)}%
setHardness(Number(e.target.value) / 100)} className="w-full" />
)} {/* Flow slider */} {showFlow && (
{Math.round(settings.flow * 100)}%
setFlow(Number(e.target.value) / 100)} className="w-full" />
)}
); }