From 5cc9a5428c7083751e79d64899247eeeb0dbff84 Mon Sep 17 00:00:00 2001 From: Vincent van der Wal Date: Sat, 1 Aug 2026 12:39:19 +0200 Subject: [PATCH] move settings to one icon mobile --- .mcp.json | 0 src/lib/components/navigation/footer.svelte | 1 + src/lib/components/navigation/header.svelte | 85 ++--- .../navigation/settings-menu.svelte | 123 ++++++++ .../components/navigation/theme-icon.svelte | 36 +++ .../components/navigation/weather-nav.svelte | 6 + src/lib/components/unit-options.svelte | 67 ++++ src/lib/components/unit-selector.svelte | 67 +--- src/lib/paywall/PaywallGate.svelte | 16 +- ...miumBadge.svelte => SupporterBadge.svelte} | 16 +- src/lib/paywall/UnlockDialog.svelte | 18 +- src/lib/paywall/config.ts | 14 +- src/lib/paywall/{premium.ts => supporter.ts} | 70 +++-- src/lib/services/weather.ts | 195 ++++++++++++ .../historical/[location]/+page.svelte | 6 +- src/routes/weather/seasonal/+page.svelte | 23 ++ .../weather/seasonal/[location]/+page.svelte | 296 ++++++++++++++++++ .../weather/seasonal/[location]/+page.ts | 13 + .../seasonal/[location]/SeasonalCharts.svelte | 211 +++++++++++++ .../seasonal/[location]/SeasonalMonths.svelte | 150 +++++++++ .../weather/seasonal/[location]/outlook.ts | 199 ++++++++++++ .../weather/week/[location]/+page.svelte | 7 + .../week/[location]/DailyStripSticky.svelte | 81 ++++- 23 files changed, 1511 insertions(+), 189 deletions(-) create mode 100644 .mcp.json create mode 100644 src/lib/components/navigation/settings-menu.svelte create mode 100644 src/lib/components/navigation/theme-icon.svelte create mode 100644 src/lib/components/unit-options.svelte rename src/lib/paywall/{PremiumBadge.svelte => SupporterBadge.svelte} (75%) rename src/lib/paywall/{premium.ts => supporter.ts} (59%) create mode 100644 src/routes/weather/seasonal/+page.svelte create mode 100644 src/routes/weather/seasonal/[location]/+page.svelte create mode 100644 src/routes/weather/seasonal/[location]/+page.ts create mode 100644 src/routes/weather/seasonal/[location]/SeasonalCharts.svelte create mode 100644 src/routes/weather/seasonal/[location]/SeasonalMonths.svelte create mode 100644 src/routes/weather/seasonal/[location]/outlook.ts diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..e69de29 diff --git a/src/lib/components/navigation/footer.svelte b/src/lib/components/navigation/footer.svelte index 8fb2e54..4afa526 100644 --- a/src/lib/components/navigation/footer.svelte +++ b/src/lib/components/navigation/footer.svelte @@ -23,6 +23,7 @@ { href: resolve('/weather/week'), label: '7-Day Forecast' }, { href: resolve('/weather/compare'), label: 'Model Comparison' }, { href: resolve('/weather/14-day'), label: '14-Day Forecast' }, + { href: resolve('/weather/seasonal'), label: 'Seasonal Outlook' }, { href: resolve('/weather/historical'), label: 'Historical Weather' }, { href: resolve('/weather/maps'), label: 'Weather Maps' } ]; diff --git a/src/lib/components/navigation/header.svelte b/src/lib/components/navigation/header.svelte index 85ec8dc..3fd1ef1 100644 --- a/src/lib/components/navigation/header.svelte +++ b/src/lib/components/navigation/header.svelte @@ -12,7 +12,10 @@ import LocationSearch from '$lib/components/location/location-search.svelte'; import UnitSelector from '$lib/components/unit-selector.svelte'; - import PremiumBadge from '$lib/paywall/PremiumBadge.svelte'; + import SupporterBadge from '$lib/paywall/SupporterBadge.svelte'; + + import SettingsMenu from './settings-menu.svelte'; + import ThemeIcon from './theme-icon.svelte'; interface Props { onMenuToggle?: () => void; @@ -60,6 +63,8 @@ goto(resolve('/weather/14-day/[location]', { location: locationRoute })); } else if (currentPath.startsWith('/weather/historical')) { goto(resolve('/weather/historical/[location]', { location: locationRoute })); + } else if (currentPath.startsWith('/weather/seasonal')) { + goto(resolve('/weather/seasonal/[location]', { location: locationRoute })); } else { goto(resolve('/weather/week/[location]', { location: locationRoute })); } @@ -117,63 +122,31 @@ /> - - + +
+ +
- - + +