import 'package:flutter/material.dart';

class DealUtils {

  /// 去除多余0
  static String cleanNumber(String value) {
    try {
      return value.replaceAll(RegExp(r'\.?0+$'), '');
    } catch (e) {
      // rethrow;
      return value;
    }
  }

  /// 电流，电压
  static String formatVoltage(String input) {
    if (input.isEmpty) return input;

    try {
      // 匹配开头的数字部分（包括小数）
      RegExp regExp = RegExp(r'^([\d.]+)');
      String? numberPart = regExp.firstMatch(input)?.group(1);
      String unitPart = input.replaceFirst(RegExp(r'^[\d.]+'), '');

      if (numberPart == null) return input;

      // 去掉尾随的零和多余的小数点
      String formattedNumber = numberPart
          .replaceFirst(RegExp(r'\.?0+$'), '') // 去掉末尾的0和可能的小数点
          .replaceFirst(RegExp(r'\.$'), '');   // 如果只剩小数点，去掉

      return formattedNumber + unitPart;
    } catch (e) {
      // rethrow;
      return input;
    }
  }

  /// 设备图标
  static IconData deviceIcon(String deviceTypeIcon) {
    if (deviceTypeIcon.isEmpty) return Icons.devices_other;

    switch (deviceTypeIcon) {
      case 'aircon':
        return Icons.air_outlined;
      case 'light':
        return Icons.light_outlined;
      case 'tv':
        return Icons.tv_outlined;
      case 'curtain':
        return Icons.blinds_outlined;
      case 'switch':
        return Icons.power_settings_new;
      case 'breaker':
        return Icons.power;
      case 'gateway':
        return Icons.wifi;
      case 'sensor':
        return Icons.sensors;

      case 'current':
        return Icons.electric_bolt;
      case 'voltage':
        return Icons.speed;
      case 'power':
        return Icons.electric_meter;

      default:
        return Icons.devices_other;
    }
  }

  /// 设备图标
  // static String deviceIcon(String deviceTypeIcon) {
  //   switch (deviceTypeIcon) {
  //     case 'air-vent':
  //       return 'lib/assets/icon/device_air_bg.png';
  //     case 'lightbulb':
  //       return 'lib/assets/icon/device_light_bg.png';
  //     case 'tv':
  //       return 'lib/assets/icon/device_tv_bg.png';
  //     case 'panel-top':
  //       return 'lib/assets/icon/device_panel_bg.png';
  //     case 'zap':
  //       return 'lib/assets/icon/device_zap_bg.png';
  //     case 'wifi':
  //       return 'lib/assets/icon/device_wifi_bg.png';
  //     case 'meeting':
  //       return 'lib/assets/icon/device_meeting_bg.png';
  //   }
  // }

}