Fix: Resolve React hook errors in Novu integration

This commit is contained in:
gpt-engineer-app[bot]
2025-10-01 12:49:14 +00:00
parent f6636c5c0f
commit c7c4644b3f

View File

@@ -1,7 +1,14 @@
import { Inbox } from '@novu/react';
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();
@@ -20,11 +27,19 @@ export function NotificationCenter() {
};
return (
<Inbox
applicationIdentifier={applicationIdentifier}
subscriberId={subscriberId}
appearance={appearance}
onNotificationClick={handleNotificationClick}
/>
<Suspense
fallback={
<Button variant="ghost" size="icon" className="h-9 w-9" disabled>
<Bell className="h-5 w-5" />
</Button>
}
>
<Inbox
applicationIdentifier={applicationIdentifier}
subscriberId={subscriberId}
appearance={appearance}
onNotificationClick={handleNotificationClick}
/>
</Suspense>
);
}