import 'dart:convert'; import 'package:fl_chart/fl_chart.dart'; 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; Future getRidesAdminDash() async { isLoading = true; update(); var res = await CRUD().get(link: AppLink.getRidesPerMonth, payload: {}); jsonResponse = jsonDecode(res); rideData = (jsonResponse['message'] as List) .map((item) => RideData.fromJson(item)) .toList(); chartData = rideData .map((data) => FlSpot(data.day.toDouble(), data.ridesCount.toDouble())) .toList(); isLoading = false; update(); } Future getRidesDetails() async { isLoading = true; update(); var res = await CRUD().get(link: AppLink.getRidesDetails, payload: {}); var d = jsonDecode(res); ridesDetails = d['message']; isLoading = false; update(); } @override void onInit() { getRidesAdminDash(); getRidesDetails(); super.onInit(); } }