/* entry-gate.jsx — Frosted glass entry/disclaimer overlay */ /* Auto-mounts on every page; dismissed state persists in localStorage. */ (function () { const ENTRY_KEY = 'ghost.entry.accepted.v1'; function EntryGate() { const [open, setOpen] = React.useState(() => { try { return sessionStorage.getItem(ENTRY_KEY) !== '1'; } catch { return true; } }); const [agreed, setAgreed] = React.useState(false); React.useEffect(() => { if (!open) { document.body.style.overflow = ''; return; } document.body.style.overflow = 'hidden'; return () => { document.body.style.overflow = ''; }; }, [open]); if (!open) return null; const enter = () => { if (!agreed) return; try { sessionStorage.setItem(ENTRY_KEY, '1'); } catch {} try { localStorage.removeItem(ENTRY_KEY); } catch {} setOpen(false); }; return (
Ghost is a confluence-based trading framework for TradingView, built for education and decision-support. It does not predict price, place orders, or guarantee outcomes. You alone are responsible for every trade.