/* 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();