import 'package:flutter/material.dart';
import 'package:sefer_driver/controller/functions/crud.dart';

class PayoutService {
  final String _baseUrl =
      "https://walletintaleq.intaleq.xyz/v1/main/sms_webhook";
  static const double payoutFee = 5000.0; // عمولة السحب الثابتة

  /// دالة لإنشاء طلب سحب جديد على السيرفر
  ///
  /// تعيد رسالة النجاح من السيرفر، أو رسالة خطأ في حال الفشل.
  Future<String?> requestPayout({
    required String driverId,
    walletType,
    payoutPhoneNumber,
    required double amount,
  }) async {
    final url = ("$_baseUrl/request_payout.php");
    try {
      // هنا يمكنك إضافة هيدرز المصادقة (JWT) بنفس طريقتك المعتادة
      final response = await CRUD().postWallet(link: url, payload: {
        'driverId': driverId,
        'amount': amount.toString(),
        'phone': payoutPhoneNumber.toString(),
        'wallet_type': walletType.toString(),
      }).timeout(const Duration(seconds: 20));

      if (response != 'failure') {
        final data = (response);
        if (data['status'] == 'success') {
          debugPrint("Payout request successful: ${data['message']}");
          return data['message']; // إرجاع رسالة النجاح
        } else {
          debugPrint("Payout request failed: ${data['message']}");
          return "فشل الطلب: ${data['message']}"; // إرجاع رسالة الخطأ من السيرفر
        }
      } else {
        return "خطأ في الاتصال بالسيرفر: ${response.statusCode}";
      }
    } catch (e) {
      debugPrint("Exception during payout request: $e");
      return "حدث خطأ غير متوقع. يرجى المحاولة مرة أخرى.";
    }
  }
}
