WIP: update: adaptations to use the new backend #1
@ -12,6 +12,7 @@ function Immersion() {
|
|||||||
const [instance, setInstance] = useState<Instance>();
|
const [instance, setInstance] = useState<Instance>();
|
||||||
const [allInstances, setAllInstances] = useState<Instance[]>([]);
|
const [allInstances, setAllInstances] = useState<Instance[]>([]);
|
||||||
const [instancesStatus, setInstancesStatus] = useState<Record<number, string>>({});
|
const [instancesStatus, setInstancesStatus] = useState<Record<number, string>>({});
|
||||||
|
const [containerStatus, setContainerStatus] = useState<string>("");
|
||||||
const username = localStorage.getItem("username");
|
const username = localStorage.getItem("username");
|
||||||
|
|
||||||
const copyText = (copy: string) => {
|
const copyText = (copy: string) => {
|
||||||
@ -49,6 +50,24 @@ function Immersion() {
|
|||||||
});
|
});
|
||||||
}, [id]);
|
}, [id]);
|
||||||
|
|
||||||
|
// Mise à jour automatique des status toutes les 5 secondes
|
||||||
|
useEffect(() => {
|
||||||
|
const intervalId = setInterval(() => {
|
||||||
|
if (allInstances.length > 0) {
|
||||||
|
allInstances.forEach((inst: Instance) => {
|
||||||
|
axios.get(`/api/ji/${id}/container`).then((statusRes) => {
|
||||||
|
setInstancesStatus(prev => ({
|
||||||
|
...prev,
|
||||||
|
[inst.id]: statusRes.data
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, 5000);
|
||||||
|
|
||||||
|
return () => clearInterval(intervalId);
|
||||||
|
}, [id, allInstances]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
axios.get("/api/user/me").then((res) => {
|
axios.get("/api/user/me").then((res) => {
|
||||||
localStorage.setItem("username", res.data.username);
|
localStorage.setItem("username", res.data.username);
|
||||||
@ -57,9 +76,22 @@ function Immersion() {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
axios.get(`/api/ji/${id}/container`).then((res) => {
|
axios.get(`/api/ji/${id}/container`).then((res) => {
|
||||||
|
setContainerStatus(res.data);
|
||||||
localStorage.setItem("container_status", res.data);
|
localStorage.setItem("container_status", res.data);
|
||||||
});
|
});
|
||||||
}, []);
|
}, [id]);
|
||||||
|
|
||||||
|
// Mise à jour automatique du container status toutes les 5 secondes
|
||||||
|
useEffect(() => {
|
||||||
|
const intervalId = setInterval(() => {
|
||||||
|
axios.get(`/api/ji/${id}/container`).then((res) => {
|
||||||
|
setContainerStatus(res.data);
|
||||||
|
localStorage.setItem("container_status", res.data);
|
||||||
|
});
|
||||||
|
}, 5000);
|
||||||
|
|
||||||
|
return () => clearInterval(intervalId);
|
||||||
|
}, [id]);
|
||||||
|
|
||||||
const container_status = localStorage.getItem("container_status");
|
const container_status = localStorage.getItem("container_status");
|
||||||
|
|
||||||
@ -189,7 +221,7 @@ function Immersion() {
|
|||||||
<li className="flex justify-between align-middle items-center">
|
<li className="flex justify-between align-middle items-center">
|
||||||
<span>Status:</span>
|
<span>Status:</span>
|
||||||
<div className="flex gap-2 items-center">
|
<div className="flex gap-2 items-center">
|
||||||
<span className="font-normal">{container_status}</span>
|
<span className="font-normal">{containerStatus}</span>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user