// Tweaks panel — confetti toggle, drifting suits toggle, trigger confetti on demand const { useState: useStateT, useEffect: useEffectT } = React; function TweaksPanel({ tweaks, setTweaks, onFireConfetti }) { const [visible, setVisible] = useStateT(false); useEffectT(() => { function onMsg(e) { if (!e.data) return; if (e.data.type === "__activate_edit_mode") setVisible(true); if (e.data.type === "__deactivate_edit_mode") setVisible(false); } window.addEventListener("message", onMsg); window.parent.postMessage({ type: "__edit_mode_available" }, "*"); return () => window.removeEventListener("message", onMsg); }, []); function set(k, v) { const next = { ...tweaks, [k]: v }; setTweaks(next); window.parent.postMessage({ type: "__edit_mode_set_keys", edits: { [k]: v } }, "*"); } if (!visible) return null; return (
تعديلات
); } Object.assign(window, { TweaksPanel });