- Add search input field to filter blocked dates
- Search works on both date and note fields
- Show count: 'Viser X af Y blokeringer'
- Max height with scroll for long lists (max-h-96)
- Hover effect on list items for better UX
- Empty state when no matches found
Breaking change: Weekly schedule is now reference-only
- Remove nonWorking modifier and gray styling
- All calendar days show as green (available) by default
- Only manually blocked dates show as red
- Remove confirmation prompts about work schedule
- Update UI text to clarify: 'all days are open unless manually blocked'
- Weekly schedule section now explains it's reference information only
This aligns with the actual business logic: Christian sets his normal
work hours for 2-3 weeks at a time, and the calendar should be open
for bookings on all days unless he manually blocks specific dates
(vacation, sick days, etc.)
- Clear pendingDates after successful blocking
- Add key props to DayPicker to force re-render on state change
- Improve error handling with revert on failure
- Call fetchAll() after batch operations to get real IDs
- Add modifiersClassNames to both DayPicker modes (single and multiple)
- Blocked dates now show with rdp-day_blocked class (red background)
- NonWorking and pending modifiers also properly styled
- Improve layout: single column with centered calendar
- Better spacing and hover effects on buttons
Features:
- Toast notifications system (replaces alerts/confirms)
- Shift+click range selection for blocking dates
- Ctrl/Cmd+click for non-contiguous multi-date selection
- Progress indicators for all async operations
- Improved blocked dates list with formatted dates
- Red styling for blocked dates in calendar
- Blue styling for pending dates (Ctrl+click)
- Weekly schedule awareness (confirm before blocking work days)
- Non-working day styling (gray, dashed border)
Other improvements:
- Featured flag for menus (DB migration script included)
- Image handling fixes (renamed PNG files, updated references)
- Optimistic UI updates for better UX
- Multi-select bulk delete for blocked dates
- Show-only-blocked filter mode
Components:
- src/components/ui/toast.tsx (new)
- scripts/add-featured-column.mjs (new DB migration)
- scripts/README.md (migration documentation)