import 'dart:convert'; import 'package:get/get.dart'; import 'package:ride/constant/links.dart'; import 'package:ride/controller/functions/crud.dart'; import '../../models/model/admin/monthly_ride.dart'; class RideAdminController extends GetxController { bool isLoading = false; late List rideData; late Map jsonResponse; List ridesDetails = []; // var chartData; late List chartDatasync; Future getRidesAdminDash() async { isLoading = true; update(); var res = await CRUD().get(link: AppLink.getRidesPerMonth, payload: {}); jsonResponse = jsonDecode(res); chartDatasync = (jsonResponse['message'] as List) .map((item) => ChartDataS( item['year'], item['month'], item['day'], item['rides_count'], )) .toList(); isLoading = false; update(); } Future getRidesDetails() async { var res = await CRUD().get(link: AppLink.getRidesDetails, payload: {}); var d = jsonDecode(res); ridesDetails = d['message']; isLoading = false; update(); } @override void onInit() async { List initializationTasks = [ getRidesAdminDash(), getRidesDetails(), ]; // cameras = await availableCameras(); await Future.wait(initializationTasks); super.onInit(); } } class ChartDataS { ChartDataS(this.year, this.month, this.day, this.ridesCount); final int year; final int month; final int day; final int ridesCount; }