"use client"; import { motion, useReducedMotion } from "framer-motion"; import type { SynopStation, WeatherMood } from "@/types/imgw"; const rainDrops = Array.from({ length: 32 }, (_, index) => ({ left: `${(index * 29 + 7) % 100}%`, delay: (index % 11) * 0.13, duration: 0.72 + (index % 5) * 0.12, height: 12 + (index % 4) * 4, })); const windLines = Array.from({ length: 7 }, (_, index) => ({ top: `${18 + index * 11}%`, delay: index * 0.22, width: 70 + (index % 3) * 34, })); const stars = Array.from({ length: 16 }, (_, index) => ({ left: `${(index * 37 + 11) % 96}%`, top: `${(index * 23 + 8) % 72}%`, delay: (index % 6) * 0.35, })); export function WeatherEffects({ station, mood }: { station: SynopStation; mood: WeatherMood }) { const reduceMotion = useReducedMotion(); const rainfall = station.rainfall ?? 0; const isRaining = rainfall >= 0.1; const visibleDrops = rainfall >= 5 ? rainDrops : rainDrops.slice(0, 18); const isWindy = (station.windSpeed ?? 0) >= 8; return (