Neah/components/email/BulkActionsToolbar.tsx
2025-04-26 22:44:53 +02:00

93 lines
2.6 KiB
TypeScript

'use client';
import React from 'react';
import { Trash, Mail, MailOpen, Archive } from 'lucide-react';
import { Button } from '@/components/ui/button';
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger
} from '@/components/ui/tooltip';
interface BulkActionsToolbarProps {
selectedCount: number;
onBulkAction: (action: 'delete' | 'mark-read' | 'mark-unread' | 'archive') => void;
}
export default function BulkActionsToolbar({
selectedCount,
onBulkAction
}: BulkActionsToolbarProps) {
return (
<div className="border-b p-2 flex items-center gap-2 bg-accent/20">
<div className="text-xs font-medium flex-1">
{selectedCount} {selectedCount === 1 ? 'message' : 'messages'} selected
</div>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className="h-8 w-8"
onClick={() => onBulkAction('mark-read')}
>
<MailOpen className="h-4 w-4" />
</Button>
</TooltipTrigger>
<TooltipContent>Mark as read</TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className="h-8 w-8"
onClick={() => onBulkAction('mark-unread')}
>
<Mail className="h-4 w-4" />
</Button>
</TooltipTrigger>
<TooltipContent>Mark as unread</TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className="h-8 w-8"
onClick={() => onBulkAction('archive')}
>
<Archive className="h-4 w-4" />
</Button>
</TooltipTrigger>
<TooltipContent>Archive</TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className="h-8 w-8 text-destructive hover:text-destructive"
onClick={() => onBulkAction('delete')}
>
<Trash className="h-4 w-4" />
</Button>
</TooltipTrigger>
<TooltipContent>Delete</TooltipContent>
</Tooltip>
</TooltipProvider>
</div>
);
}