import { lazy, Suspense } from 'react'; import { useNovuNotifications } from '@/hooks/useNovuNotifications'; import { useNovuTheme } from '@/hooks/useNovuTheme'; import { useNavigate } from 'react-router-dom'; import { Bell } from 'lucide-react'; import { Button } from '@/components/ui/button'; // Lazy load Novu Inbox to prevent React instance conflicts const Inbox = lazy(() => import('@novu/react').then(module => ({ default: module.Inbox })) ); export function NotificationCenter() { const { applicationIdentifier, subscriberId, isEnabled } = useNovuNotifications(); const appearance = useNovuTheme(); const navigate = useNavigate(); if (!isEnabled) { return null; } const handleNotificationClick = (notification: { data?: Record }) => { // Handle navigation based on notification payload const data = notification.data as { url?: string } | undefined; if (data?.url) { navigate(data.url); } }; return ( } > ); }