2b1d7c0b65
The dashboard had several oversized orchestration, component, and CSS files that made product-copy changes and mobile/performance work risky. This refactor preserves behavior while splitting scan terminal CSS, opportunity helpers, future forecast panels, history/detail charts, and probability/model sections into smaller ownership boundaries. Constraint: No user-visible version bump because this batch is architecture and performance cleanup, not a release announcement. Rejected: Rewrite dashboard state management in the same batch | too broad for a safe upload after CSS and component splitting. Confidence: high Scope-risk: moderate Reversibility: clean Directive: Keep new component/CSS boundaries instead of moving product copy back into the large dashboard files. Tested: npm run build; npm run test:business; git diff --check Not-tested: Browser visual smoke test after push
27 lines
946 B
TypeScript
27 lines
946 B
TypeScript
import {
|
|
Cloud,
|
|
CloudFog,
|
|
CloudLightning,
|
|
CloudRain,
|
|
CloudSnow,
|
|
CloudSun,
|
|
Search,
|
|
Sun,
|
|
Wind,
|
|
} from "lucide-react";
|
|
|
|
export function WeatherIcon({ emoji, size = 32 }: { emoji: string; size?: number }) {
|
|
if (emoji === "☀️") return <Sun size={size} color="#facc15" />;
|
|
if (emoji === "⛅" || emoji === "🌤️")
|
|
return <CloudSun size={size} color="#4DA3FF" />;
|
|
if (emoji === "☁️") return <Cloud size={size} color="#9FB2C7" />;
|
|
if (emoji === "🌧️" || emoji === "🌦️")
|
|
return <CloudRain size={size} color="#60a5fa" />;
|
|
if (emoji === "⛈️") return <CloudLightning size={size} color="#c084fc" />;
|
|
if (emoji === "❄️" || emoji === "🌨️")
|
|
return <CloudSnow size={size} color="#7dd3fc" />;
|
|
if (emoji === "🌫️") return <CloudFog size={size} color="#a1a1aa" />;
|
|
if (emoji === "💨") return <Wind size={size} color="#cbd5e1" />;
|
|
return <Search size={size} color="#6B7A90" />;
|
|
}
|