31 lines
851 B
TypeScript
31 lines
851 B
TypeScript
import { Cloud, CloudLightning, CloudRain, CloudSun, MoonStar, Snowflake, ThermometerSun, Wind } from "lucide-react";
|
|
import type { WeatherMood } from "@/types/imgw";
|
|
import type { CurrentWeatherCondition } from "@/types/imgw-current";
|
|
|
|
export function WeatherIcon({
|
|
mood,
|
|
condition,
|
|
className = "",
|
|
}: {
|
|
mood: WeatherMood;
|
|
condition?: CurrentWeatherCondition;
|
|
className?: string;
|
|
}) {
|
|
const Icon =
|
|
condition === "thunderstorm"
|
|
? CloudLightning
|
|
: condition === "rain"
|
|
? CloudRain
|
|
: condition === "snow"
|
|
? Snowflake
|
|
: {
|
|
warm: ThermometerSun,
|
|
cloudy: Cloud,
|
|
wind: Wind,
|
|
cold: Snowflake,
|
|
night: MoonStar,
|
|
mild: CloudSun,
|
|
}[mood];
|
|
return <Icon className={className} strokeWidth={1.35} />;
|
|
}
|