From fabebd1d76a8575fb7f724ea554d3cfddcfd3b28 Mon Sep 17 00:00:00 2001 From: "Leon.Schmidt" Date: Sun, 9 Aug 2026 02:25:00 +0200 Subject: [PATCH] ENH - refine iOS widget surfaces --- frontend/src/components/SpringboardWidget.vue | 196 ++++++++++++++---- frontend/src/services/widgetServices.ts | 1 + 2 files changed, 162 insertions(+), 35 deletions(-) diff --git a/frontend/src/components/SpringboardWidget.vue b/frontend/src/components/SpringboardWidget.vue index 9461fc0..738a1e2 100644 --- a/frontend/src/components/SpringboardWidget.vue +++ b/frontend/src/components/SpringboardWidget.vue @@ -111,6 +111,9 @@ const forecastLow = computed(() => const weatherIcon = computed( () => weatherIcons[weather.forecast.value?.condition ?? 'partly_cloudy'], ) +const visibleHourlyWeather = computed( + () => weather.forecast.value?.hourly.slice(0, 5) ?? [], +) const balance = computed(() => props.instance.settings.balanceSource === 'cash' ? bank.overview.value.cash @@ -148,6 +151,13 @@ function avatar(name: string): string { return name.trim().charAt(0).toLocaleUpperCase(phone.lang) || '?' } +function formatForecastHour(timestamp: number): string { + return new Intl.DateTimeFormat(phone.lang, { + hour: '2-digit', + minute: '2-digit', + }).format(timestamp) +} + function clearHold(): void { if (holdTimer !== undefined) window.clearTimeout(holdTimer) holdTimer = undefined @@ -326,6 +336,13 @@ onBeforeUnmount(() => { H: {{ forecastHigh ?? '--' }}°   L: {{ forecastLow ?? '--' }}° +
+
+ + + {{ hour.temperature }}° +
+