diff --git a/index.html b/index.html
index 4230031..8422c3c 100644
--- a/index.html
+++ b/index.html
@@ -368,26 +368,28 @@ function formatDuration(ms) {
function getStatus(results) {
if (!results || results.length === 0) return { state: 'loading', text: 'Inconnu' };
const last = results[0];
- const lastTime = new Date(last.timestamp);
- const duration = formatDuration(Date.now() - lastTime.getTime());
-
+
if (last.success) {
- // Cherche le dernier échec pour savoir depuis quand c'est en ligne
- const lastFailureIndex = results.findIndex(r => !r.success);
- if (lastFailureIndex === -1 || lastFailureIndex >= results.length) {
+ // Trouve quand le dernier échec s'est produit
+ const lastFailure = results.find(r => !r.success);
+ if (!lastFailure) {
+ // Jamais en panne dans l'historique
return { state: 'ok', text: 'En ligne' };
}
- const upSince = Date.now() - lastTime.getTime();
- if (upSince > 24 * 60 * 60 * 1000) {
+ const upSinceMs = new Date(last.timestamp) - new Date(lastFailure.timestamp);
+ if (upSinceMs > 24 * 60 * 60 * 1000) {
return { state: 'ok', text: 'En ligne' };
}
- return { state: 'ok', text: 'En ligne depuis ' + duration };
+ return { state: 'ok', text: 'En ligne depuis ' + formatDuration(upSinceMs) };
}
-
- for (const r of results) {
- if (r.success) return { state: 'warn', text: 'Hors ligne depuis ' + duration };
+
+ // Hors ligne — depuis quand ?
+ const lastSuccess = results.find(r => r.success);
+ const downSinceMs = Date.now() - new Date(last.timestamp).getTime();
+ if (lastSuccess) {
+ return { state: 'warn', text: 'Hors ligne depuis ' + formatDuration(downSinceMs) };
}
- return { state: 'err', text: 'Hors ligne depuis ' + duration };
+ return { state: 'err', text: 'Hors ligne depuis ' + formatDuration(downSinceMs) };
}
function renderCard(game, statusData) {