/* global React */ const { useState: useStateCfg, useEffect: useEffectCfg, useMemo: useMemoCfg } = React; // ============================================================================= // OFFERS (banner toggle + live preview) // ============================================================================= window.OffersSection = function OffersSection() { const [offers, setOffers] = useStateCfg(null); const [saving, setSaving] = useStateCfg(false); const [savedTick, setSavedTick] = useStateCfg(0); useEffectCfg(() => { window.LQ.request('/settings/offers_banner').then(setOffers).catch(() => setOffers({ enabled: false, text: '' })); }, []); useEffectCfg(() => { if (!offers) return; const t = setTimeout(async () => { setSaving(true); try { await window.LQ.request('/settings/offers_banner', { method: 'PUT', body: offers }); setSavedTick(savedTick + 1); } catch {} setSaving(false); }, 600); return () => clearTimeout(t); }, [offers && offers.enabled, offers && offers.text]); if (!offers) return
Loading…
; const previewText = (offers.text || '').trim(); return ( <>

Marquee Banner

{saving && Saving…}

Shows above the header on every public page when enabled. Use it for festive offers, holiday hours, or new arrivals.