import { useNostr } from '@/providers/NostrProvider' import { cn } from '@/lib/utils' import { Loader2 } from 'lucide-react' import { useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' const SHOW_AFTER_MS = 400 /** * Shown while the logged-in account’s relay list and replaceable events are being merged from IndexedDB + network. * Debounced so fast sessions don’t flash the bar. */ export default function StartupSessionBanner() { const { isAccountSessionHydrating } = useNostr() const { t } = useTranslation() const [visible, setVisible] = useState(false) useEffect(() => { if (!isAccountSessionHydrating) { setVisible(false) return } const id = window.setTimeout(() => setVisible(true), SHOW_AFTER_MS) return () => clearTimeout(id) }, [isAccountSessionHydrating]) if (!visible) return null return (