"use client"
import { Badge } from "@/components/ui/badge"
import type { TicketItem } from "@/lib/api/ticket"
function isClosedStatus(status: string) {
return status === "resolved" || status === "closed" || status === "cancelled"
}
export function TicketSLABadge({ ticket }: { ticket: TicketItem }) {
if (isClosedStatus(ticket.status)) {
return (
已结束
)
}
if (!ticket.resolveDeadlineAt) {
return (
未设置
)
}
const deadline = new Date(ticket.resolveDeadlineAt.replace(" ", "T"))
if (Number.isNaN(deadline.getTime())) {
return (
未设置
)
}
const remainingMinutes = Math.floor((deadline.getTime() - Date.now()) / 60000)
if (remainingMinutes < 0) {
return (
已超时
)
}
if (remainingMinutes <= 60) {
return (
1 小时内
)
}
if (remainingMinutes <= 240) {
return (
今日风险
)
}
return (
正常
)
}