'use client';

import { AlertDialog } from '@/components/ui/alert-dialog';
import { api } from '@/lib/api';

type Department = {
  id: string;
  name: string;
  head: string;
  trainersCount: number;
  activeClients: number;
  description: string;
};

type DeleteDepartmentDialogProps = {
  open: boolean;
  onClose: () => void;
  onDeleted: () => void;
  department: Department | null;
};

export function DeleteDepartmentDialog({
  open,
  onClose,
  onDeleted,
  department,
}: DeleteDepartmentDialogProps) {
  const handleConfirm = async () => {
    if (!department) return;
    await api.delete(`/departments/${department.id}`);
    onDeleted();
  };

  return (
    <AlertDialog
      open={open}
      onClose={onClose}
      onConfirm={handleConfirm}
      title="Удалить департамент"
      description={
        department
          ? `Вы уверены, что хотите удалить департамент "${department.name}"? Все связанные данные будут потеряны. Это действие нельзя отменить.`
          : ''
      }
      confirmLabel="Удалить"
      cancelLabel="Отмена"
      variant="danger"
    />
  );
}
