import React, { useState, useEffect } from 'react'; import './App.css'; import Path from './Path'; import Log from './Log'; import Options from './Options'; import Info from './Info'; import Setup from './Setup'; function App() { const [setupStatus, setSetupStatus] = useState(null); useEffect(() => { const checkStatus = async () => { try { const resp = await fetch('http://localhost:8000/api/setup/status'); const rootResp = await fetch('http://localhost:8000/'); if (resp.ok && rootResp.ok) { const data = await resp.json(); const rootData = await rootResp.json(); data.backend_ready = rootData.ready; setSetupStatus(data); if (!rootData.ready) { setTimeout(checkStatus, 2000); } } else { setTimeout(checkStatus, 2000); } } catch (e) { console.error("Could not reach backend API, retrying in 2s..."); setTimeout(checkStatus, 2000); } }; checkStatus(); }, []); if (!setupStatus) { return