import 'package:flutter/services.dart';

/// 震动反馈管理器
class HapticFeedbackManager {
  HapticFeedbackManager._();

  /// 连接开始震动 - 轻微震动
  static void connectionStart() {
    HapticFeedback.lightImpact();
  }

  /// 连接成功震动 - 中等震动
  static void connectionSuccess() {
    HapticFeedback.mediumImpact();
  }

  /// 连接失败震动 - 重震动
  static void connectionFailed() {
    HapticFeedback.heavyImpact();
  }

  /// 连接断开震动 - 轻微震动
  static void connectionDisconnected() {
    HapticFeedback.lightImpact();
  }

  /// 按钮点击震动 - 轻微震动
  static void buttonTap() {
    HapticFeedback.selectionClick();
  }

  /// 成功操作震动 - 成功震动序列
  static void successAction() {
    HapticFeedback.mediumImpact();
    // 延迟后再次震动，创建成功序列
    Future.delayed(const Duration(milliseconds: 100), () {
      HapticFeedback.lightImpact();
    });
  }

  /// 错误操作震动 - 错误震动序列
  static void errorAction() {
    HapticFeedback.heavyImpact();
    // 延迟后再次震动，创建错误序列
    Future.delayed(const Duration(milliseconds: 150), () {
      HapticFeedback.lightImpact();
    });
  }

  /// 警告震动 - 中等震动
  static void warningAction() {
    HapticFeedback.mediumImpact();
  }
}
