Trek_CN/server/src
Stephen Wheet 3c4f5f7193 feat: multiple holiday calendars per vacay plan
- Add vacay_holiday_calendars table (region, label, color, sort_order)
- Lazy migration of existing holidays_region to first calendar row
- Extract applyHolidayCalendars() helper; replace inline holiday logic
- GET /vacay/plan now includes holiday_calendars array
- Add POST/PUT/DELETE /vacay/plan/holiday-calendars/:id endpoints
- Client VacayPlan/VacayEntry/HolidayInfo types updated
- loadHolidays() loops over all calendars; per-calendar color on HolidayInfo
- VacayMonthCard uses holiday.color instead of hardcoded red
- VacaySettings replaced single country picker with calendar list UI
- VacayPage legend renders one item per calendar
- i18n: addCalendar, calendarLabel, calendarColor, noCalendars (en + de)
- Fix pre-existing TS errors: VacayPlan/VacayEntry missing fields,
  SettingToggleProps icon/onChange types, packing.suggestions.items array type

Closes #36
2026-03-28 22:16:12 +00:00
..
db feat: multiple holiday calendars per vacay plan 2026-03-28 22:16:12 +00:00
demo v2.6.2 — TREK Rebrand, OSM Enrichment, File Management, Hotel Bookings & Bug Fixes 2026-03-28 16:38:08 +01:00
middleware refactoring: TypeScript migration, security fixes, 2026-03-27 18:40:18 +01:00
routes feat: multiple holiday calendars per vacay plan 2026-03-28 22:16:12 +00:00
services refactoring: TypeScript migration, security fixes, 2026-03-27 18:40:18 +01:00
config.ts refactoring: TypeScript migration, security fixes, 2026-03-27 18:40:18 +01:00
index.ts fix: align @types/express to v4 to match express runtime 2026-03-28 20:36:09 +00:00
scheduler.ts fix: resolve all TypeScript errors - node types, Express v4 types, places/scheduler fixes 2026-03-28 19:45:01 +00:00
types.ts fix: align @types/express to v4 to match express runtime 2026-03-28 20:36:09 +00:00
websocket.ts refactoring: TypeScript migration, security fixes, 2026-03-27 18:40:18 +01:00