import { useIntl } from '@umijs/max'; import type { BadgeProps } from 'antd'; import { Badge } from 'antd'; import React from 'react'; interface BadgeTripStatusProps { status?: number; } const BadgeTripStatus: React.FC = ({ status }) => { const intl = useIntl(); // Khai báo kiểu cho map const statusBadgeMap: Record = { 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 intl.formatMessage({ id: 'trip.badge.notApproved' }); case 1: return intl.formatMessage({ id: 'trip.badge.waitingApproval' }); case 2: return intl.formatMessage({ id: 'trip.badge.approved' }); case 3: return intl.formatMessage({ id: 'trip.badge.active' }); case 4: return intl.formatMessage({ id: 'trip.badge.completed' }); case 5: return intl.formatMessage({ id: 'trip.badge.cancelled' }); default: return intl.formatMessage({ id: 'trip.badge.unknown' }); } }; const badgeProps: BadgeProps = statusBadgeMap[status ?? -1] || { status: 'default', }; return ; }; export default BadgeTripStatus;