import { Thermometer, Droplets, Wind, CloudOff } from "lucide-react"; import type { WeatherData } from "../api"; interface WeatherCardProps { data: WeatherData; accent: "cyan" | "amber"; } const accentMap = { cyan: { gradient: "from-cyan-500/10 to-cyan-900/5", text: "text-cyan-400", border: "border-cyan-500/20", badge: "bg-cyan-500/15 text-cyan-300", statIcon: "text-cyan-400/70", ring: "ring-cyan-500/10", }, amber: { gradient: "from-amber-500/10 to-amber-900/5", text: "text-amber-400", border: "border-amber-500/20", badge: "bg-amber-500/15 text-amber-300", statIcon: "text-amber-400/70", ring: "ring-amber-500/10", }, } as const; export default function WeatherCard({ data, accent }: WeatherCardProps) { const a = accentMap[accent]; if (data.error) { return (

Wetter nicht verfuegbar

{data.location || "Unbekannt"}

); } return (
{/* Header: location badge */}
{data.location}
{/* Main row: icon + temp */}
{Math.round(data.temp)} °

{data.description}

{data.icon}
{/* Stat grid */}
} label="Gefuehlt" value={`${Math.round(data.feels_like)}\u00B0`} /> } label="Feuchte" value={`${data.humidity}%`} /> } label="Wind" value={`${Math.round(data.wind_kmh)} km/h`} />
); } function StatItem({ icon, label, value, }: { icon: React.ReactNode; label: string; value: string; }) { return (
{icon} {value} {label}
); }