Update: 2026-06-25 01:37:22

This commit is contained in:
Hamza-Ayed
2026-06-25 01:37:23 +03:00
parent 014b9a78da
commit 1ff13f09ac
8 changed files with 89 additions and 25 deletions

View File

@@ -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);