Neah/components/email/BulkActionsToolbar.tsx
2025-05-01 15:29:38 +02:00

84 lines
2.5 KiB
TypeScript

'use client';
import React from 'react';
import { Trash2, Archive, EyeOff } 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="bg-blue-50 border-b border-blue-100 px-4 py-2 flex items-center justify-between shadow-md transition-all duration-200">
<span className="text-xs font-medium text-blue-700">
{selectedCount} selected
</span>
<div className="flex items-center gap-1">
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className="h-7 w-7 text-blue-600 hover:text-blue-900 hover:bg-blue-100"
onClick={() => onBulkAction('mark-unread')}
>
<EyeOff className="h-3.5 w-3.5" />
</Button>
</TooltipTrigger>
<TooltipContent>
<p>Mark as unread</p>
</TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className="h-7 w-7 text-blue-600 hover:text-blue-900 hover:bg-blue-100"
onClick={() => onBulkAction('archive')}
>
<Archive className="h-3.5 w-3.5" />
</Button>
</TooltipTrigger>
<TooltipContent>
<p>Archive</p>
</TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className="h-7 w-7 text-red-600 hover:text-red-700 hover:bg-red-50"
onClick={() => onBulkAction('delete')}
>
<Trash2 className="h-3.5 w-3.5" />
</Button>
</TooltipTrigger>
<TooltipContent>
<p>Delete</p>
</TooltipContent>
</Tooltip>
</TooltipProvider>
</div>
</div>
);
}