MCPcopy
hub / github.com/opentrace/opentrace / OpenTraceApp

Function OpenTraceApp

ui/src/OpenTraceApp.tsx:76–107  ·  view source on GitHub ↗
({
  version,
  buildTime,
  repoUrl,
}: OpenTraceAppProps = {})

Source from the content-addressed store, hash-verified

74 * in-browser WASM graph store.
75 */
76export function OpenTraceApp({
77 version,
78 buildTime,
79 repoUrl,
80}: OpenTraceAppProps = {}) {
81 const [mode, setMode] = useState<StoreMode>(detectInitialMode);
82 const [store, setStore] = useState<GraphStore>(() =>
83 createStoreForMode(mode),
84 );
85
86 const handleConnectServer = useCallback((serverUrl: string) => {
87 // Leaving in-memory mode: tear down the local Web Worker + WASM DB so it
88 // doesn't linger for the page lifetime. No-op if it was never created.
89 disposeLadybugStore();
90 const nextMode: StoreMode = `server:${serverUrl}`;
91 setMode(nextMode);
92 setStore(createStoreForMode(nextMode));
93 }, []);
94
95 return (
96 <StoreProvider key={mode} store={store}>
97 <JobServiceProvider>
98 <App
99 version={version}
100 buildTime={buildTime}
101 initialRepoUrl={repoUrl}
102 onConnectServer={handleConnectServer}
103 />
104 </JobServiceProvider>
105 </StoreProvider>
106 );
107}
108
109export default OpenTraceApp;

Callers

nothing calls this directly

Calls 2

disposeLadybugStoreFunction · 0.90
createStoreForModeFunction · 0.85

Tested by

no test coverage detected