Update: 2026-06-25 01:37:22
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
import 'dart:convert';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_rider/constant/box_name.dart';
|
||||
import 'package:siro_rider/constant/links.dart';
|
||||
import 'package:siro_rider/controller/functions/crud.dart';
|
||||
import 'package:siro_rider/main.dart';
|
||||
|
||||
class InvitesRewardsController extends GetxController {
|
||||
bool isLoading = false;
|
||||
@@ -22,18 +23,29 @@ class InvitesRewardsController extends GetxController {
|
||||
update();
|
||||
|
||||
try {
|
||||
// Ensure a referral code exists first (creates one if not)
|
||||
var codeResponse = await CRUD().post(
|
||||
link: AppLink.getUnifiedCode,
|
||||
payload: {},
|
||||
);
|
||||
|
||||
if (codeResponse != 'failure' && codeResponse['status'] == 'success') {
|
||||
referralCode = codeResponse['message']['referral_code'];
|
||||
}
|
||||
|
||||
var response = await CRUD().post(
|
||||
link: AppLink.getPassengerReferrals,
|
||||
payload: {} // Token is automatically handled by CRUD()
|
||||
payload: {
|
||||
'country_code': box.read(BoxName.countryCode) ?? 'Jordan',
|
||||
},
|
||||
);
|
||||
|
||||
if (response != 'failure') {
|
||||
var data = jsonDecode(response);
|
||||
if (data['status'] == 'success') {
|
||||
referralCode = data['message']['referral_code'];
|
||||
totalInvitedDrivers = data['message']['total_invited_drivers'] ?? 0;
|
||||
totalInvitedPassengers = data['message']['total_invited_passengers'] ?? 0;
|
||||
referrals = data['message']['referrals'] ?? [];
|
||||
if (response['status'] == 'success') {
|
||||
referralCode ??= response['message']['referral_code'];
|
||||
totalInvitedDrivers = response['message']['total_invited_drivers'] ?? 0;
|
||||
totalInvitedPassengers = response['message']['total_invited_passengers'] ?? 0;
|
||||
referrals = response['message']['referrals'] ?? [];
|
||||
} else {
|
||||
referrals = [];
|
||||
}
|
||||
@@ -61,11 +73,10 @@ class InvitesRewardsController extends GetxController {
|
||||
Get.back(); // close loading
|
||||
|
||||
if (response != 'failure') {
|
||||
var data = jsonDecode(response);
|
||||
if (data['status'] == 'success') {
|
||||
if (response['status'] == 'success') {
|
||||
Get.snackbar("Success".tr, "You have been successfully referred!".tr, backgroundColor: Colors.green, colorText: Colors.white);
|
||||
} else {
|
||||
Get.snackbar("Notice".tr, data['message'] ?? "Could not add invite".tr);
|
||||
Get.snackbar("Notice".tr, response['message'] ?? "Could not add invite".tr);
|
||||
}
|
||||
} else {
|
||||
Get.snackbar("Error".tr, "Network error occurred".tr);
|
||||
|
||||
Reference in New Issue
Block a user