^deviceinfo
try {
const {DeviceInfo} = customJS
await DeviceInfo.display({dv})
} catch(error) {
dv.span("We are working hard to prepare your device info for you β³")
//dv.span(error.message)
}
^d900a3
| class DeviceInfo { | |
| async display(args) { | |
| const {dv} = args | |
| const date = await app.plugins.getPlugin('templater-obsidian').templater.functions_generator.internal_functions.modules_array.find(x => x.name === "date").static_object | |
| let th = Number(date.now("HH")) | |
| let tm = Number(date.now("mm")) | |
| if(tm<10){ | |
| tm = "0" + tm | |
| } | |
| let timem = '' | |
| if(th>12) { | |
| th = th -12 | |
| timem = th + ":" + tm + " in the afternoon." | |
| } else { | |
| timem = th + ":" + tm + " in the morning." | |
| } | |
| dv.span("Today is " + date.now("YYYY-MM-DD") + ". The time is " + timem) | |
| dv.span("<br></br>") | |
| if(Capacitor.getPlatform() == "web") { | |
| var os = require('os') | |
| function secondsToDhms(seconds) { | |
| seconds = Number(seconds); | |
| var d = Math.floor(seconds / (3600*24)); | |
| var h = Math.floor(seconds % (3600*24) / 3600); | |
| var m = Math.floor(seconds % 3600 / 60); | |
| var s = Math.floor(seconds % 60); | |
| var dDisplay = d > 0 ? d + (d == 1 ? " day, " : " days, ") : ""; | |
| var hDisplay = h > 0 ? h + (h == 1 ? " hour, " : " hours, ") : ""; | |
| var mDisplay = m > 0 ? m + (m == 1 ? " minute, " : " minutes, ") : ""; | |
| var sDisplay = s > 0 ? s + (s == 1 ? " second" : " seconds") : ""; | |
| return {dDisplay, hDisplay, mDisplay, sDisplay} | |
| } | |
| const {dDisplay, hDisplay, mDisplay, sDisplay } = secondsToDhms(os.uptime()) | |
| dv.span("This pc π» is running " + os.platform() + ", " + os.version()) | |
| dv.span("<br></br>") | |
| dv.span("This pc π» have been on for " + dDisplay + hDisplay + mDisplay + sDisplay + ".") | |
| dv.span("<br></br>") | |
| const data = await navigator.getBattery() | |
| let chargestatus = 'not charging' | |
| let chargetime = ", discharging time is " + data["dischargingTime"] | |
| if(data["charging"]) { | |
| chargestatus = "charging" | |
| chargetime = ", charging time is " + data["chargingTime"] | |
| } | |
| dv.span("The pc π» is currently " + chargestatus + chargetime) | |
| } else { | |
| const deviceinfo = await Capacitor.Plugins.Device.getInfo() | |
| const devicebattery = await Capacitor.Plugins.Device.getBatteryInfo() | |
| let currentbattlevel = devicebattery["batteryLevel"].toFixed(2).replace("0.",'') | |
| if(currentbattlevel == 1) { | |
| currentbattlevel = 100 | |
| } | |
| dv.span("This device π± is running " + deviceinfo["operatingSystem"] + ", version " + deviceinfo["osVersion"]) | |
| dv.span("<br></br>") | |
| dv.span("This device π± is made by " + deviceinfo["manufacturer"] + ", model is " + deviceinfo["model"]) | |
| dv.span("<br></br>") | |
| dv.span("The battery π level is " + currentbattlevel + "% out of 100%") | |
| dv.span("<br></br>") | |
| dv.span("<progress id='file' max=" + "100" + " value=" + currentbattlevel + "></progress>") | |
| } | |
| } | |
| } |