diff --git a/src/routes/weather/14-day/[location]/+page.svelte b/src/routes/weather/14-day/[location]/+page.svelte index 6d9a223..69f4430 100644 --- a/src/routes/weather/14-day/[location]/+page.svelte +++ b/src/routes/weather/14-day/[location]/+page.svelte @@ -46,14 +46,7 @@ let params = $state({ ...defaultParameters, - hourly: [ - 'temperature_2m', - 'precipitation', - 'wind_speed_10m', - 'relative_humidity_2m', - 'cloud_cover', - 'pressure_msl' - ], + hourly: ['temperature_2m', 'precipitation', 'wind_speed_10m', 'cloud_cover', 'pressure_msl'], models: ['ncep_gefs_seamless'] }); diff --git a/src/routes/weather/compare/[location]/+page.svelte b/src/routes/weather/compare/[location]/+page.svelte index 388fe54..8e09e2e 100644 --- a/src/routes/weather/compare/[location]/+page.svelte +++ b/src/routes/weather/compare/[location]/+page.svelte @@ -62,7 +62,7 @@ let params = $state({ ...defaultParameters, - hourly: ['temperature_2m', 'rain', 'relative_humidity_2m', 'wind_speed_10m'], + hourly: ['temperature_2m', 'rain', 'wind_speed_10m'], models: ['ecmwf_ifs', 'meteofrance_seamless', 'ukmo_seamless', 'icon_seamless', 'gfs_seamless'] }); diff --git a/src/routes/weather/week/[location]/HourlyTable.svelte b/src/routes/weather/week/[location]/HourlyTable.svelte index 1fdbdd5..a4f1c28 100644 --- a/src/routes/weather/week/[location]/HourlyTable.svelte +++ b/src/routes/weather/week/[location]/HourlyTable.svelte @@ -470,7 +470,7 @@ diff --git a/src/routes/weather/week/[location]/MeteogramCharts.svelte b/src/routes/weather/week/[location]/MeteogramCharts.svelte index 6cc239b..adf08d8 100644 --- a/src/routes/weather/week/[location]/MeteogramCharts.svelte +++ b/src/routes/weather/week/[location]/MeteogramCharts.svelte @@ -3,7 +3,7 @@ import { type ChartPanel, storedChartLayout } from '$lib/stores/settings'; - import { formatZoned, getRelativeDayLabel } from '$lib/utils/date'; + import { formatZoned, getRelativeDayLabel, isSameDayInZone } from '$lib/utils/date'; import { ChartContainer, downloadChartsPng } from '$lib/components/charts'; @@ -91,13 +91,18 @@ onResetZoom?.(); } - const rangePresets = [ - { label: 'Today', apply: () => setRangeDays(new Date(), 1) }, - { label: 'Selected day', apply: () => setRangeDays(selectedDay, 1) }, - { label: '3 days', apply: () => setRangeDays(new Date(), 3) }, - { label: '5 days', apply: () => setRangeDays(new Date(), 5) }, - { label: 'All', apply: () => resetZoom() } - ]; + const now = new Date(); + // "Selected day" is redundant while today is the selected day, so hide it then + let rangePresets = $derived.by(() => { + const isToday = isSameDayInZone(now, selectedDay, data.timezone); + return [ + { label: 'Today', apply: () => setRangeDays(new Date(), 1) }, + ...(isToday ? [] : [{ label: 'Selected day', apply: () => setRangeDays(selectedDay, 1) }]), + { label: '3 days', apply: () => setRangeDays(new Date(), 3) }, + { label: '5 days', apply: () => setRangeDays(new Date(), 5) }, + { label: 'All', apply: () => resetZoom() } + ]; + }); // Soft band drawn on every chart marking the currently selected day let selectedDayHighlight = $derived.by(() => {