Aktuelle View und Datum werden als URL-Hash gespiegelt (#date=YYYY-MM-DD&view=<view>). Beim Init liest initCalendar() den Hash und überschreibt damit die Defaults (settings.default_view + today). fetchAndRender() schreibt nach jedem Render den aktuellen State zurück (replaceState, damit prev/next-Clicks keinen History-Müll erzeugen). Browser-Back/Forward funktioniert via hashchange-Listener. Edge case: HA-OAuth-Callback erhält jetzt den Hash beim URL-Cleanup (window.location.pathname + window.location.hash statt nur pathname). Komplett Frontend-only — kein Backend-Touch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
117 KiB
117 KiB