Fix delay on updating 'Online For' when opening user dialog

I don't like or understand Vue
This commit is contained in:
Natsumi
2020-12-17 20:24:11 +13:00
committed by pypy
parent 8a0a25309f
commit 74fa583b99
2 changed files with 41 additions and 5 deletions

View File

@@ -7600,6 +7600,45 @@ import gameLogService from './service/gamelog.js'
});
};
$app.methods.onlineFor = function (ctx) {
var timeToText = function (sec) {
var n = Number(sec);
if (isNaN(n)) {
return escapeTag(sec);
}
n = Math.floor(n / 1000);
var arr = [];
if (n < 0) {
n = -n;
}
if (n >= 86400) {
arr.push(`${Math.floor(n / 86400)}d`);
n %= 86400;
}
if (n >= 3600) {
arr.push(`${Math.floor(n / 3600)}h`);
n %= 3600;
}
if (n >= 60) {
arr.push(`${Math.floor(n / 60)}m`);
n %= 60;
}
if (n ||
arr.length === 0) {
arr.push(`${n}s`);
}
return arr.join(' ');
};
if (ctx.ref.state === 'online') {
return timeToText(Date.now() - ctx.ref.$online_for)
} else if (ctx.ref.$offline_for) {
return timeToText(Date.now() - ctx.ref.$offline_for)
} else {
return '-';
}
};
$app = new Vue($app);
window.$app = $app;
})();