calendar/frontend
jtricerolph ca0dc9b070 Add recurring events, push notifications, config sync — and mobile layout fixes
Recurring event editing (rrule) with this/all occurrence scope, web push
subscriptions (VAPID) with a cached config layer for notification settings,
and email delivery via nodemailer.

Also fixes the calendar view never actually stacking on mobile: the
Calendars filter column used flex:1 with minWidth:0 on its sibling, so
flex-wrap never triggered regardless of viewport width, squeezing the grid
and view switcher into a sliver next to a fixed 220px sidebar. Adds a
proper mobile breakpoint that stacks the layout, scrolls the week grid
horizontally instead of compressing it, and enlarges touch targets.
2026-07-25 23:04:59 +00:00
..
src Add recurring events, push notifications, config sync — and mobile layout fixes 2026-07-25 23:04:59 +00:00
Dockerfile Add calendar app — shared events calendar with departments, staff tagging, bank holidays and two-way phone sync 2026-07-24 16:36:37 +00:00
index.html Add calendar app — shared events calendar with departments, staff tagging, bank holidays and two-way phone sync 2026-07-24 16:36:37 +00:00
nginx.conf Add calendar app — shared events calendar with departments, staff tagging, bank holidays and two-way phone sync 2026-07-24 16:36:37 +00:00
package-lock.json Add recurring events, push notifications, config sync — and mobile layout fixes 2026-07-25 23:04:59 +00:00
package.json Add recurring events, push notifications, config sync — and mobile layout fixes 2026-07-25 23:04:59 +00:00
tsconfig.json Add calendar app — shared events calendar with departments, staff tagging, bank holidays and two-way phone sync 2026-07-24 16:36:37 +00:00
vite.config.ts Add calendar app — shared events calendar with departments, staff tagging, bank holidays and two-way phone sync 2026-07-24 16:36:37 +00:00