import type { BadgeProps } from 'antd';
import { Badge } from 'antd';
import React from 'react';

interface BadgeTripStatusProps {
  status?: number;
}

const BadgeTripStatus: React.FC<BadgeTripStatusProps> = ({ status }) => {
  // Khai báo kiểu cho map
  const statusBadgeMap: Record<number, BadgeProps> = {
    0: { status: 'default' }, // Đã khởi tạo
    1: { status: 'processing' }, // Chờ duyệt
    2: { status: 'success' }, // Đã duyệt
    3: { status: 'success' }, // Đang hoạt động
    4: { status: 'success' }, // Hoàn thành
    5: { status: 'error' }, // Đã huỷ
  };

  const getBadgeProps = (status: number | undefined) => {
    switch (status) {
      case 0:
        return 'Chưa được phê duyệt';
      case 1:
        return 'Đang chờ duyệt';
      case 2:
        return 'Đã duyệt';
      case 3:
        return 'Đang hoạt động';
      case 4:
        return 'Đã hoàn thành';
      case 5:
        return 'Đã huỷ';
      default:
        return 'Trạng thái không xác định';
    }
  };

  const badgeProps: BadgeProps = statusBadgeMap[status ?? -1] || {
    status: 'default',
  };

  return <Badge {...badgeProps} text={getBadgeProps(status)} />;
};

export default BadgeTripStatus;
