From 144976de00522c70ad4cd314c046210521270b14 Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Sat, 31 Jan 2026 21:04:08 -0500 Subject: [PATCH] feat: Update roleId assignment and filter past shifts in ShiftsBloc --- .../shifts_repository_impl.dart | 2 +- .../presentation/blocs/shifts/shifts_bloc.dart | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/apps/mobile/packages/features/staff/shifts/lib/src/data/repositories_impl/shifts_repository_impl.dart b/apps/mobile/packages/features/staff/shifts/lib/src/data/repositories_impl/shifts_repository_impl.dart index 564d2848..3d40e268 100644 --- a/apps/mobile/packages/features/staff/shifts/lib/src/data/repositories_impl/shifts_repository_impl.dart +++ b/apps/mobile/packages/features/staff/shifts/lib/src/data/repositories_impl/shifts_repository_impl.dart @@ -246,7 +246,7 @@ class ShiftsRepositoryImpl implements ShiftsRepositoryInterface { await _dataConnect.createApplication( shiftId: shiftId, staffId: staffId, - roleId: role.id, + roleId: role.roleId, status: isInstantBook ? dc.ApplicationStatus.ACCEPTED : dc.ApplicationStatus.PENDING, origin: dc.ApplicationOrigin.STAFF, ).execute(); diff --git a/apps/mobile/packages/features/staff/shifts/lib/src/presentation/blocs/shifts/shifts_bloc.dart b/apps/mobile/packages/features/staff/shifts/lib/src/presentation/blocs/shifts/shifts_bloc.dart index 1b21f68b..d2983315 100644 --- a/apps/mobile/packages/features/staff/shifts/lib/src/presentation/blocs/shifts/shifts_bloc.dart +++ b/apps/mobile/packages/features/staff/shifts/lib/src/presentation/blocs/shifts/shifts_bloc.dart @@ -55,7 +55,7 @@ class ShiftsBloc extends Bloc { myShifts: myShiftsResult, pendingShifts: pendingResult, cancelledShifts: cancelledResult, - availableShifts: availableResult, + availableShifts: _filterPastShifts(availableResult), historyShifts: historyResult, searchQuery: '', jobType: 'all', @@ -81,7 +81,7 @@ class ShiftsBloc extends Bloc { )); emit(currentState.copyWith( - availableShifts: result, + availableShifts: _filterPastShifts(result), searchQuery: event.query ?? currentState.searchQuery, jobType: event.jobType ?? currentState.jobType, )); @@ -90,4 +90,17 @@ class ShiftsBloc extends Bloc { } } } + + List _filterPastShifts(List shifts) { + final now = DateTime.now(); + return shifts.where((shift) { + if (shift.date.isEmpty) return false; + try { + final shiftDate = DateTime.parse(shift.date); + return shiftDate.isAfter(now); + } catch (_) { + return false; + } + }).toList(); + } }