// flippy-tweaks.jsx — Tweaks panel for the Flippy site
// Loads after starters/tweaks-panel.jsx so TweaksPanel + hooks are global.

const FlippyTweaks = ({ t, setTweak }) => {
  return (
    <TweaksPanel title="Tweaks // FLIPPY">
      <TweakSection label="Boot" />
      <TweakToggle
        label="Skip boot sequence"
        value={t.skipBoot}
        onChange={(v) => setTweak("skipBoot", v)}
      />
      <TweakButton
        label="Replay boot sequence"
        onClick={() => {
          window.dispatchEvent(new CustomEvent("flippy:replay-boot"));
        }}
      >
        REPLAY
      </TweakButton>

      <TweakSection label="Identity" />
      <TweakColor
        label="Acid signal"
        value={t.acid}
        options={["#b9ff1f", "#d6ff00", "#7af542", "#a3ff52", "#e6ff3a"]}
        onChange={(v) => setTweak("acid", v)}
      />
      <TweakColor
        label="Palette"
        value={t.palette}
        options={[
          ["#b9ff1f", "#0a0d0a", "#1b240f"],
          ["#d6ff00", "#050807", "#1f2a14"],
          ["#7af542", "#0a0d0a", "#1b240f"],
          ["#e6ff3a", "#0a0c0a", "#28321a"],
        ]}
        onChange={(v) => setTweak("palette", v)}
      />

      <TweakSection label="Hero" />
      <TweakSelect
        label="Hero intensity"
        value={t.intensity}
        options={["calm", "high", "psycho"]}
        onChange={(v) => setTweak("intensity", v)}
      />
      <TweakToggle
        label="Grid overlay"
        value={t.grid}
        onChange={(v) => setTweak("grid", v)}
      />
      <TweakToggle
        label="Scanlines"
        value={t.scanlines}
        onChange={(v) => setTweak("scanlines", v)}
      />

      <TweakSection label="Contract" />
      <TweakText
        label="CA (optional)"
        value={t.ca}
        placeholder="paste Solana address"
        onChange={(v) => setTweak("ca", v)}
      />
      <TweakText
        label="Buy link"
        value={t.buyUrl}
        placeholder="https://pump.fun/..."
        onChange={(v) => setTweak("buyUrl", v)}
      />
    </TweaksPanel>
  );
};

Object.assign(window, { FlippyTweaks });
