Skip to content

Commit

Permalink
Update health fjunction (github suggestion #2 )
Browse files Browse the repository at this point in the history
Added secret background

TODO: add translations for overheat/cold alarm, currentTemperature, and those two "usb but not charging"
  • Loading branch information
W4IT-Dev committed Aug 2, 2024
1 parent 4a4b555 commit 7e55588
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 16 deletions.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
</div>
</div>
</div>
<img id="keystrokes" src="/assets/image/keystrokes_false_dark.png" alt="">
<img id="keystrokes" src="/assets/image/keystrokes_false_dark.png" alt="keys: 1/3/0/*/#">
</body>


Expand Down
29 changes: 19 additions & 10 deletions scripts/battery.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,26 @@ function batteryStats() {
updateChargingInfo();
updateDischargingInfo();
updateTemperatureInfo();
updateHealth();
temperatureUpdateInterval = setInterval(() => { updateTemperatureInfo(); }, 60000 * 5);
}
updateAllBatteryInfo();
//events
battery.addEventListener('chargingchange', updateChargeInfo);

battery.addEventListener('levelchange', updateLevelInfo);

battery.addEventListener('chargingtimechange', updateChargingInfo);

battery.addEventListener('dischargingtimechange', updateDischargingInfo);
battery.addEventListener('healthchange', updateHealth);

function updateChargeInfo() {
if(navigator.usb) {
if(navigator.usb.deviceAttached && !battery.charging){
if (navigator.usb) {
if (navigator.usb.deviceAttached && !battery.charging) {
let a = translate('not_charging');
let b = translate('usb_attached_but_not_charging');
pushLocalNotification(a,b)
pushLocalNotification(a, b)
// "/assets/image/notCharging.png"
}

}
a = document.querySelector('#container');
battery.charging ? (a.classList.add('charging'), temperatureUpdateInterval = setInterval(() => { temperature.innerText = battery.temperature + '°' }, 60000 * 2)) : (a.classList.remove('charging'), alarm.pause(), temperatureUpdateInterval = setInterval(() => { temperature.innerText = battery.temperature + '°' }, 60000 * 5));
Expand Down Expand Up @@ -82,8 +81,18 @@ function batteryStats() {
} else dischargingTime.parentNode.style.display = "none", dischargingTime.parentNode.classList.remove('nav')
}
function updateTemperatureInfo() {
if (battery.temperature !== undefined) temperature.parentNode.style.display = "flex", temperature.innerText = battery.temperature + '°'
else toastMessage('Unable to get battery temperature.'), temperature.parentNode.style.display = "none";
let a = temperature.parentNode
if (battery.temperature !== undefined) a.style.display = "flex", a.classList.add('nav'), temperature.innerText = battery.temperature + '°'
else toastMessage('Unable to get battery temperature.'), a.style.display = "none", a.classList.remove('nav')

}

function updateHealth() {
// let health = navigator.battery.health ? navigator.battery.health : false;
let health = "Overheat";
if (!health) return console.log('Unable to get battery health.')
let a = (health === "Overheat")
if (health === "Overheat" || health === "Cold") pushLocalNotification(a ? translate('overheatAlert') : translate('coldAlert'), `${battery.temperature} ${translate('currentTemperature')}`)
}

document.addEventListener('visibilitychange', () => {
Expand All @@ -95,7 +104,7 @@ function batteryStats() {
}
})

temperature.parentNode.addEventListener('focus', ()=>{
temperature.parentNode.addEventListener('focus', () => {
updateTemperatureInfo();
})
});
Expand Down
10 changes: 9 additions & 1 deletion scripts/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ function nav(move) {
if (move === -1 && !currentIndex.classList.contains('nav')) return items[items.length - 1].focus();
targetElement ? targetElement.focus() : currentIndex.blur();
}

let toggleSecretBackground = 0;
document.addEventListener('keydown', e => {
if (HUDvisible) return
if (["ArrowUp", "ArrowDown"].includes(e.key)) nav(e.key === "ArrowUp" ? -1 : 1);
Expand All @@ -85,6 +85,13 @@ document.addEventListener('keydown', e => {
toastMessage(text)
}
if (e.key == "0" && !["maxCharge", "minCharge"].includes(document.activeElement.id)) toggleMode();
let b;
if (e.key == "0") {
clearTimeout(b)
toggleSecretBackground++
if (toggleSecretBackground >= 3) document.body.classList.add('secretBackground'), toggleSecretBackground = 0;
b = setTimeout(() => { toggleSecretBackground = 0 }, 340)
}
});

function toastMessage(text) {
Expand Down Expand Up @@ -139,6 +146,7 @@ document.addEventListener('visibilitychange', () => {
});

function setMode() {
document.body.classList.remove('secretBackground')
let rtl = document.body.classList.contains('rtl')
if (!localStorage.mode) localStorage.mode = "dark"
// document.body.classList.toggle('light', localStorage.mode === "light");
Expand Down
13 changes: 13 additions & 0 deletions styles/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ body {
position: relative;
}

body.secretBackground {
background: rgb(0, 14, 36);
background: radial-gradient(circle, rgba(0, 14, 36, 1) 0%, rgba(45, 1, 46, 1) 4%, rgba(3, 58, 9, 1) 9%, rgba(70, 39, 4, 1) 14%, rgba(75, 5, 10, 1) 16%, rgba(7, 97, 73, 1) 25%, rgba(111, 16, 8, 1) 31%, rgba(108, 121, 9, 1) 35%, rgba(8, 136, 93, 1) 42%, rgba(150, 7, 28, 1) 49%, rgba(149, 6, 165, 1) 56%, rgba(87, 5, 177, 1) 62%, rgba(4, 189, 49, 1) 68%, rgba(201, 151, 3, 1) 74%, rgba(2, 51, 214, 1) 80%, rgba(180, 224, 2, 1) 85%, rgba(230, 65, 2, 1) 88%, rgba(243, 1, 191, 1) 94%, rgba(0, 212, 255, 1) 100%) !important;
}

body.secretBackground #battery {
background: rgba(5, 5, 5, 0.7) !important;
}

body.light.secretBackground #battery {
background: rgba(205, 205, 205, 0.6) !important;
}

body,
body * {
font-family: "Ubuntu";
Expand Down
10 changes: 6 additions & 4 deletions translation/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@
"discharge_time": "Entladezeit:",
"discharge_time_explanation": "Geschätzte Zeit bis der Akku vollständig entladen ist.",
"enabled": "aktiviert",
"is_current_level": "% ist Dein aktueller Akkustand",
"is_current_level": "% ist Dein aktueller Akkustand.",
"max_charge": "Max. Ladung",
"max_charge_explanation": "Der Alarm wird aktiviert, wenn der Akkustand diesen Wert überschreitet",
"max_charge_explanation": "Der Alarm wird aktiviert, wenn der Akkustand diesen Wert überschreitet.",
"min": "min",
"min_charge": "Min. Ladung",
"min_charge_explanation": "Der Alarm wird aktiviert, wenn der Akkustand diesen Wert unterschreitet",
"min_charge_explanation": "Der Alarm wird aktiviert, wenn der Akkustand diesen Wert unterschreitet.",
"overheatAlert": "Dein Handy überhitzt!",
"currentTemperature": "° ist die aktulle Temperatur des Telefones.",
"silent_alarm": "Stiller Alarm",
"temperature": "Temperatur:",
"temperature_explanation": "Geschätzte Temperatur des Akkus in Celsius",
"temperature_explanation": "Geschätzte Temperatur des Akkus in Celsius.",
"html": "<h1>Über die App</h1><h2>Battery Manager v1.5.0</h2><p>Batterie Informationen und anpassbare Warnungen.<h2>Was macht die App?</h2><p>Battery Manager ist die ideale Lösung für ein effizientes Akkumanagement auf Ihrem KaiOS Featurephone. Behalte den Überblick über wichtige Akkustatistiken wie Entlade- und Ladezeiten, Temperatur und Änderungen des Ladezustands in Echtzeit. Stelle personalisierte Warnungen für bestimmte Batteriestände ein, sowohl für hohe als auch für niedrige, um sicherzustellen, dass Ihnen nie die Energie ausgeht, wenn Du sie am meisten brauchen. Lade Battery Manager jetzt herunter und übernehme die Kontrolle über die Akkulaufzeit Deines Geräts für ein sorgenfreies mobiles Erlebnis<h2>Tastenfunktionen:</h2><p>1 - Lautstärke senken<p>3 - Lautstärke erhöhen<p>0 - Hellen Modus ein-/ausschalten<p>* - Stillen Alarm ein-/auschalten (nur Benachrichtigungen)<p># - Diese Seite anzeigen<h2>Lizenz</h2><p>Dieser Programm steht unter der GNU General Public License v3.0<p>Code <a href=https://github.com/W4IT-Dev/Battery-Manager>hier</a> anschauen<h2>Namensnennung:</h2><p>Icon auf <a href=https://www.vecteezy.com/png/9394734-battery-charge-png-transparent>vecteezy</a> gefunden<h3>Übersetzer:</h3><p>Arabisch: Mykle<p>Französisch: swye<p>Polnisch: nuclear<p>Urdu: san<p>Italienisch: Giososa<p>Chinesisch (vereinfacht): luudvick<h2>Kontakt</h2><h3>Falls Du jegliche Fehler in dieser App gefunden hast, bitte kontaktiere micht über <a href='mailto:[email protected]?Subject=Battery%20Manager%20v1.5.0%20Fehlerbericht'>Email</a></h3>"
}

0 comments on commit 7e55588

Please sign in to comment.