From 41ab77d136d504e12f7ef98568197599b6012301 Mon Sep 17 00:00:00 2001 From: Vaibhav Surve Date: Tue, 4 Nov 2025 15:47:15 +0530 Subject: [PATCH] refactor: Enhance employee sorting by action priority and latest entry time --- lib/view/Attendence/attendance_logs_tab.dart | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/view/Attendence/attendance_logs_tab.dart b/lib/view/Attendence/attendance_logs_tab.dart index 61b9021..9bb3bdc 100644 --- a/lib/view/Attendence/attendance_logs_tab.dart +++ b/lib/view/Attendence/attendance_logs_tab.dart @@ -178,11 +178,19 @@ class _AttendanceLogsTabState extends State { child: MyText.bodyMedium(date, fontWeight: 700), ), - // Sort employees inside this date by action priority + // Sort employees inside this date by action priority first, then latest entry for (final emp in (groupedLogs[date]! ..sort( - (a, b) => _getActionPriority(a) - .compareTo(_getActionPriority(b)), + (a, b) { + final priorityCompare = _getActionPriority(a) + .compareTo(_getActionPriority(b)); + if (priorityCompare != 0) return priorityCompare; + + final aTime = a.checkOut ?? a.checkIn ?? DateTime(0); + final bTime = b.checkOut ?? b.checkIn ?? DateTime(0); + return bTime.compareTo( + aTime); + }, ))) ...[ MyContainer( paddingAll: 8,