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'; import { useI18n } from '@/lib/i18n'; 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 { t } = useI18n(); const canMoveToFolder = Boolean(scopeKey) && !archivedBucket; const destructiveLabel = archivedBucket ? t('sessions.sidebar.bulkActions.delete') : t('sessions.sidebar.bulkActions.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 (
{t('sessions.sidebar.bulkActions.selectedCount', { count: selectedCount })}
{canMoveToFolder ? (

{t('sessions.sidebar.bulkActions.moveToFolder')}

{scopeFolders.length === 0 ? ( {t('sessions.sidebar.folders.none')} ) : ( scopeFolders.map((folder) => ( onMoveToFolder(folder.id)}> {folder.name} )) )} {t('sessions.sidebar.folders.newFolderEllipsis')} {canRemoveFromFolder ? ( {t('sessions.sidebar.folders.removeFromFolder')} ) : null}
) : null}

{destructiveLabel}

{t('sessions.sidebar.header.actions.exitSelection')}

); };