Rework birthdays to a single calendar + UI fixes (web)

- one dedicated birthday calendar per user; enable it in Settings > Calendars
  (or from the New-birthday dialog) — it then shows in the sidebar like any
  calendar (colour/visibility)
- New-birthday dialog: no target picker; day/month selects + a year field that
  hides when "year unknown"; fixed the year-unknown checkbox layout
- create split-button is now one seamless pill; the caret opens the menu
- Settings > Calendars gains a Birthdays section (enable + notify-days-before)
- removed the birthday toggle from the generic new-calendar modal
- profile settings: right-align the section save button for consistency
- bump service-worker cache to v25 so assets refresh

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-13 04:20:49 +02:00
parent eb0684b99c
commit 6baa07379f
5 changed files with 186 additions and 85 deletions

View File

@@ -290,6 +290,13 @@ const translations = {
birthday_target: 'Geburtstagskalender',
birthday_no_calendars: 'Kein Geburtstagskalender vorhanden. Erstelle zuerst einen Kalender und aktiviere „Geburtstagskalender".',
birthday_created: 'Geburtstag „{name}" hinzugefügt',
birthday_calendar_name: 'Geburtstage',
birthday_activate: 'Geburtstagskalender aktivieren',
birthday_activate_hint: 'Aktiviere den Geburtstagskalender, um Geburtstage anzulegen. Er erscheint als eigener Kalender in der Seitenleiste.',
birthday_active: 'Geburtstagskalender aktiv',
birthday_year_ph: 'Jahr',
birthday_settings_title: 'Geburtstage',
birthday_color_hint: 'Farbe und Sichtbarkeit änderst du in der Seitenleiste.',
error_name_url: 'Bitte Name und URL eingeben',
ical_subscribed: '"{name}" abonniert',
google_synced: 'Kalender synchronisiert',
@@ -625,6 +632,13 @@ const translations = {
birthday_target: 'Birthday calendar',
birthday_no_calendars: 'No birthday calendar yet. Create a calendar and enable “Birthday calendar” first.',
birthday_created: 'Birthday “{name}” added',
birthday_calendar_name: 'Birthdays',
birthday_activate: 'Enable birthday calendar',
birthday_activate_hint: 'Enable the birthday calendar to add birthdays. It appears as its own calendar in the sidebar.',
birthday_active: 'Birthday calendar active',
birthday_year_ph: 'Year',
birthday_settings_title: 'Birthdays',
birthday_color_hint: 'Change colour and visibility in the sidebar.',
error_name_url: 'Please enter a name and URL',
ical_subscribed: '"{name}" subscribed',
google_synced: 'Calendar synced',