+
No shifts found
++ {new Date(day.date).toLocaleDateString('en-US', { weekday: 'long' })} +
+Shifts
+No daily shifts for this month
+No shifts to display
+ )} +Total
+{totalItems}
+Scheduled
++ {shifts.filter(s => s.status === 'scheduled').length} +
+In Progress
++ {shifts.filter(s => s.status === 'in_progress').length} +
+Completed
++ {shifts.filter(s => s.status === 'completed').length} +
+| Staff | +Date | +Type | +Time | +Dept | +Status | +Actions | +
|---|---|---|---|---|---|---|
|
+ {shift.staff_name || `Staff #${shift.staff_id}`}
+ |
+
+ {formatDate(shift.shift_date)}
+ |
+ + + {shiftTypes.find((t) => t.value === shift.shift_type)?.label || shift.shift_type} + + | +
+ {shift.start_time} - {shift.end_time}
+ {shift.break_duration_minutes && (
+ Break: {shift.break_duration_minutes} min
+ )}
+ |
+ + {shift.department || '—'} + | +
+
+
+ {statusBadge.label}
+
+ {shift.actual_start_time && (
+
+ ✓
+
+ )}
+
+ |
+
+
+
+ {canCancelShift(shift) && (
+
+ )}
+
+ |
+
No shifts found
++ Are you sure you want to delete the shift for{' '} + + {shiftToDelete.staff_name || `Staff #${shiftToDelete.staff_id}`} + {' '} + on {formatDate(shiftToDelete.shift_date)}? This action cannot be undone. +
+Cancel Shift
++ Are you sure you want to cancel this shift for {selectedShift.staff_name}? +
+{actionBlocked.message}
+Manage staff and housekeeping schedules and shifts
-Total Shifts
-{totalItems}
-Scheduled
-{getScheduledShifts()}
-In Progress
-{getInProgressShifts()}
-Completed
-{getCompletedShifts()}
-| - Staff Member - | -- Date - | -- Shift Type - | -- Time - | -- Department - | -- Status - | -- Actions - | -
|---|---|---|---|---|---|---|
|
- {shift.staff_name || `Staff #${shift.staff_id}`}
- |
-
-
- {formatDate(shift.shift_date)}
-
- |
- - - {shiftTypes.find((t) => t.value === shift.shift_type)?.label || shift.shift_type} - - | -
-
- {shift.start_time} - {shift.end_time}
-
- {shift.break_duration_minutes && (
-
- Break: {shift.break_duration_minutes} min
-
- )}
- |
- - {shift.department || '—'} - | -- - {statusBadge.label} - - | -
-
-
-
-
- |
-
No shifts found
-