/// 장비 정보 표시를 위한 헬퍼 클래스 (SRP, 재사용성, 테스트 용이성 중심)
class EquipmentDisplayHelper {
  /// 제조사명 포맷팅 (빈 값은 대시로 표시)
  static String formatManufacturer(String? manufacturer) {
    if (manufacturer == null || manufacturer.isEmpty) return '-';
    return manufacturer;
  }

  /// 장비명 포맷팅 (빈 값은 대시로 표시)
  static String formatEquipmentName(String? name) {
    if (name == null || name.isEmpty) return '-';
    return name;
  }

  /// 카테고리 포맷팅 (비어있지 않은 카테고리만 합침)
  static String formatCategory(
    String? category,
    String? subCategory,
    String? subSubCategory,
  ) {
    final parts = [
      if (category != null && category.isNotEmpty) category,
      if (subCategory != null && subCategory.isNotEmpty) subCategory,
      if (subSubCategory != null && subSubCategory.isNotEmpty) subSubCategory,
    ];
    if (parts.isEmpty) return '-';
    return parts.join(' > ');
  }

  /// 시리얼 번호 포맷팅 (없으면 대시)
  static String formatSerialNumber(String? serialNumber) {
    return serialNumber?.isNotEmpty == true ? serialNumber! : '-';
  }

  /// 날짜 포맷팅 (YYYY-MM-DD, null이면 대시)
  static String formatDate(DateTime? date) {
    if (date == null) return '-';
    return '${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')}';
  }
}
