MCPcopy Create free account
hub / github.com/bytebase/dbhub / App

Function App

frontend/src/App.tsx:15–50  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

13import type { DataSource } from './types/datasource';
14
15function App() {
16 const [sources, setSources] = useState<DataSource[]>([]);
17 const [isLoading, setIsLoading] = useState(true);
18
19 useEffect(() => {
20 fetchSources()
21 .then((data) => {
22 setSources(data);
23 setIsLoading(false);
24 })
25 .catch((err) => {
26 console.error('Failed to fetch sources:', err);
27 const message = err instanceof ApiError ? err.message : 'Failed to load data sources';
28 toastManager.add({ title: message, type: 'error' });
29 setIsLoading(false);
30 });
31 }, []);
32
33 return (
34 <ErrorBoundary>
35 <ToastProvider>
36 <BrowserRouter>
37 <Routes>
38 <Route path="/" element={<Layout sources={sources} isLoading={isLoading} />}>
39 <Route index element={<HomeRedirect />} />
40 <Route path="requests" element={<RequestView />} />
41 <Route path="source/:sourceId" element={<SourceDetailView />} />
42 <Route path="source/:sourceId/tool/:toolName" element={<ToolDetailView />} />
43 <Route path="*" element={<NotFoundView />} />
44 </Route>
45 </Routes>
46 </BrowserRouter>
47 </ToastProvider>
48 </ErrorBoundary>
49 );
50}
51
52export default App

Callers

nothing calls this directly

Calls 2

fetchSourcesFunction · 0.90
addMethod · 0.80

Tested by

no test coverage detected