import React, { useEffect, useState } from 'react'; import Header, { TabBar } from './components/Header.jsx'; import Catalog from './components/Catalog.jsx'; import PredictBar from './components/PredictBar.jsx'; import TestTab from './components/TestTab.jsx'; import Accuracy from './components/Accuracy.jsx'; import DetailDrawer from './components/DetailDrawer.jsx'; export default function App() { const [tab, setTab] = useState('catalog'); const [catalog, setCatalog] = useState(null); const [error, setError] = useState(null); const [selected, setSelected] = useState(null); const [predictResult, setPredictResult] = useState(null); useEffect(() => { fetch('/api/catalog') .then((r) => r.json()) .then((d) => setCatalog(d.rows)) .catch((e) => setError(String(e.message || e))); }, []); return (
{tab === 'catalog' && ( <> {error &&
{error}
} {!catalog && !error && (
loading catalog…
)} {catalog && } )} {tab === 'test' && } {tab === 'accuracy' && } setSelected(null)} />
); }