diff --git a/lib/provider/etqan_ovr_provider.dart b/lib/provider/etqan_ovr_provider.dart index 1f6ab80..deba5ba 100644 --- a/lib/provider/etqan_ovr_provider.dart +++ b/lib/provider/etqan_ovr_provider.dart @@ -112,6 +112,17 @@ class EtqanOvrProviderModel with ChangeNotifier, DiagnosticableTreeMixin { Utils.showLoading(context); getEtqanEmployeeRequestsList?.clear(); getEtqanEmployeeRequestsList = await EtqanApiClient().getEmployeeEtqanRequests(); + + // Sort by createdDate in descending order (newest first) + if (getEtqanEmployeeRequestsList != null && getEtqanEmployeeRequestsList!.isNotEmpty) { + getEtqanEmployeeRequestsList!.sort((a, b) { + if (a.createdDate == null && b.createdDate == null) return 0; + if (a.createdDate == null) return 1; + if (b.createdDate == null) return -1; + return b.createdDate!.compareTo(a.createdDate!); + }); + } + Utils.hideLoading(context); isLoading = false; notifyListeners(); @@ -191,6 +202,17 @@ class EtqanOvrProviderModel with ChangeNotifier, DiagnosticableTreeMixin { Utils.hideLoading(context); if (response != null) { getEtqanEmployeeRequestsList = await EtqanApiClient().getEmployeeEtqanRequests(); + + // Sort by ticketNumber in descending order (newest first) + if (getEtqanEmployeeRequestsList != null && getEtqanEmployeeRequestsList!.isNotEmpty) { + getEtqanEmployeeRequestsList!.sort((a, b) { + if (a.ticketNumber == null && b.ticketNumber == null) return 0; + if (a.ticketNumber == null) return 1; + if (b.ticketNumber == null) return -1; + return b.ticketNumber!.compareTo(a.ticketNumber!); + }); + } + notifyListeners(); return response; } diff --git a/lib/ui/etqan_ovr/etqan_ovr_home.dart b/lib/ui/etqan_ovr/etqan_ovr_home.dart index c4174a1..978f894 100644 --- a/lib/ui/etqan_ovr/etqan_ovr_home.dart +++ b/lib/ui/etqan_ovr/etqan_ovr_home.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:easy_localization/easy_localization.dart' as lclize; import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; @@ -74,7 +76,8 @@ class _EtqanOvrHomeState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - (data.description ?? "").toText12(color: MyColors.grey57Color), + (data.description ?? "").toText12(color: MyColors.grey57Color).expanded, + const SizedBox(width: 5,), RotatedBox( quarterTurns: AppState().isArabic(context) ? 2 : 0, child: SvgPicture.asset("assets/images/arrow_next.svg", color: MyColors.grey70Color, width: 16, height: 16),