/* global React, ReactDOM, Sidebar, TopBar, Button, Ic, VS, LoginScreen, Dashboard, MeasurementsScreen, SessionDetailScreen, ComputersScreen, ChartsScreen, ConfigScreen */ function App() { const [authed, setAuthed] = React.useState(() => !!VS.getToken()); const [screen, setScreen] = React.useState(() => localStorage.getItem("vib.screen") || "dashboard"); const [session, setSession] = React.useState(null); const [dark, setDark] = React.useState(() => localStorage.getItem("vib.dark") === "1"); const [collapsed, setCollapsed] = React.useState(false); React.useEffect(() => { localStorage.setItem("vib.screen", screen); }, [screen]); React.useEffect(() => { document.documentElement.classList.toggle("dark", dark); localStorage.setItem("vib.dark", dark ? "1" : "0"); }, [dark]); React.useEffect(() => { const onLogout = () => { setAuthed(false); setSession(null); }; window.addEventListener("vs:logout", onLogout); return () => window.removeEventListener("vs:logout", onLogout); }, []); if (!authed) { return setAuthed(true)} />; } const openSession = (machine_id, machine_name, session_date) => { setScreen("measurements"); setSession({ machine_id, machine_name, session_date }); }; let content; let breadcrumb; if (screen === "dashboard") { content = openSession(r.machine_id, r.machine_name, r.session_date)} />; breadcrumb = ; } else if (screen === "measurements" && session) { content = setSession(null)} />; breadcrumb = ; } else if (screen === "measurements") { content = openSession(machine_id, machine_name, session_date)} />; breadcrumb = ; } else if (screen === "computers") { content = ; breadcrumb = ; } else if (screen === "charts") { content = ; breadcrumb = ; } else if (screen === "config") { content = ; breadcrumb = ; } else { content =
Nieznana sekcja
Wybierz widok z lewej.
; breadcrumb = ; } const rightActions = ( <> ); return (
{ setScreen(s); setSession(null); }} collapsed={collapsed} />
{content}
); } function Crumb({ label }) { return {label}; } ReactDOM.createRoot(document.getElementById("root")).render();