/* Shared UI components: nav, logo, icons, FAB variants */ const Logo = ({ mono = false, height = 22 }) => ( ); const Arrow = ({ s = 14 }) => ( ); const ArrowRTL = ({ s = 14 }) => ( ); const ArrowSmart = ({ s }) => (document.documentElement.dir === 'rtl' ? : ); const WAIcon = ({ s = 14 }) => ( ); const PhoneIcon = ({ s = 14 }) => ( ); const CloseIcon = ({ s = 18 }) => ( ); /* ----------------- Nav ----------------- */ const Nav = ({ view, onNav, lang, setLang, onEnquire, dark }) => { const T = window.BENO.copy[lang]; return (
onNav({ name: 'home' })} title={T.tag}>
); }; /* ----------------- FAB ----------------- */ const FAB = ({ style, lang, onEnquire }) => { const T = window.BENO.copy[lang]; const [open, setOpen] = React.useState(false); const C = window.BENO.contact; if (style === 'dock') { return (
{lang === 'en' ? 'Concierge online · replies in ~3 min' : 'الكونسيرج متاح · يرد خلال ٣ دقائق'}
WhatsApp
); } if (style === 'panel' && open) { return (
{lang === 'en' ? 'Beno Concierge' : 'كونسيرج بينو'}
{lang === 'en' ? 'Online · replies in ~3 min' : 'متصل · يرد خلال ٣ دقائق'}
{(lang === 'en' ? [ 'A yacht day this weekend for 8', 'Supercar Friday → Sunday', 'Helicopter tour for two', 'Surprise me — concierge picks', ] : [ 'يوم يخت لـ ٨ ضيوف نهاية الأسبوع', 'سيارة سوبر من الجمعة إلى الأحد', 'جولة هليكوبتر لشخصين', 'فاجئني — اختيار الكونسيرج', ]).map((q, i) => ( ))}
WhatsApp {lang === 'en' ? 'Call' : 'اتصل'}
); } if (style === 'panel') { return (
); } // default: WhatsApp button return (
{lang === 'en' ? 'WhatsApp concierge' : 'كونسيرج واتساب'}
); }; Object.assign(window, { Logo, Arrow, ArrowRTL, ArrowSmart, WAIcon, PhoneIcon, CloseIcon, Nav, FAB });