Adds a "Kalender-Synchronisation" section to Settings that lets users
trigger a full sync of member birthdays and Juleica reminders to the
Nextcloud CalDAV backend. The calendar is created automatically if it
doesn't exist. Users can also check/enable the Calendar UI app.
- CalendarSyncService: add CalDavBackend integration (ensureCalendarExists,
fullSyncCalDav, getCalendarStatus, enableCalendarApp)
- CalendarController: new REST endpoints (status, sync, enable-app)
- calendar.js Pinia store: frontend state management
- Settings.vue: calendar sync UI with status display and sync button
- CLAUDE.md: add workflow rule for commit+push after each feature
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Document the full escalation when changes don't show up: hard-refresh,
restart container, version bump (3 places), and full rebuild as nuclear
option.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Warning summary boxes in the import wizard had white text on a
light warning background, making them unreadable. Switch to a
light-yellow background with dark text instead.
Also adds convert_xlsx.py for converting the LvS member Excel
spreadsheet into CSV files for ZIP bundle import, and documents
the mandatory version bump rule in CLAUDE.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Version bump to 0.1.0, updated app icons, migration fixes, various
Vue component improvements, CLAUDE.md project instructions, gitignore
for test artifacts, and webpack/main.js configuration updates.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>