import 'package:get/get.dart'; import '../../../core/network/dio_client.dart'; import '../../../core/utils/logger.dart'; class ReferralController extends GetxController { var isLoading = true.obs; var referralData = Rxn>(); @override void onInit() { super.onInit(); fetchReferralCode(); } String get code => referralData.value?['code'] ?? ''; String get link => referralData.value?['link'] ?? ''; Map get stats => Map.from(referralData.value?['stats'] ?? {}); List get recent => referralData.value?['recent'] ?? []; Map get rewardRules => Map.from(referralData.value?['reward_rules'] ?? {}); Future fetchReferralCode() async { try { isLoading.value = true; final res = await DioClient().client.get('referral/my-code'); if (res.data['success'] == true) { referralData.value = Map.from(res.data['data']); } } catch (e) { AppLogger.error('Failed to fetch referral code', e); } finally { isLoading.value = false; } } }