import React, { useState } from 'react'; import { motion } from 'framer-motion'; export default function SimulationLab({ currentCity, onRunSimulation, isSimulating }) { const [tempOffset, setTempOffset] = useState(0); const [rainModifier, setRainModifier] = useState(0); const [humidityModifier, setHumidityModifier] = useState(0); const [aqiModifier, setAqiModifier] = useState(0); const [uvModifier, setUvModifier] = useState(0); const [pressureModifier, setPressureModifier] = useState(0); const handleRun = () => { onRunSimulation({ tempOffset, rainModifier, humidityModifier, aqiModifier, uvModifier, pressureModifier, }); }; return (

🧪 What-If Simulation Lab

Adjust climatic variables to simulate environmental impact on {currentCity?.name}.

{/* Temperature Slider */}
0 ? 'text-red-500' : tempOffset < 0 ? 'text-blue-500' : 'text-slate-500'}`}> {tempOffset > 0 ? '+' : ''}{tempOffset}°C
setTempOffset(parseFloat(e.target.value))} className="w-full h-2 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-purple-600" />
-5°C (Cooler) +5°C (Hotter)
{/* Rain Slider */}
0 ? 'text-blue-500' : rainModifier < 0 ? 'text-orange-500' : 'text-slate-500'}`}> {rainModifier > 0 ? '+' : ''}{rainModifier}%
setRainModifier(parseInt(e.target.value))} className="w-full h-2 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-blue-500" />
-50% (Drought) +100% (Flood)
{/* Humidity Slider */}
0 ? 'text-teal-600' : humidityModifier < 0 ? 'text-orange-500' : 'text-slate-500'}`}> {humidityModifier > 0 ? '+' : ''}{humidityModifier}%
setHumidityModifier(parseInt(e.target.value))} className="w-full h-2 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-teal-500" />
-30% (Drier) +30% (Muggy)
{/* AQI Slider */}
0 ? 'text-red-500' : aqiModifier < 0 ? 'text-emerald-500' : 'text-slate-500'}`}> {aqiModifier > 0 ? '+' : ''}{aqiModifier} pts
setAqiModifier(parseInt(e.target.value))} className="w-full h-2 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-yellow-600" />
Cleaner More Polluted
{/* UV Index Slider */}
0 ? 'text-orange-600' : uvModifier < 0 ? 'text-blue-500' : 'text-slate-500'}`}> {uvModifier > 0 ? '+' : ''}{uvModifier}
setUvModifier(parseInt(e.target.value))} className="w-full h-2 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-orange-500" />
Less UV Extreme UV
{/* Pressure Slider */}
{pressureModifier > 0 ? '+' : ''}{pressureModifier} hPa
setPressureModifier(parseInt(e.target.value))} className="w-full h-2 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-slate-600" />
Low Pressure High Pressure
); }