import { useState, useEffect } from 'react'; import { usePushNotifications } from '@/hooks/usePushNotifications'; import { Bell, X } from 'lucide-react'; const DISMISSED_KEY = 'push-banner-dismissed'; const SHOW_DELAY = 3000; function getInitiallyDismissed(): boolean { if (typeof window === 'undefined') return false; return !!localStorage.getItem(DISMISSED_KEY); } export function NotificationBanner() { const [isVisible, setIsVisible] = useState(false); const [isDismissed, setIsDismissed] = useState(getInitiallyDismissed); const { isSupported, isSubscribed, isLoading, subscribe } = usePushNotifications(); useEffect(() => { if (isSupported && !isSubscribed && !isDismissed) { const timer = setTimeout(() => { setIsVisible(true); }, SHOW_DELAY); return () => clearTimeout(timer); } }, [isSupported, isSubscribed, isDismissed]); const handleDismiss = () => { setIsVisible(false); localStorage.setItem(DISMISSED_KEY, 'true'); setIsDismissed(true); }; const handleSubscribe = async () => { const success = await subscribe(); if (success) { setIsVisible(false); } }; if (!isVisible || isSubscribed || isDismissed) { return null; } return (

Останете информирани

Добијте известувања за нови статии и live ажурирања

); }