39 lines
1.0 KiB
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;
|
|
}
|
|
}
|
|
}
|