Kairo-Jinkendo/frontend/src/components/StatusBadge.jsx

44 lines
1.3 KiB
React
Raw Normal View History

import { STATUS_LABELS_BY_KIND } from '../constants/status.js'
const VARIANTS = {
active: 'status-active',
paused: 'status-paused',
completed: 'status-completed',
archived: 'status-archived',
open: 'status-open',
in_progress: 'status-progress',
blocked: 'status-blocked',
done: 'status-done',
discarded: 'status-discarded',
new: 'status-open',
triaged: 'status-progress',
accepted: 'status-active',
rejected: 'status-discarded',
converted: 'status-done',
planned: 'status-open',
at_risk: 'status-blocked',
reached: 'status-done',
moved: 'status-paused',
resolved: 'status-done',
accepted_risk: 'status-paused',
dismissed: 'status-discarded',
ready: 'status-active',
review_required: 'status-progress',
submitted: 'status-open',
accepted: 'status-done',
rejected: 'status-discarded',
proposed: 'status-open',
decided: 'status-done',
superseded: 'status-paused',
completed: 'status-done',
skipped: 'status-paused',
ended: 'status-archived',
}
export function StatusBadge({ kind = 'action', status }) {
const labels = STATUS_LABELS_BY_KIND[kind] || STATUS_LABELS_BY_KIND.action
const label = labels[status] || status
const variant = VARIANTS[status] || 'status-default'
return <span className={`badge status-badge ${variant}`}>{label}</span>
}