diff --git a/src/components/ColorPicker.tsx b/src/components/ColorPicker.tsx index a9852f9..2dda179 100644 --- a/src/components/ColorPicker.tsx +++ b/src/components/ColorPicker.tsx @@ -5,9 +5,18 @@ import { HSegmentedControl } from './HSegmentedControl'; import { HslAssemble } from './HslAsssemble'; import { RGBAssemble } from './RGBAssemble'; -export function ColorPicker() { - const [pickMode, setMode] = useState<'rgb' | 'hsl' | 'oklch'>('rgb'); - const [selectedColor, setSelectedColor] = useState('000000'); +type ColorPickerProps = { + color?: string | null; + onSelect?: (color: string) => void; +}; + +export function ColorPicker({ color, onSelect }: ColorPickerProps) { + const [pickMode, setMode] = useState<'rgb' | 'hsl'>('rgb'); + const [selectedColor, setSelectedColor] = useState(color ?? '000000'); + const handleColorSelect = (color: string) => { + setSelectedColor(color); + onSelect?.(color); + }; return (
@@ -22,10 +31,10 @@ export function ColorPicker() { onChange={(value) => setMode(value as 'rgb' | 'hsl' | 'oklch')} /> {isEqual(pickMode, 'rgb') && ( - setSelectedColor(c)} /> + )} {isEqual(pickMode, 'hsl') && ( - setSelectedColor(c)} /> + )}
);