14 Commits

Author SHA1 Message Date
Scarriffle
5a7d8ad362 fix: Tint für mehrtägige Ganztags-Events korrekt via alldayLayout
Der bisherige multiDayAllDayEvs-Filter hatte einen Timezone-Fehler
bei der Datumsberechnung (UTC-Parsing vs. lokale Zeit in UTC+2).
Neue Lösung: das bereits korrekt arbeitende alldayLayout wird direkt
als Quelle verwendet. Items mit colEnd > colStart sind mehrtägig —
die Spaltenindizes aus dem Layout ergeben den Tint-Bereich exakt.
2026-04-08 22:24:05 +02:00
Scarriffle
d1d1135e32 perf/fix: Kalender-Toggle ohne Ladescreen + Mehrfach-Tint als Verlauf
Ausblenden: Events werden sofort client-seitig aus dem Cache gefiltert
(calendar_id-Match), kein Netzwerkaufruf für die Ansicht nötig.
Einblenden: fetchAndRender(force, silent=true) überspringt showLoading(),
die aktuelle Ansicht bleibt sichtbar und wird nach dem Fetch aktualisiert.
Mehrere mehrtägige Events am selben Tag erzeugen jetzt einen vertikalen
Farbverlauf (linear-gradient) statt gestapelter Ebenen, bei denen nur
die letzte Farbe sichtbar war.
2026-04-08 22:14:08 +02:00
Scarriffle
4c8face22a fix: Kalender-Toggle sofort wirksam + Tint für mehrtägige Ganztags-Events
- fetchAndRender(true) beim Ein-/Ausblenden eines Kalenders erzwingt
  einen Neu-Abruf statt Cache-Treffer, damit die Änderung sofort sichtbar ist
- Tint-Berechnung in der Wochenansicht berücksichtigt jetzt auch
  mehrtägige Ganztags-Events (z.B. Urlaub), nicht nur mehrtägige
  Termin-Events — exclusive Enddaten werden dabei korrekt normalisiert
2026-04-08 21:59:41 +02:00
804d6ac9eb Fix: Scroll auf week-view verlegen – Header und Zeitraster immer gleich breit 2026-04-08 15:19:16 +02:00
377a24eac6 Fix: Kopfzeilen-Breite per JS an Scrollbar-Breite anpassen 2026-04-08 15:15:37 +02:00
8fc3472b1c Fix: Ganztägig-Zeile sticky + korrekte Ausrichtung in Wochen-/Tagesansicht 2026-04-08 15:08:45 +02:00
fce162693c Feature: Dynamische Monatsansicht-Lanes + spanning All-Day-Balken in Wochenansicht
month.js: MAX_LANES wird jetzt aus der tatsächlichen Container-Höhe berechnet (kein hartes Limit von 3 mehr).
week.js: All-Day-Zeile verwendet jetzt dieselbe Overlay-Logik wie die Monatsansicht – Termine spannen als einzelner Balken über mehrere Tage.
2026-04-08 14:57:57 +02:00
e317b799d0 Feature: Mehrtägige Termine in Wochen-/Tagesansicht vollständig anzeigen
Timed-Events die mehrere Tage überspannen werden neu in der Ganztags-Zeile für jeden betroffenen Tag als Bar angezeigt (am Starttag mit Uhrzeit). Die Tagesspalten erhalten einen 15%-Farbhintergrund (col-span-tint) um die Abdeckung zu visualisieren.
2026-04-08 14:47:11 +02:00
b40e8c6731 Fix: Mehrtägige Events auf Tagesende begrenzt, Stundenhöhen weiter reduziert
Timed-Events in Wochen-/Tagesansicht werden jetzt auf Mitternacht (24:00) des Starttages gekürzt – keine kilometerhohen Balken mehr bei tagesübergreifenden Terminen. Stundenhöhen: 36/54/72/90 → 28/44/60/80px; Kompakt (28px) zeigt 24h = 672px.
2026-04-08 14:27:24 +02:00
fb4c7a7326 Fix: Kalenderwochen-Kalender ausblenden + Überlappungsdarstellung korrigiert
- #weekNum@group.v.calendar.google.com (Kalenderwochen) wird beim Google-
  Sync, in der Kalenderliste und beim Event-Abruf übersprungen
- layoutEvents: fehlende `end`-Variable im zweiten Pass ergänzt; ohne sie
  war die Bedingung immer false, sodass Spaltenanzahl überlappender Termine
  falsch berechnet wurde und Termine sich visuell überdeckten
2026-03-30 15:40:35 +02:00
cd5d866cb1 Multilanguage: Deutsch / English, umschaltbar in Einstellungen
- i18n.js: Übersetzungsmodul mit t(), setLang(), applyLang() + vollst. DE/EN Wörterbuch
- Backend: language-Feld in UserSettings, Migration, Settings-API
- calendar.js: alle deutschen Strings auf t()-Aufrufe umgestellt, setLang() beim Start
- app.js, api.js, color-picker.js, views/*.js: alle UI-Strings übersetzt
- Sprach-Dropdown in Einstellungen > Darstellung, data-i18n-Attribute in index.html
2026-03-27 15:15:07 +01:00
c849f77651 Einstellungen: Vollbild-Seite, Kontrast, Stundenhöhe, KW-Anzeige
- Einstellungen von Modal-Popup auf Vollbild-Seite mit Seitennavigation umgestellt
- Schriftkontrast (4 Stufen) und Linienkontrast (4 Stufen) pro Benutzer gespeichert
- Stundenhöhe (40/60/80/100px) in Wochen-/Tagesansicht per Einstellung steuerbar
- Kalenderwoche in Monats- und Wochenansicht grösser dargestellt
- CSS-Variable --hour-h für dynamische Zeitraster-Höhe in week.js und app.css
- Backend: neue Felder text_contrast, line_contrast, hour_height in UserSettings
2026-03-27 10:43:39 +01:00
3f3609c944 big update i guess 2026-03-26 18:55:15 +01:00
f029ed1544 initialer commit, Grundcode 2026-03-26 11:20:48 +01:00