import { IconTrash, IconEdit, IconDownload } from '@tabler/icons-react';
import FloatingBulkActionsBar from './FloatingBulkActionsBar.jsx';

/**
 * Панель массовых действий для таблиц (всплывающая, как на скрине).
 * Показывается когда выбраны элементы. Использует единый дизайн тёмной плавающей панели.
 * «Выбрать все» остаётся в тулбаре/шапке таблицы (чекбокс).
 */
function BulkActionsBar({
  selectedCount = 0,
  totalCount = 0,
  onSelectAll = () => {},
  onDeselectAll = () => {},
  onDelete = null,
  onEdit = null,
  onExport = null,
  customActions = [],
  className = '',
}) {
  const actions = [];

  if (onExport) {
    actions.push({
      type: 'button',
      label: 'Экспорт',
      icon: IconDownload,
      onClick: onExport,
      title: 'Экспортировать выбранное',
    });
  }

  if (onEdit) {
    actions.push({
      type: 'button',
      label: 'Изменить',
      icon: IconEdit,
      onClick: onEdit,
      title: 'Редактировать выбранное',
    });
  }

  customActions.forEach((action) => {
    actions.push({
      type: 'button',
      label: action.label,
      icon: action.icon,
      onClick: action.onClick,
      variant: action.variant === 'btn-outline-danger' || action.variant === 'danger' ? 'danger' : undefined,
      title: action.title,
    });
  });

  if (onDelete) {
    actions.push({
      type: 'button',
      label: 'Удалить',
      icon: IconTrash,
      onClick: onDelete,
      variant: 'danger',
      title: 'Удалить выбранное',
    });
  }

  return (
    <FloatingBulkActionsBar
      selectedCount={selectedCount}
      onClearSelection={onDeselectAll}
      actions={actions}
    />
  );
}

export default BulkActionsBar;
