import React, { useState, useEffect } from 'react'; import { Bell } from 'lucide-react'; import { useQuery } from '@tanstack/react-query'; import { api } from '@emberclone/shared'; import type { AuditLog } from '@emberclone/shared'; export default function NotificationBell() { const [isOpen, setIsOpen] = useState(false); const [unreadCount, setUnreadCount] = useState(0); const { data: logs, isLoading } = useQuery({ queryKey: ['audit-log', 'notifications'], queryFn: () => api.listAuditLog({ userId: 'me', limit: 10 }), }); useEffect(() => { if (logs) { const lastSeen = localStorage.getItem('lastSeenAuditAt'); if (!lastSeen) { setUnreadCount(logs.length); return; } const lastSeenDate = new Date(lastSeen).getTime(); const unread = logs.filter((log) => { const logDate = new Date(log.createdAt).getTime(); return logDate > lastSeenDate; }).length; setUnreadCount(unread); } }, [logs]); const handleOpen = () => { setIsOpen(!isOpen); if (!isOpen) { localStorage.setItem('lastSeenAuditAt', new Date().toISOString()); setUnreadCount(0); } }; return (