Spaces:
Sleeping
Sleeping
Commit ·
b84279a
1
Parent(s): c476eae
fix: default all pipeline modes to available in ModelSelector
Browse files- frontend/src/App.tsx +14 -6
frontend/src/App.tsx
CHANGED
|
@@ -21,7 +21,11 @@ function App() {
|
|
| 21 |
const [stage, setStage] = useState<AppStage>(showOnboarding ? 'onboarding' : 'model-select')
|
| 22 |
const savedModel = localStorage.getItem('sanketsetu-model-mode') as ModelMode | null
|
| 23 |
const [selectedModel, setSelectedModel] = useState<ModelMode>(savedModel ?? 'ensemble')
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
const handleOnboardingDone = () => {
|
| 27 |
localStorage.setItem('sanketsetu-onboarded', '1')
|
|
@@ -44,13 +48,17 @@ function App() {
|
|
| 44 |
const data = (await res.json()) as { pipelines_available?: string[] }
|
| 45 |
if (!active) return
|
| 46 |
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
}
|
|
|
|
| 52 |
}
|
| 53 |
-
setAvailableModes(next)
|
| 54 |
} catch {
|
| 55 |
// Keep local defaults when backend health is unavailable.
|
| 56 |
}
|
|
|
|
| 21 |
const [stage, setStage] = useState<AppStage>(showOnboarding ? 'onboarding' : 'model-select')
|
| 22 |
const savedModel = localStorage.getItem('sanketsetu-model-mode') as ModelMode | null
|
| 23 |
const [selectedModel, setSelectedModel] = useState<ModelMode>(savedModel ?? 'ensemble')
|
| 24 |
+
// Default all modes to available so the selector is usable even before the
|
| 25 |
+
// health check completes or if the backend is temporarily unreachable.
|
| 26 |
+
const [availableModes, setAvailableModes] = useState<Set<ModelMode>>(
|
| 27 |
+
new Set<ModelMode>(['ensemble', 'A', 'B', 'C'])
|
| 28 |
+
)
|
| 29 |
|
| 30 |
const handleOnboardingDone = () => {
|
| 31 |
localStorage.setItem('sanketsetu-onboarded', '1')
|
|
|
|
| 48 |
const data = (await res.json()) as { pipelines_available?: string[] }
|
| 49 |
if (!active) return
|
| 50 |
|
| 51 |
+
// Only restrict availability when the backend explicitly reports which
|
| 52 |
+
// pipelines are loaded. If the list is empty (still loading) keep all
|
| 53 |
+
// modes selectable so the user isn't blocked.
|
| 54 |
+
const reported = data.pipelines_available ?? []
|
| 55 |
+
if (reported.length > 0) {
|
| 56 |
+
const next = new Set<ModelMode>(['ensemble'])
|
| 57 |
+
for (const mode of reported) {
|
| 58 |
+
if (mode === 'A' || mode === 'B' || mode === 'C') next.add(mode as ModelMode)
|
| 59 |
}
|
| 60 |
+
setAvailableModes(next)
|
| 61 |
}
|
|
|
|
| 62 |
} catch {
|
| 63 |
// Keep local defaults when backend health is unavailable.
|
| 64 |
}
|