@@ -147,9 +153,9 @@ export function GrillePage() {
{shownColumns.map((column) => (
- {column.time}
+ {column.label}
))}
@@ -232,7 +238,10 @@ function PositionRow({
}) {
const byColumn = new Map();
for (const shift of position.shifts) {
- byColumn.set(`${datePart(shift.starts_at)}|${timePart(shift.starts_at)}`, shift);
+ byColumn.set(
+ `${datePart(shift.starts_at)}|${timePart(shift.starts_at)}|${timePart(shift.ends_at)}`,
+ shift,
+ );
}
return (
@@ -272,7 +281,7 @@ function PositionRow({
'relative flex h-9 cursor-pointer items-center justify-center gap-[3px] border-b border-r border-ink',
undefinedNeed && 'bg-sand-dark hover:bg-sand',
isCrit && 'bg-hatch-orange',
- isOver && 'bg-mauve hover:bg-mauve-hover',
+ isOver && 'bg-hatch-mauve hover:bg-mauve-hover',
isInc && 'bg-yellow-soft hover:bg-yellow',
isOk && 'bg-paper hover:bg-green/10',
)}
diff --git a/frontend/src/pages/VolunteerViewPage.tsx b/frontend/src/pages/VolunteerViewPage.tsx
index 3c1ad45..1579f7c 100644
--- a/frontend/src/pages/VolunteerViewPage.tsx
+++ b/frontend/src/pages/VolunteerViewPage.tsx
@@ -55,7 +55,11 @@ export function VolunteerViewPage() {
const cellByKey = new Map();
for (const a of own) {
const shift = shiftsById.get(a.shift_id);
- if (shift) cellByKey.set(`${datePart(shift.starts_at)}|${timePart(shift.starts_at)}`, { ...a, shift });
+ if (shift)
+ cellByKey.set(
+ `${datePart(shift.starts_at)}|${timePart(shift.starts_at)}|${timePart(shift.ends_at)}`,
+ { ...a, shift },
+ );
}
return {
volunteer: v,
diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js
index ce6863a..6e9eacc 100644
--- a/frontend/tailwind.config.js
+++ b/frontend/tailwind.config.js
@@ -37,6 +37,8 @@ export default {
// Hachures « sous-effectif critique »
'hatch-orange':
'repeating-linear-gradient(45deg,#FF5C39 0 6px,#E0421F 6px 12px)',
+ 'hatch-mauve':
+ 'repeating-linear-gradient(45deg,#CBA6E3 0 6px,#BE93D9 6px 12px)',
// Hachures « brouillon »
'hatch-ink':
'repeating-linear-gradient(45deg,#14110E 0 8px,#2A2520 8px 16px)',