Kairo-Jinkendo/frontend/src/components/StatusBadge.jsx
Lars a025542545
All checks were successful
Deploy Development / deploy (push) Successful in 43s
Test Suite / pytest-backend (push) Successful in 1m6s
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
Test Suite / k6 /api/health Baseline (push) Successful in 21s
Test Suite / playwright-smoke (push) Successful in 14s
AP0.9: Operating Model Extension II (Evidence, Decision, Review, Recurring, due_at)
Schließt den zweiten OM-Slice entlang der Roadmap: neue Entitäten parallel im Vorhaben, erweiterte Action-Status/Fälligkeit und Attention-Regeln 7–9.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-05 15:27:03 +02:00

44 lines
1.3 KiB
JavaScript

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>
}