'require baseclass';
'require fs';
'require rpc';
+'require uci';
+
+var callGetUnixtime = rpc.declare({
+ object: 'luci',
+ method: 'getUnixtime',
+ expect: { result: 0 }
+});
var callLuciVersion = rpc.declare({
object: 'luci',
return Promise.all([
L.resolveDefault(callSystemBoard(), {}),
L.resolveDefault(callSystemInfo(), {}),
- L.resolveDefault(callLuciVersion(), { revision: _('unknown version'), branch: 'LuCI' })
+ L.resolveDefault(callLuciVersion(), { revision: _('unknown version'), branch: 'LuCI' }),
+ L.resolveDefault(callGetUnixtime(), 0),
+ uci.load('system')
]);
},
render: function(data) {
var boardinfo = data[0],
systeminfo = data[1],
- luciversion = data[2];
+ luciversion = data[2],
+ unixtime = data[3];
luciversion = luciversion.branch + ' ' + luciversion.revision;
var datestr = null;
- if (systeminfo.localtime) {
- var date = new Date(systeminfo.localtime * 1000);
+ if (unixtime) {
+ var date = new Date(unixtime * 1000),
+ zn = uci.get('system', '@system[0]', 'zonename')?.replaceAll(' ', '_') || 'UTC',
+ ts = uci.get('system', '@system[0]', 'clock_timestyle'),
+ hc = uci.get('system', '@system[0]', 'clock_hourcycle');
- datestr = '%04d-%02d-%02d %02d:%02d:%02d'.format(
- date.getUTCFullYear(),
- date.getUTCMonth() + 1,
- date.getUTCDate(),
- date.getUTCHours(),
- date.getUTCMinutes(),
- date.getUTCSeconds()
- );
+ datestr = new Intl.DateTimeFormat(undefined, {
+ dateStyle: 'medium',
+ timeStyle: (ts == 0) ? 'long' : 'full',
+ hourCycle: hc,
+ timeZone: zn
+ }).format(date);
}
var fields = [
"/www/luci-static/resources/view/status/include": [ "list" ]
},
"ubus": {
- "luci": [ "getVersion" ],
+ "luci": [ "getVersion", "getUnixtime" ],
"file": [ "list", "read" ],
"system": [ "board", "info" ]
}