This commit is contained in:
+15
-13
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user