// App.jsx — main entry for ООО «РЕЗЕРВ» site
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"accent": "gold",
"displayFont": "PT Serif"
}/*EDITMODE-END*/;
function App() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
const [section, setSection] = React.useState('home');
const [acc, setAcc] = React.useState(false);
const [a11y, setA11y, setA11yAll] = useA11y();
const [modal, setModal] = React.useState(false);
React.useEffect(() => {
applyA11y(acc, a11y);
}, [acc, a11y]);
React.useEffect(() => {
const root = document.documentElement;
const accentMap = {
gold: { gold: '#b8860b', goldSoft: '#c9a961' },
burgundy:{ gold: '#7c1e1e', goldSoft: '#a04a4a' },
navy: { gold: '#1f3a66', goldSoft: '#4a679a' },
olive: { gold: '#6b6321', goldSoft: '#9a9356' },
};
const c = accentMap[t.accent] || accentMap.gold;
root.style.setProperty('--gold', c.gold);
root.style.setProperty('--gold-soft', c.goldSoft);
root.style.setProperty('--display-font', `'${t.displayFont}'`);
}, [t.accent, t.displayFont]);
const openContact = () => setModal(true);
// Renders for individual nav sections (focused view)
const renderSection = () => {
const map = {
about: ,
activities: ,
procurement: ,
documents: ,
contacts: ,
};
return map[section] || null;
};
return (
<>
setAcc(false)}
/>
{section === 'home' ? (
<>
>
) : (
renderSection()
)}
setModal(false)} />
{
const map = { '#b8860b': 'gold', '#7c1e1e': 'burgundy', '#1f3a66': 'navy', '#6b6321': 'olive' };
setTweak('accent', map[v]);
}}
/>
setTweak('displayFont', v)}
/>
>
);
}
ReactDOM.createRoot(document.getElementById('root')).render();