import { EActionType } from 'components/DashboardTable/types';
import { ComponentType } from 'react';

export enum EnumButtonActions {
  Download = 'download',
  Delete = 'delete',
  Exports = 'exports',
  Imports = 'imports',
  Upload = 'upload',
  Update = 'update',
}

export type TypeActionButtonsConfig = {
  alwaysVisible?: true;
  // тип кнопки - Upload || SpecificAction
  actionType: EActionType;
  // Имя кнопки работающее как key
  name: string;
  // ключ, который будет вызывать дефолтный перевод если не передан свой - специфичный
  translationsKey: EnumButtonActions;
  // вызываемый коллбэк для кнопки
  action: (file?: FormData) => void;
  // флаг нужен для того что бы отображались действия при выбранных файлах
  hasSelected?: boolean;
  // файл, который передается при выборе через кнопку Upload
  filename?: string;
  // Иконка
  icon?: ComponentType;
  // перевод для подтверждения действия
  confirmMessage?: string;
  // перевод для тултипа действия
  popoverMessage?: string;
  // расширение для выбираемого файла
  accept?: string;
};
