import React, { useState } from 'react'; import { motion } from 'framer-motion'; import { useUserStore } from '@/store/userStore'; import apiService from '@/services/api'; import { Sliders, CheckCircle2, Zap, Target } from 'lucide-react'; const OptimizationTab: React.FC = () => { const { isDark } = useUserStore(); const [objective, setObjective] = useState('maximize_prediction'); const [objectiveType, setObjectiveType] = useState('maximize'); const [maxIterations, setMaxIterations] = useState(100); const [optimizing, setOptimizing] = useState(false); const [result, setResult] = useState(null); const cardBg = isDark ? 'rgba(255,255,255,0.03)' : '#ffffff'; const cardBorder = isDark ? 'rgba(255,255,255,0.06)' : 'rgba(0,0,0,0.06)'; const textPrimary = isDark ? '#f8fafc' : '#0f172a'; const textMuted = isDark ? '#94a3b8' : '#64748b'; const handleOptimize = async () => { setOptimizing(true); try { const res = await apiService.runOptimization({ objective, objective_type: objectiveType, max_iterations: maxIterations, }); setResult(res.data); } catch (err) { console.error(err); } finally { setOptimizing(false); } }; const targetName = result?.target_name || 'Target Metric'; return (
{/* Left Config */}

Optimization Engine Configuration

setMaxIterations(Number(e.target.value))} className="w-full accent-indigo-500" />
{/* Right Results */}
{result ? (

Optimal Solution ({targetName})

{result.improvement_pct >= 0 ? '+' : ''}{result.improvement_pct?.toFixed(1)}% Improvement

Optimal Target

{result.formatted_best_prediction || result.best_prediction?.toLocaleString()}

Baseline Target

{result.formatted_baseline_prediction || result.baseline_prediction?.toLocaleString()}

Iterations Evaluated

{result.iterations}

{/* Optimal Variable Values */}

Optimal Variable Inputs

{Object.entries(result.best_values || {}).map(([key, val]: [string, any]) => (
{key} {typeof val === 'number' ? val.toLocaleString() : String(val)}
))}
) : (

Run Optimization

Select an objective goal and click Run AI Optimization to discover the highest-performing variable combinations for your dataset.

)}
); }; export default OptimizationTab;