2023-12-07 12:19:35 +00:00
|
|
|
import { StrictMode, useEffect, useState } from "react";
|
2023-12-01 18:08:41 +00:00
|
|
|
import ReactDOM from 'react-dom/client';
|
2023-12-07 12:19:35 +00:00
|
|
|
import { RqbitWebUI, APIContext, customSetInterval } from "./rqbit-web";
|
2023-12-02 14:49:44 +00:00
|
|
|
import { API } from "./http-api";
|
2023-12-01 18:08:41 +00:00
|
|
|
|
2023-12-07 12:19:35 +00:00
|
|
|
const RootWithVersion = () => {
|
|
|
|
|
let [title, setTitle] = useState<string>("rqbit web UI");
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const refreshVersion = () => API.getVersion().then((version) => {
|
|
|
|
|
setTitle(`rqbit web UI - v${version}`);
|
|
|
|
|
return 10000;
|
|
|
|
|
}, (e) => {
|
|
|
|
|
return 1000;
|
|
|
|
|
});
|
|
|
|
|
return customSetInterval(refreshVersion, 0)
|
|
|
|
|
}, [])
|
|
|
|
|
|
|
|
|
|
return <StrictMode>
|
2023-12-02 15:03:25 +00:00
|
|
|
<APIContext.Provider value={API}>
|
2023-12-07 12:19:35 +00:00
|
|
|
<RqbitWebUI title={title} />
|
2023-12-02 15:03:25 +00:00
|
|
|
</APIContext.Provider>
|
2023-12-07 12:19:35 +00:00
|
|
|
</StrictMode>;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ReactDOM.createRoot(document.getElementById('app') as HTMLInputElement).render(
|
|
|
|
|
<RootWithVersion />
|
2023-12-02 15:03:25 +00:00
|
|
|
);
|