import { type SwitchMiiInstructions } from "@tomodachi-share/shared"; import { useState } from "react"; import ColorPicker from "../color-picker"; import NumberInputs from "../number-inputs"; interface Props { instructions: React.RefObject; } const TABS: { name: keyof SwitchMiiInstructions["eyes"]; colorsDisabled?: boolean }[] = [ { name: "main" }, { name: "eyelashesTop", colorsDisabled: true }, { name: "eyelashesBottom", colorsDisabled: true }, { name: "eyelidTop", colorsDisabled: true }, { name: "eyelidBottom", colorsDisabled: true }, { name: "eyeliner" }, { name: "pupil", colorsDisabled: true }, ]; export default function EyesTab({ instructions }: Props) { const [tab, setTab] = useState(0); const [colors, setColors] = useState(() => TABS.map((t) => { const entry = instructions.current.eyes[t.name] ?? {}; const color = entry && "color" in entry ? entry.color : null; return color ?? 122; }), ); const currentTab = TABS[tab]; const setColor = (value: number) => { setColors((prev) => { const copy = [...prev]; copy[tab] = value; return copy; }); if (!currentTab.colorsDisabled) (instructions.current.eyes[currentTab.name] as { color: number }).color = value; }; return ( <>

Eyes

{TABS.map((_, i) => ( ))}
); }