import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { listNotifications, dismissNotification } from '../api/client'; const LEVEL_STYLES: Record = { info: 'bg-accent/10 border-accent/30 text-accent', warning: 'bg-warning/10 border-warning/30 text-warning', error: 'bg-danger/10 border-danger/30 text-danger', success: 'bg-success/10 border-success/30 text-success', }; export function NotificationBanner() { const queryClient = useQueryClient(); const { data: notifications } = useQuery({ queryKey: ['notifications'], queryFn: listNotifications, refetchInterval: 30000, }); const dismiss = useMutation({ mutationFn: dismissNotification, onSuccess: () => queryClient.invalidateQueries({ queryKey: ['notifications'] }), }); if (!notifications?.length) return null; return (
{notifications.map((n) => (
{n.title}
{n.message &&
{n.message}
}
))}
); }