'use client'; import { useEffect, useState } from 'react'; const PREF_KEY = 'vyndr.sportsbook_modal.suppress'; type Props = { book: string; url: string; open: boolean; onClose: () => void; }; export default function SportsbookModal({ book, url, open, onClose }: Props) { const [dontShowAgain, setDontShowAgain] = useState(false); useEffect(() => { if (!open) return; const onKey = (e: KeyboardEvent) => { if (e.key === 'Escape') onClose(); }; document.addEventListener('keydown', onKey); return () => document.removeEventListener('keydown', onKey); }, [open, onClose]); if (!open) return null; const continueOut = () => { if (dontShowAgain) { try { localStorage.setItem(PREF_KEY, '1'); } catch { /* private mode */ } } window.open(url, '_blank', 'noopener,noreferrer'); onClose(); }; return (
LEAVING VYNDR
You're being redirected to {book}.
VYNDR doesn't place bets, handle money, or guarantee outcomes.