import 'package:stacked/stacked.dart'; import 'package:stacked_services/stacked_services.dart'; import 'package:yimaru_app/ui/common/enmus.dart'; import '../../../app/app.locator.dart'; import '../../../app/app.router.dart'; import '../../../models/learn_subscription_request.dart'; import '../../../services/api_service.dart'; import '../../../services/status_checker_service.dart'; class ArifPayViewModel extends BaseViewModel { // Dependency injection final _apiService = locator(); final _statusChecker = locator(); final _navigationService = locator(); // Learn subscription request LearnSubscriptionRequest? _request; LearnSubscriptionRequest? get request => _request; // Navigation void pop() => _navigationService.back(); Future replaceWithHome() async => await _navigationService.clearStackAndShow(Routes.homeView); // Remote api call // Learn subscription Future createLearnSubscriptionRequest(String phone) async => await runBusyFuture(_createLearnSubscriptionRequest(phone), busyObject: StateObjects.learnSubscription); Future _createLearnSubscriptionRequest(String phone) async { if (await _statusChecker.checkConnection()) { Map data = { 'plan_id': 1, 'phone': '251$phone', 'provider': 'ARIFPAY', 'email': 'test@gmail.com', }; Map response = await _apiService.createSubscriptionRequest(data); if (response['status'] == ResponseStatus.success) { _request = response['data']; } } } }