'use client'; import { formatDistanceToNow } from 'date-fns'; import { Bell, BellRing, ChevronRight } from 'lucide-react'; import type { Task } from '@/lib/types'; import { Button } from '@/components/ui/button'; import { StatusPill } from '@/components/ui/status-pill'; import { taskTypeLabel } from '@/components/notifications/task-stage-helpers'; import { cn } from '@/lib/utils'; type TaskNotificationsTriggerProps = { unreadCount: number; isPopoverOpen: boolean; setIsPopoverOpen: (value: boolean) => void; activeTasks: Task[]; awaitingReviewTasks: Task[]; openDrawer: () => void; openTaskDetails: (taskId: string) => void; silenceTask: (taskId: string, silenced?: boolean) => Promise; markTaskRead: (taskId: string, read?: boolean) => Promise; className?: string; mobile?: boolean; }; export function TaskNotificationsTrigger({ unreadCount, isPopoverOpen, setIsPopoverOpen, activeTasks, awaitingReviewTasks, openDrawer, openTaskDetails, silenceTask, markTaskRead, className, mobile = false }: TaskNotificationsTriggerProps) { const showPopover = !mobile; const button = ( ); if (!showPopover) { return button; } return (
{button} {isPopoverOpen ? ( <>
)) )}

Awaiting review

{awaitingReviewTasks.length === 0 ? (

No unread finished jobs.

) : ( awaitingReviewTasks.slice(0, 3).map((task) => (

{taskTypeLabel(task.task_type)}

{formatDistanceToNow(new Date(task.updated_at), { addSuffix: true })}

)) )}
) : null} ); }