From b3d66e90232b92761aa6877e1840fe2086d0f6f9 Mon Sep 17 00:00:00 2001 From: Parrot Date: Wed, 18 Oct 2023 08:01:26 -0500 Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9F=93=A6]=20Added=20@types/web?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 7 +++++++ package.json | 1 + 2 files changed, 8 insertions(+) diff --git a/package-lock.json b/package-lock.json index 2667fe3..6f80f0c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ }, "devDependencies": { "@types/uuid": "^9.0.5", + "@types/web": "^0.0.117", "ts-standard": "^12.0.2", "typescript": "^5.2.2", "vite": "^4.4.11", @@ -754,6 +755,12 @@ "integrity": "sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ==", "dev": true }, + "node_modules/@types/web": { + "version": "0.0.117", + "resolved": "https://registry.npmjs.org/@types/web/-/web-0.0.117.tgz", + "integrity": "sha512-RuiWqL7X8vZjg9gB6vWHfqz6/u7RAghWlAsIYm8pImmtRsrupiWPH3yTUu+iutLx8om9U0W/CpP8Lx1rDYBjYw==", + "dev": true + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", diff --git a/package.json b/package.json index 494ea71..d095350 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "license": "MIT", "devDependencies": { "@types/uuid": "^9.0.5", + "@types/web": "^0.0.117", "ts-standard": "^12.0.2", "typescript": "^5.2.2", "vite": "^4.4.11", From b390da198a1f692b0a98d84bf35e088c1b1f073b Mon Sep 17 00:00:00 2001 From: Parrot Date: Wed, 18 Oct 2023 08:02:01 -0500 Subject: [PATCH 2/2] =?UTF-8?q?[=E2=9C=A8]=20Functioning=20battery=20modul?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/battery.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/modules/battery.ts b/src/modules/battery.ts index 3909381..7818ec0 100644 --- a/src/modules/battery.ts +++ b/src/modules/battery.ts @@ -9,5 +9,17 @@ export const run = (element: HTMLDivElement): void => { element.style.alignItems = 'center' element.style.paddingLeft = '15px' element.style.paddingRight = '15px' - element.innerHTML = '🔋 100%' + + if ('getBattery' in navigator) { + // types don't exist for battery api + // @ts-expect-error + navigator.getBattery().then((battery) => { + element.innerHTML = `🔋 ${(battery.level * 100).toFixed(0)}%` + battery.addEventListener('', () => { + element.innerHTML = `🔋 ${(battery.level * 100).toFixed(0)}%` + }) + }) + } else { + console.log('Battery API is not supported on this device') + } }