import React from 'react'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; import { RiAddLine, RiCloseLine, RiDeleteBinLine, RiFolderLine, } from '@remixicon/react'; import { cn } from '@/lib/utils'; import type { SessionFolder } from '@/stores/useSessionFoldersStore'; type Props = { selectedCount: number; scopeKey: string | null; scopeFolders: SessionFolder[]; archivedBucket: boolean; onMoveToFolder: (folderId: string) => void; onCreateFolderAndMove: () => void; onRemoveFromFolder: () => void; canRemoveFromFolder: boolean; onDelete: () => void; onDone: () => void; }; export const BulkActionBar: React.FC = ({ selectedCount, scopeKey, scopeFolders, archivedBucket, onMoveToFolder, onCreateFolderAndMove, onRemoveFromFolder, canRemoveFromFolder, onDelete, onDone, }) => { const canMoveToFolder = Boolean(scopeKey) && !archivedBucket; const destructiveLabel = archivedBucket ? 'Delete' : 'Archive'; const iconButtonClass = 'inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50'; const destructiveIconButtonClass = 'inline-flex h-7 w-7 items-center justify-center rounded-md text-destructive hover:bg-destructive/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive/50'; return (
{selectedCount} selected
{canMoveToFolder ? (

Move to folder

{scopeFolders.length === 0 ? ( No folders yet ) : ( scopeFolders.map((folder) => ( onMoveToFolder(folder.id)}> {folder.name} )) )} New folder... {canRemoveFromFolder ? ( Remove from folder ) : null}
) : null}

{destructiveLabel}

Exit selection

); };