/// 대시보드 KPI 카드에 사용할 수치 정보.
class DashboardKpi {
  const DashboardKpi({
    required this.key,
    required this.label,
    required this.value,
    this.trendLabel,
    this.delta,
  });

  /// API에서 식별 목적으로 사용하는 키 (예: inbound, outbound)
  final String key;

  /// 사용자에게 노출할 라벨.
  final String label;

  /// KPI 수치(건수 등)
  final num value;

  /// 전일 대비 등 비교 텍스트.
  final String? trendLabel;

  /// 증감 퍼센트(선택)
  final double? delta;

  /// 카드에 표시할 값 문자열을 생성한다.
  String get displayValue {
    if (value is int || value == value.roundToDouble()) {
      return '${value.round()}건';
    }
    return value.toString();
  }
}
