import React, { useEffect, useState } from 'react'; import ReactDOM from 'react-dom/client'; import { BrowserApp } from './components/BrowserApp'; import type { GraphData } from './types'; import './styles.css'; const App: React.FC = () => { const [graphData, setGraphData] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const fetchGraphData = async () => { try { const response = await fetch('/api/graph'); if (!response.ok) { throw new Error('Failed to fetch graph data'); } const data = await response.json(); setGraphData(data); } catch (err) { console.error('Error fetching graph data:', err); setError((err as Error).message); } finally { setLoading(false); } }; fetchGraphData(); }, []); if (loading) { return (
Loading ontology data...
Please wait
); } if (error) { return (
Error loading data
{error}
); } if (!graphData) { return null; } return ; }; const root = ReactDOM.createRoot(document.getElementById('root')!); root.render( );