^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>") | |
} | |
} | |
} |