render overtime anytime needed

This commit is contained in:
Marc Rejohn Castillano 2026-03-16 19:46:51 +08:00
parent 81853c4367
commit eeab3b1fcf

View File

@ -402,6 +402,15 @@ class _CheckInTabState extends ConsumerState<_CheckInTab> {
.where((l) => (l.justification ?? '').trim().isNotEmpty)
.toList();
// Roles allowed to render overtime anytime
final allowedOvertimeRoles = {
'admin',
'programmer',
'dispatcher',
'it_staff',
};
final canRenderOvertime = allowedOvertimeRoles.contains(profile.role);
return SingleChildScrollView(
padding: const EdgeInsets.all(16),
child: Column(
@ -649,9 +658,9 @@ class _CheckInTabState extends ConsumerState<_CheckInTab> {
if (activeOvertimeLog.isNotEmpty || _overtimeLogId != null)
_buildActiveOvertimeCard(context, theme, colors, activeOvertimeLog)
else if (todaySchedule.isEmpty &&
activeLog.isEmpty &&
_overtimeLogId == null)
else if (_overtimeLogId == null &&
(canRenderOvertime ||
(todaySchedule.isEmpty && activeLog.isEmpty)))
_buildOvertimeCard(context, theme, colors)
else if (todaySchedule.isEmpty &&
(activeLog.isNotEmpty || _overtimeLogId != null))