'use client'; import { useState } from 'react'; const PRESETS = ['XS', 'S', 'M', 'L', 'XL', 'XXL']; export default function SizePicker({ name, defaultSizes = [] }: { name: string; defaultSizes?: string[] }) { const [sizes, setSizes] = useState(defaultSizes); const [custom, setCustom] = useState(''); const addSize = (s: string) => { const trimmed = s.trim(); if (!trimmed || sizes.includes(trimmed)) return; setSizes((prev) => [...prev, trimmed]); }; const removeSize = (s: string) => { setSizes((prev) => prev.filter((x) => x !== s)); }; return (
{sizes.length > 0 && (
{sizes.map((s) => ( {s} ))}
)}
{PRESETS.map((s) => ( ))}
setCustom(e.target.value)} onKeyDown={(e) => { if (e.key === 'Enter') { e.preventDefault(); addSize(custom); setCustom(''); } }} placeholder="Custom size (e.g. One Size, 9, 10)" className="border border-line bg-paper px-2 py-1.5 text-xs" />

Leave empty for products that don't need sizing.

); }