+
Staff
+ {dateRange.map((d, i) => {
+ const isWeekend = d.getDay() === 0 || d.getDay() === 6;
+ const isToday = d.toDateString() === new Date().toDateString();
+ return (
+
+ {d.toLocaleDateString('en-AU', { weekday: 'short' })}
+ {d.getDate()}
+
+ );
+ })}
+
+
+ {/* Staff Rows */}
+ {orderedStaff.map(s => (
+
+
onDragStart(e, s.uuid)}
+ onDragOver={(e) => e.preventDefault()}
+ onDrop={(e) => onDrop(e, s.uuid)}
+ style={{ cursor: 'grab' }}
+ title="Drag to reorder"
+ >
+ {s.name}
+
+ {dateRange.map((d, i) => {
+ const dayData = getDayData(s.uuid, d);
+ const isWeekend = d.getDay() === 0 || d.getDay() === 6;
+ return (
+
handleMouseEnter(e, s.uuid, d, dayData)}
+ onMouseLeave={() => setHoveredDay(null)}
+ >
+ {dayData?.job_count > 0 && {dayData.job_count}}
+
+ );
+ })}
+