From 1a44f769a7dd932adf9248128710cc4fb9d0b659 Mon Sep 17 00:00:00 2001 From: mARTin Date: Sun, 5 Apr 2026 12:28:48 +0200 Subject: [PATCH] feat: add weather display checkboxes to left sidebar quick-settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When weather is enabled and a location is configured, the sidebar now shows per-item checkboxes (Symbol, Temperatur, Gefühlt, Wind, Böen, Regenw., Niederschlag, Luftfeuchte, UV) below the weather toggle. Checkboxes are hidden when weather is toggled off. All changes go through saveViewSetting("weatherDisplay", ..., true) — same path as the settings modal — so they stay view-specific and persist correctly. v1.83.2 --- package.json | 2 +- src/components/WeeklyView.tsx | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4e05098..1bcc474 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.83.1", + "version": "1.83.2", "description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view", "main": "index.js", "scripts": { diff --git a/src/components/WeeklyView.tsx b/src/components/WeeklyView.tsx index a10e7d6..e2d3e7c 100644 --- a/src/components/WeeklyView.tsx +++ b/src/components/WeeklyView.tsx @@ -5569,14 +5569,47 @@ export default function WeeklyView() { {effectiveShowProjectIcons ? : } - {(profile.weatherLat || profile.weatherLon) && ( + {(profile.weatherLat || profile.weatherLon) && (<>
{profile.language === "de" ? "Wetter" : "Weather"}
+ {effectiveWeatherEnabled && ( +
+ {([ + { key: "icon" as WeatherDisplayKey, label: profile.language === "de" ? "Symbol" : "Icon" }, + { key: "temp" as WeatherDisplayKey, label: profile.language === "de" ? "Temperatur" : "Temperature" }, + { key: "feelsLike" as WeatherDisplayKey, label: profile.language === "de" ? "Gefühlt" : "Feels like" }, + { key: "wind" as WeatherDisplayKey, label: profile.language === "de" ? "Wind" : "Wind" }, + { key: "gusts" as WeatherDisplayKey, label: profile.language === "de" ? "Böen" : "Gusts" }, + { key: "precipProb" as WeatherDisplayKey, label: profile.language === "de" ? "Regenw." : "Rain prob." }, + { key: "precip" as WeatherDisplayKey, label: profile.language === "de" ? "Niederschlag" : "Precip. (mm)" }, + { key: "humidity" as WeatherDisplayKey, label: profile.language === "de" ? "Luftfeuchte" : "Humidity" }, + { key: "uv" as WeatherDisplayKey, label: "UV" }, + ] as { key: WeatherDisplayKey; label: string }[]).map(({ key, label }) => { + const checked = effectiveWeatherDisplay.includes(key); + return ( + + ); + })} +
)} + )} {/* Start on */}