import { useState, Suspense, lazy } from 'react'; import { Target } from 'lucide-react'; import type { JobConfig, Extras } from './types'; import { JobRunnerProvider, useJobRunner } from './hooks/JobRunnerProvider'; const DatasetConfigPage = lazy(() => import('./pages/DatasetConfigPage')); const ModelConfigPage = lazy(() => import('./pages/ModelConfigPage')); const ResultsPage = lazy(() => import('./pages/ResultsPage')); type Tab = 'dataset' | 'model' | 'results'; function AppInner() { const [tab, setTab] = useState('dataset'); const { start } = useJobRunner(); const run = (cfg: JobConfig, extras: Extras) => { start(cfg, extras); setTab('results'); }; const tabBtn = (active: boolean) => `relative px-4 py-2 rounded-xl text-sm font-medium transition-all ${ active ? 'text-white bg-gradient-to-r from-indigo-600 via-violet-600 to-fuchsia-600 shadow-lg shadow-indigo-600/20' : 'text-slate-600 hover:text-slate-800 bg-white/70 backdrop-blur border border-white/30 hover:shadow-md' }`; return (

AAAI Demo

Rank Sampling

System Health v1.0.0
Loading
}> {/* Dataset -> Model -> Results 流程:dataset 填完再進 model,model 送出後執行並進 results */} {tab === 'dataset' && setTab('model')} />} {tab === 'model' && } {tab === 'results' && } ); } export default function App() { return ( ); }