'use client'; import { useState, useRef, useEffect } from 'react'; interface AdminNotificationsBadgeProps { total: number; pendingOrders: number; designApprovals: number; photoRequests: number; unreadMessages: number; } export default function AdminNotificationsBadge({ total, pendingOrders, designApprovals, photoRequests, unreadMessages, }: AdminNotificationsBadgeProps) { const [showTooltip, setShowTooltip] = useState(false); const ref = useRef(null); useEffect(() => { const onClickOutside = (e: MouseEvent) => { if (ref.current && !ref.current.contains(e.target as Node)) { setShowTooltip(false); } }; document.addEventListener('mousedown', onClickOutside); return () => document.removeEventListener('mousedown', onClickOutside); }, []); if (total === 0) return null; return (
{showTooltip && (

Notifications

{pendingOrders > 0 && (
Waiting payment {pendingOrders}
)} {designApprovals > 0 && (
Design approvals {designApprovals}
)} {photoRequests > 0 && (
Photo requests {photoRequests}
)} {unreadMessages > 0 && (
Unread messages {unreadMessages}
)}
)}
); }