mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-19 14:53:50 +02:00
Fix delay on updating 'Online For' when opening user dialog
I don't like or understand Vue
This commit is contained in:
@@ -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);
|
$app = new Vue($app);
|
||||||
window.$app = $app;
|
window.$app = $app;
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -772,12 +772,9 @@ html
|
|||||||
span.extra(v-else style="color:#F56C6C") Deny
|
span.extra(v-else style="color:#F56C6C") Deny
|
||||||
.x-friend-item
|
.x-friend-item
|
||||||
.detail
|
.detail
|
||||||
span.name(v-if="userDialog.ref.state != 'offline' && userDialog.ref.state != 'active' && userDialog.ref.state != ''") Online For
|
span.name(v-if="userDialog.ref.state === 'online'") Online For
|
||||||
span.name(v-else) Offline For
|
span.name(v-else) Offline For
|
||||||
span.extra
|
span.extra(v-text="onlineFor(userDialog)")
|
||||||
timer(v-if="userDialog.ref.state != 'offline' && userDialog.ref.state != 'active' && userDialog.ref.state != ''" :epoch="userDialog.ref.$online_for")
|
|
||||||
timer(v-else-if="userDialog.ref.$offline_for" :epoch="userDialog.ref.$offline_for")
|
|
||||||
span(v-else) -
|
|
||||||
.x-friend-item
|
.x-friend-item
|
||||||
.detail
|
.detail
|
||||||
span.name Last Login
|
span.name Last Login
|
||||||
|
|||||||
Reference in New Issue
Block a user