/* global React, ReactDOM, ChromeWindow, Nav, Footer, FloatingCTAs, COPY, Home, TreatmentsHub, TreatmentDetail, Experts, LocationPage, ContactPage, BookingModal, TweaksPanel, useTweaks, TweakSection, TweakRadio, TweakColor, TweakToggle */ const { useState, useEffect, useRef } = React; // ======================================================================= // TWEAK DEFAULTS — persisted via the host editor // ======================================================================= const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "theme": "light", "palette": "olive", "hero": "fullbleed", "locale": "en" }/*EDITMODE-END*/; // ======================================================================= // About page (small — kept in App file) // ======================================================================= function About({ locale }) { const ar = locale === 'ar'; return (
φ   {ar ? 'عن أورونيكس' : 'About Ouronyx'}

{ar ? <>الصحة قبل الجمال. السلامة قبل الصیحات. : <>Health over beauty. Safety over trends.}

Ouronyx was founded by senior executives in psychology and healthcare. The clinic’s philosophy is captured in a single number: ten clients per doctor, per day. Never more.

Ida Banek, co-founder, comes from a psychology background — the foundation of the mindful-aesthetics voice. Marc Princen, co-founder and former Executive Vice President at Allergan, brings the clinical-industry experience. They built Ouronyx as an alternative to a sector that increasingly mistakes volume for quality.

Dubai opened in 2022 at The Opus by Omniyat — the brand’s first destination outside London. The brief was simple: keep the philosophy intact. Ten clients per day, 3D imaging first, no procedure ever started without a written plan.

{ar ? 'القيم' : 'Our values'}
{[ ['Ethical', 'No procedures recommended without need. No prices quoted before consultation. No promises we cannot keep.'], ['Sustainable', 'Aesthetic plans designed for long-term health — not immediate dramatic change. Conservative dosing. Staged review.'], ['Personal', 'One doctor, one room, one plan. Every patient is met by their physician. There is no production line.'], ].map(([h, b], i) => (
0 ? 32 : 0 }}>
0{i+1}

{h}

{b}

))}
); } // ======================================================================= // PRIMARY APP // ======================================================================= function App() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); const [route, setRoute] = useState('home'); const [bookOpen, setBookOpen] = useState(false); const scrollRef = useRef(null); const locale = t.locale || 'en'; const ar = locale === 'ar'; // Apply theme + direction useEffect(() => { document.documentElement.dir = ar ? 'rtl' : 'ltr'; }, [ar]); // Reset scroll on route change useEffect(() => { if (scrollRef.current) scrollRef.current.scrollTo(0, 0); else window.scrollTo(0, 0); setBookOpen(false); }, [route]); const onNav = (r) => { setRoute(r); }; // Determine which page let page; if (route === 'home') page = setBookOpen(true)} heroVariant={t.hero || 'fullbleed'} />; else if (route === 'treatments') page = setBookOpen(true)} />; else if (route.startsWith('treatment:')) page = setBookOpen(true)} />; else if (route === 'experts') page = setBookOpen(true)} />; else if (route === 'location') page = setBookOpen(true)} />; else if (route === 'contact') page = setBookOpen(true)} />; else if (route === 'about') page = ; else page = setBookOpen(true)} heroVariant={t.hero || 'fullbleed'} />; // Theme classes on the surface const themeClass = `${t.theme === 'dark' ? 'theme-dark' : ''} ${t.palette === 'stone' ? 'theme-stone' : t.palette === 'sand' ? 'theme-sand' : ''}`.trim(); return (
); } // ======================================================================= // TWEAKS PANEL // ======================================================================= function Tweaks({ t, setTweak }) { return ( setTweak('theme', v)} /> setTweak('palette', v)} /> setTweak('hero', v)} /> setTweak('locale', v)} /> ); } // ======================================================================= // MOUNT // ======================================================================= ReactDOM.createRoot(document.getElementById('root')).render();