/* global React, ReactDOM */ const { useEffect } = React; const PALETTE_IDS = ['lime', 'cobalt', 'acid', 'carbon']; const PALETTE_LABELS = { lime: 'Lime', cobalt: 'Cobalt', acid: 'Acid', carbon: 'Carbon' }; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "palette": "lime", "showRails": true, "showCounter": true }/*EDITMODE-END*/; function App() { const [t, setTweak] = window.useTweaks(TWEAK_DEFAULTS); useEffect(() => { document.body.classList.remove(...PALETTE_IDS.map(p => 'palette-' + p)); document.body.classList.add('palette-' + t.palette); }, [t.palette]); useEffect(() => { document.querySelectorAll('.rail').forEach(r => { r.style.display = t.showRails ? '' : 'none'; }); }, [t.showRails]); useEffect(() => { let css = document.getElementById('counter-toggle-css'); if (!css) { css = document.createElement('style'); css.id = 'counter-toggle-css'; document.head.appendChild(css); } css.textContent = t.showCounter ? '' : `deck-stage::part(slide-counter){display:none!important;}`; }, [t.showCounter]); const { TweaksPanel, TweakSection, TweakRadio, TweakToggle } = window; return ( ({ value: id, label: PALETTE_LABELS[id] }))} onChange={(v) => setTweak('palette', v)} /> setTweak('showRails', v)} /> setTweak('showCounter', v)} /> ); } ReactDOM.createRoot(document.getElementById('tweaks-root')).render();