feat: add dynamic weather hero effects

This commit is contained in:
zv
2026-06-01 19:15:12 +02:00
parent 0632c67beb
commit 6346a3cda9
5 changed files with 88 additions and 11 deletions

View File

@@ -160,11 +160,11 @@ export function getWindDirection(degrees: number) {
export function getWeatherMoodFromData(station: SynopStation, date = new Date()): WeatherMood {
const hour = date.getHours();
if (hour < 6 || hour >= 21) return "night";
if ((station.rainfall ?? 0) >= 0.1) return "rain";
if (hour < 6 || hour >= 21) return "night";
if ((station.windSpeed ?? 0) >= 8) return "wind";
if ((station.temperature ?? 15) <= 3) return "cold";
if ((station.temperature ?? 15) >= 20) return "clear";
if ((station.temperature ?? 15) >= 20) return "warm";
return "mild";
}
@@ -178,11 +178,11 @@ export function getWeatherDescription(station: SynopStation, language: Language
export function moodGradient(mood: WeatherMood) {
return {
clear: "from-sky-500 via-blue-500 to-indigo-700",
rain: "from-slate-500 via-slate-600 to-indigo-900",
wind: "from-cyan-600 via-slate-500 to-blue-900",
cold: "from-cyan-400 via-blue-500 to-indigo-800",
warm: "from-sky-400 via-blue-500 to-indigo-700",
rain: "from-slate-500 via-blue-700 to-slate-950",
wind: "from-cyan-600 via-slate-600 to-blue-950",
cold: "from-cyan-300 via-blue-500 to-indigo-900",
night: "from-slate-800 via-indigo-950 to-slate-950",
mild: "from-sky-500 via-cyan-600 to-blue-800",
mild: "from-sky-500 via-cyan-700 to-blue-900",
}[mood];
}