Add birthday feature (web)

- views render display_title (age) and a cake icon for is_birthday events
  (month/week/agenda + quarter tooltip) via shared eventTitle/birthdayIconSvg
- create split-button caret opens a menu: new event / new birthday
- new birthday modal: name + date + "year unknown" + target birthday calendar,
  saved as an all-day FREQ=YEARLY local event with birth_year
- local-calendar modal gains a "birthday calendar" toggle + "notify N days before"
- i18n de/en strings

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-12 22:10:52 +02:00
parent ca09538971
commit eb0684b99c
9 changed files with 250 additions and 22 deletions

View File

@@ -165,6 +165,15 @@ a { color: var(--primary); text-decoration: none; }
}
.btn-fab:active { transform: translateY(0) scale(.985); }
/* Split create button: main "Erstellen" action + a caret that opens a small
menu (new event / new birthday). */
.create-split { display: flex; align-items: stretch; gap: 4px; margin: 16px 12px 8px; }
.create-split .btn-fab { margin: 0; }
.create-split .create-main { flex: 1; justify-content: center; }
.create-split .create-caret { flex: 0 0 auto; padding: 12px 12px; }
.create-split .create-caret svg { width: 18px; height: 18px; }
.create-menu { left: 0; right: auto; min-width: 200px; }
/* Circular icon buttons (topbar nav, modal close, etc.) */
.icon-btn {
display: inline-flex; align-items: center; justify-content: center;