From 7e872b34de8fe19a0a360c82e0cc2f4aabe8d0b0 Mon Sep 17 00:00:00 2001 From: Ben Grant Date: Tue, 1 Jun 2021 14:17:17 +1000 Subject: [PATCH] Fix calendar field weekdays selector --- .../src/components/CalendarField/CalendarField.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crabfit-frontend/src/components/CalendarField/CalendarField.tsx b/crabfit-frontend/src/components/CalendarField/CalendarField.tsx index 2ce8897..0844a8b 100644 --- a/crabfit-frontend/src/components/CalendarField/CalendarField.tsx +++ b/crabfit-frontend/src/components/CalendarField/CalendarField.tsx @@ -220,6 +220,16 @@ const CalendarField = ({ selected={selectedDays.includes(((i + weekStart) % 7 + 7) % 7)} selecting={selectingDays.includes(((i + weekStart) % 7 + 7) % 7)} mode={mode} + type="button" + onKeyPress={e => { + if (e.key === ' ' || e.key === 'Enter') { + if (selectedDays.includes(((i + weekStart) % 7 + 7) % 7)) { + setSelectedDays(selectedDays.filter(d => d !== ((i + weekStart) % 7 + 7) % 7)); + } else { + setSelectedDays([...selectedDays, ((i + weekStart) % 7 + 7) % 7]); + } + } + }} onPointerDown={(e) => { startPos.current = i; setMode(selectedDays.includes(((i + weekStart) % 7 + 7) % 7) ? 'remove' : 'add');