marco.pms.mobileapp/lib/controller/subscriptions/subscription_controller.dart

39 lines
1.0 KiB
Dart

import 'package:get/get.dart';
import 'package:marco/helpers/services/api_service.dart';
class SubscriptionController extends GetxController {
var plans = <Map<String, dynamic>>[].obs;
var isLoading = true.obs;
// Frequency tabs
final frequencies = ['monthly', 'quarterly', 'half-yearly', 'yearly'];
var selectedFrequency = 'monthly'.obs;
@override
void onInit() {
super.onInit();
fetchPlans(selectedFrequency.value);
}
Future<void> fetchPlans(String frequency) async {
try {
isLoading.value = true;
selectedFrequency.value = frequency;
final response = await ApiService.getSubscriptionPlans(frequency);
if (response != null &&
response['success'] == true &&
response['data'] != null) {
plans.value = List<Map<String, dynamic>>.from(response['data']);
} else {
plans.clear();
}
} catch (e) {
print("Error fetching plans: $e");
plans.clear();
} finally {
isLoading.value = false;
}
}
}