import 'package:flutter/material.dart'; import '../core/theme/context_tokens.dart'; import 'kpi_card.dart'; enum OrderStatus { draft, pending, approved, rejected } extension OrderStatusLabel on OrderStatus { String get label { switch (this) { case OrderStatus.draft: return '草稿'; case OrderStatus.pending: return '待审核'; case OrderStatus.approved: return '已审核'; case OrderStatus.rejected: return '已拒绝'; } } } class StatusBadge extends StatelessWidget { final OrderStatus status; const StatusBadge(this.status, {super.key}); @override Widget build(BuildContext context) { final t = context.tokens; // 还原原型 .badge.b-*:圆点 + 软底,色全走 token。 final (Color fg, Color bg) = switch (status) { OrderStatus.draft => (t.muted, t.infoSoft), OrderStatus.pending => (t.warn, t.warnBg), OrderStatus.approved => (t.success, t.successBg), OrderStatus.rejected => (t.danger, t.dangerBg), }; return StatusPill(label: status.label, color: fg, background: bg); } }