Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-designed tools page #337

Merged
merged 6 commits into from
Sep 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 25 additions & 14 deletions html/locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"cancel": "Abbrechen",
"refresh": "Aktualisieren",
"ok": "OK",
"showhide": "Ein-/Ausblenden",
"infos": "Infos",
"darkmode": "Dunkelmodus",
"restartinfo": "ESPuino wird jetzt neu gestartet...<br>Die Seite lädt sich nach dem Neustart automatisch neu.",
Expand Down Expand Up @@ -122,7 +123,6 @@
"idNumber": "RFID-Chip-Nummer (12-stellig)",
"music": "Musik",
"modification": "Modifikation",
"savedassignments": "Gespeicherte RFID-Zuweisungen",
"fileurl": {
"title": "Datei, Verzeichnis oder URL (^ und # als Zeichen nicht erlaubt)",
"placeholder": "z.B. /mp3/Hoerspiele/Yakari/Yakari_und_seine_Freunde.mp3"
Expand Down Expand Up @@ -290,19 +290,30 @@
}
},
"tools": {
"nvserase": {
"title": "NVS RFID-Zuweisungen löschen",
"desc": "Über den Importer werden lediglich neue Einträge importiert, jedoch keine bestehenden Einträge aktiv gelöscht. Im Falle einer doppelten Zuweisung wird ein Eintrag allenfalls überschrieben. Mit dieser Funktion können alle bestehenden NVS-RFID-Zuweisungen gelöscht werden, so dass der ESPuino im Anschluss keinerlei Karten mehr kennt. Wird im Anschluss der Importer gestartet, befinden sich im Speicher des ESPuino anschließend exakt nur solche Zuweisungen, die Teil der Backup-Datei sind. Weitere Infos gibt es <a href=\"https://forum.espuino.de/t/die-backupfunktion-des-espuino/508\" target=\"_blank\">hier</a>.",
"button": "Zuweisungen löschen",
"prompt": "Alle RFID-Zuweisungen wirklich löschen?"
},
"nvsdelete": {
"title": "NVS RFID-Zuweisung entfernen",
"prompt": "Gespeicherte Zuweisung \"{{rfid}}\" wirklich entfernen?"
},
"nvsimport": {
"title": "NVS RFID-Importer",
"desc": "Hier kann eine Backup-Datei hochgeladen werden, um NVS-RFID-Zuweisungen zu importieren."
"nvs":{
"title": "Gespeicherte RFID-Zuweisungen",
"desc": "Die RFID-Zuweisungen werden nicht auf der SD-Karte, sondern im internen, nicht-flüchtigen Speicher (NVS) des ESPuinos gespeichert.",
"list":{
"title": "Liste aller gespeicherten RFID-Zuweisungen"
},
"erase":{
"title":"Alle RFID-Zuweisungen löschen",
"desc":"Über den Importer werden lediglich neue Einträge importiert, jedoch keine bestehenden Einträge aktiv gelöscht. Im Falle einer doppelten Zuweisung wird ein Eintrag allenfalls überschrieben. Mit dieser Funktion können alle bestehenden RFID-Zuweisungen gelöscht werden, so dass der ESPuino im Anschluss keinerlei Karten mehr kennt. Wird im Anschluss der Importer gestartet, befinden sich im Speicher des ESPuino anschließend exakt nur solche Zuweisungen, die Teil der Backup-Datei sind. Weitere Infos gibt es <a href=\"https://forum.espuino.de/t/die-backupfunktion-des-espuino/508\" target=\"_blank\">hier</a>.",
"button":"Alle Zuweisungen löschen",
"prompt":"Alle RFID-Zuweisungen wirklich löschen?"
},
"delete":{
"title":"RFID-Zuweisung entfernen",
"prompt":"Gespeicherte Zuweisung \"{{rfid}}\" wirklich entfernen?"
},
"import":{
"title":"Import",
"desc":"Hier kann eine Backup-Datei hochgeladen werden, um RFID-Zuweisungen zu importieren."
},
"export":{
"title":"Export",
"desc":"Hier kann eine Backup-Datei heruntergeladen werden, um RFID-Zuweisungen zu exportieren."
}
},
"fwupdate": {
"title": "Firmware-Update",
Expand Down
47 changes: 29 additions & 18 deletions html/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,13 @@
"cancel": "Cancel",
"refresh": "Refresh",
"ok": "OK",
"showhide": "Show/Hide",
"infos": "Infos",
"darkmode": "Dark Mode",
"restartinfo": "ESPuino is being restarted...<br>Page reloads automatically after restart finished.",
"shutdowninfo": "ESPuino is now switched off...<br>Page reloads automatically when the ESPuino is switched on again..",
"toast": {
"rfidDetect": "RFID-tag {{rfidId}} detected.",
"rfidDetect": "RFID tag {{rfidId}} detected.",
"success": "Action performed successfully.",
"conlost": "Connection to ESPuino broken! Please reload website.",
"dropout": "slow stream, dropouts are possible."
Expand Down Expand Up @@ -64,7 +65,7 @@
},
"delete": {
"title": "Delete WiFi",
"prompt": "Delete saved WiFi \"{{ssid}}\" ?"
"prompt": "Delete saved WiFi \"{{ssid}}\"?"
},
"restartPrompt": "Ready to go?"
},
Expand Down Expand Up @@ -118,11 +119,10 @@
"progress": "{{percent}}% ({{speed}} KB/s), {{remaining.value}} {{remaining.unit}} remaining.."
},
"rfid": {
"title": "RFID-Assignments",
"idNumber": "RFID-number (12 digits)",
"title": "RFID Assignments",
"idNumber": "RFID number (12 digits)",
"music": "Music",
"modification": "Modification",
"savedassignments": "Saved RFID-assignments",
"fileurl": {
"title": "File, directory or URL (^ and # aren't allowed as chars)",
"placeholder": "f.e. /mp3/Audiobook/Yakari/Yakari_and_Friends.mp3"
Expand Down Expand Up @@ -290,19 +290,30 @@
}
},
"tools": {
"nvserase": {
"title": "Erase NVS RFID-assignments",
"desc": "Via importer new entries will only be inserted but old ones won't be erased. Only in case an old assignment to the same entry already exists, it will be overwritten. With this function all existing rfid-assignments will be erased. Further <a href=\"https://forum.espuino.de/t/die-backupfunktion-des-espuino/508\" target=\"_blank\">infos</a> in German language.",
"button": "Delete assignments",
"prompt": "Erase all saved NVS RFID-assignments?"
},
"nvsdelete": {
"title": "Remove NVS RFID-assignment",
"prompt": "Remove assignment \"{{rfid}}\" ?"
},
"nvsimport": {
"title": "NVS RFID-Importer",
"desc": "Backupfile can be uploaded right here in order to import NVS-RFID-assignments."
"nvs":{
"title": "Saved RFID assignments",
"desc": "The RFID assignments are not stored on the SD card but on the internal, non-volative storage (NVS) of the ESPuino.",
"list":{
"title": "List of all stored RFID assignments"
},
"erase":{
"title":"Erase all RFID assignments",
"desc":"Via importer new entries will only be inserted but old ones won't be erased. Only in case an old assignment to the same entry already exists, it will be overwritten. With this function all existing RFID assignments will be erased.<br>Further <a href=\"https://forum.espuino.de/t/die-backupfunktion-des-espuino/508\" target=\"_blank\">infos</a> (in German).",
"button":"Delete all assignments",
"prompt":"Erase all saved RFID assignments?"
},
"delete":{
"title":"Erase RFID assignment",
"prompt":"Remove assignment \"{{rfid}}\"?"
},
"import":{
"title":"Import",
"desc":"A backup file can be uploaded here in order to import RFID assignments."
},
"export":{
"title":"Export",
"desc":"A backup file can be download here in order to export the RFID assignments."
}
},
"fwupdate": {
"title": "Firmware-Update",
Expand Down
51 changes: 31 additions & 20 deletions html/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@
"cancel": "Annuler",
"refresh": "Actualiser",
"ok": "OK",
"showhide": "Afficher/Masquer",
"infos": "Infos",
"darkmode": "Mode sombre",
"restartinfo": "ESPuino est en cours de redémarrage...<br>La page se recharge automatiquement après la fin du redémarrage.",
"shutdowninfo": "ESPuino est maintenant éteint...<br>La page se recharge automatiquement lorsque l'ESPuino est rallumé.",
"toast": {
"rfidDetect": "Étiquette RFID {{rfidId}} détectée.",
"success": "Action effectuée avec succès.",
"conlost": "Connexion à l'ESPuino perdue ! Veuillez recharger la page.",
"conlost": "Connexion à l'ESPuino perdue! Veuillez recharger la page.",
"dropout": "flux lent, des interruptions sont possibles."
},
"nav": {
Expand Down Expand Up @@ -64,9 +65,9 @@
},
"delete": {
"title": "Supprimer WiFi",
"prompt": "Supprimer le WiFi enregistré \"{{ssid}}\" ?"
"prompt": "Supprimer le WiFi enregistré \"{{ssid}}\"?"
},
"restartPrompt": "Prêt à partir ?"
"restartPrompt": "Prêt à partir?"
},
"control": {
"title": "Contrôle",
Expand Down Expand Up @@ -106,8 +107,8 @@
"upload": {
"title": "Télécharger",
"desc": "Démarrer le téléchargement",
"selectFolder": "Veuillez sélectionner l'emplacement de téléchargement !",
"selectFile": "Veuillez sélectionner les fichiers à télécharger !",
"selectFolder": "Veuillez sélectionner l'emplacement de téléchargement!",
"selectFile": "Veuillez sélectionner les fichiers à télécharger!",
"success": "Téléchargement réussi ({{elapsed}}, {{speed}} Ko/s)",
"error": "Erreur de téléchargement",
"timeCalc": "Le temps restant est calculé..",
Expand All @@ -122,7 +123,6 @@
"idNumber": "Numéro RFID (12 chiffres)",
"music": "Musique",
"modification": "Modification",
"savedassignments": "Assignations RFID enregistrées",
"fileurl": {
"title": "Fichier, répertoire ou URL (^ et # ne sont pas autorisés comme caractères)",
"placeholder": "par exemple /mp3/Audiobook/Yakari/Yakari_and_Friends.mp3"
Expand Down Expand Up @@ -290,19 +290,30 @@
}
},
"tools": {
"nvserase": {
"title": "Effacer les assignations RFID NVS",
"desc": "Via l'importateur, de nouvelles entrées seront uniquement insérées mais les anciennes ne seront pas effacées. Seules les anciennes assignations au même entrée seront écrasées. Avec cette fonction, toutes les assignations RFID existantes seront effacées. Autres <a href=\"https://forum.espuino.de/t/die-backupfunktion-des-espuino/508\" target=\"_blank\">informations</a> en allemand.",
"button": "Supprimer les assignations",
"prompt": "Effacer toutes les assignations RFID NVS enregistrées ?"
},
"nvsdelete": {
"title": "Supprimer l'assignation RFID NVS",
"prompt": "Supprimer l'assignation \"{{rfid}}\" ?"
},
"nvsimport": {
"title": "Importateur RFID NVS",
"desc": "Le fichier de sauvegarde peut être téléchargé ici pour importer les assignations RFID NVS."
"nvs":{
"title": "Assignations RFID enregistrées",
"desc": "Les affectations RFID ne sont pas stockées sur la carte SD, mais sur la mémoire interne non volatile (NVS) de l'ESPuino.",
"list":{
"title": "Liste de toutes les affectations RFID enregistrées"
},
"erase":{
"title": "Effacer toutes les assignations RFID",
"desc": "Via l'importateur, de nouvelles entrées seront uniquement insérées mais les anciennes ne seront pas effacées. Seules les anciennes assignations au même entrée seront écrasées. Avec cette fonction, toutes les assignations RFID existantes seront effacées. Autres <a href=\"https://forum.espuino.de/t/die-backupfunktion-des-espuino/508\" target=\"_blank\">informations</a> (en allemand).",
"button": "Supprimer toutes les assignations",
"prompt": "Effacer toutes les assignations RFID enregistrées?"
},
"delete":{
"title":"Effacer le assignations RFID",
"prompt":"Remove assignment \"{{rfid}}\"?"
},
"import":{
"title": "Importer",
"desc": "Le fichier de sauvegarde peut être téléchargé ici pour importer les assignations RFID."
},
"export":{
"title":"Exporter",
"desc":"Un fichier de sauvegarde peut être téléchargé ici afin d'exporter les attributions RFID."
}
},
"fwupdate": {
"title": "Mise à jour du micrologiciel",
Expand All @@ -312,7 +323,7 @@
"help": {
"forum": {
"title": "Forum",
"desc": "Rencontrez-vous des problèmes ou souhaitez-vous discuter à propos d'ESPuino ?<br /> Rejoignez-nous sur le <a href=\"https://forum.espuino.de\" target=\"_blank\">Forum ESPuino</a> ! Surtout, il y a beaucoup de <a href=\"https://forum.espuino.de/c/dokumentation/anleitungen/10\" target=\"_blank\">documentation</a> en ligne !"
"desc": "Rencontrez-vous des problèmes ou souhaitez-vous discuter à propos d'ESPuino?<br /> Rejoignez-nous sur le <a href=\"https://forum.espuino.de\" target=\"_blank\">Forum ESPuino</a>! Surtout, il y a beaucoup de <a href=\"https://forum.espuino.de/c/dokumentation/anleitungen/10\" target=\"_blank\">documentation</a> en ligne!"
},
"swagger": {
"title": "Swagger",
Expand Down
77 changes: 42 additions & 35 deletions html/management.html
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ <h5 class="modal-title" data-i18n="wifi.delete.title"></h5>
<div class="modal-dialog" role="document">
<div class="modal-content bg-light text-dark">
<div class="modal-header">
<h5 class="modal-title" data-i18n="tools.nvsdelete.title"></h5>
<h5 class="modal-title" data-i18n="tools.nvs.delete.title"></h5>
</div>
<div class="modal-body">
</div>
Expand All @@ -431,10 +431,10 @@ <h5 class="modal-title" data-i18n="tools.nvsdelete.title"></h5>
<div class="modal-dialog" role="document">
<div class="modal-content bg-light text-dark">
<div class="modal-header">
<h5 class="modal-title" data-i18n="tools.nvserase.title"></h5>
<h5 class="modal-title" data-i18n="tools.nvs.erase.title"></h5>
</div>
<div class="modal-body">
<label data-i18n="tools.nvserase.prompt"></label>
<label data-i18n="tools.nvs.erase.prompt"></label>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" data-i18n="cancel"></button>
Expand Down Expand Up @@ -1153,38 +1153,44 @@ <h5 class="modal-title" data-i18n="tools.nvserase.title"></h5>
<br />
</div>
<!-- ### Tab Tools ### -->
<div class="tab-pane main-tab-pane fade select-div" id="nav-tools" role="tabpanel"
aria-labelledby="nav-tools-tab">
<div class="tab-pane main-tab-pane fade select-div" id="nav-tools" role="tabpanel" aria-labelledby="nav-tools-tab">
<div class="container" id="savedAssignments">
<legend data-i18n="files.rfid.savedassignments"></legend>
<ul class="list-group" id="rfidListSavedAssignments">
</ul>
<hr>
</div>
<div class="container" id="eraseNvs">
<legend data-i18n="tools.nvserase.title"></legend>
<div class="mb-3" data-i18n="[html]tools.nvserase.desc">
<p></p>
</div>
<div class="text-center">
<button type="submit" class="btn btn-danger" data-i18n="tools.nvserase.button"
data-bs-toggle="modal" data-bs-target="#deleteNVSRFIDModal"></button>
</div>
<hr>
</div>
<div class="container" id="importNvs">
<legend data-i18n="tools.nvsimport.title"></legend>
<form id="nvsUploadForm" action="/upload" enctype="multipart/form-data" method="POST"
onsubmit="uploadNVSRFID('nvsUpload'); return false">
<div class="mb-3">
<label for="nvsUpload" data-i18n="tools.nvsimport.desc"></label><br><br>
<input type="file" class="form-control-file btn btn-primary" id="nvsUpload" name="nvsUpload"
accept=".txt">
</div>
<legend data-i18n="tools.nvs.title"></legend>
<p data-i18n="tools.nvs.desc"></p>
<span class="container" style="padding: 0" id="listNvs">
<p style="font-weight: bold" data-i18n="tools.nvs.list.title"></p>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#rfidListSavedAssignmentsContainer" aria-expanded="false"
aria-controls="rfidListSavedAssignmentsContainer" data-i18n="showhide"></button>
<span class="collapse" id="rfidListSavedAssignmentsContainer"><br><br>
<ul class="list-group" id="rfidListSavedAssignments"></ul>
</span><br><br>
</span>
<span class="container" style="padding: 0" id="exportNvs">
<p style="font-weight: bold" data-i18n="tools.nvs.export.title"></p>
<p data-i18n="tools.nvs.export.desc"></p>
<a type="submit" class="btn btn-primary" data-i18n="submit" href="/explorerdownload?path=/backup.txt" target="_blank"></a>
<br><br>
</span>
<span class="container" style="padding: 0">
<p style="font-weight: bold" data-i18n="tools.nvs.import.title"></p>
<form id="nvsUploadForm" action="/upload" enctype="multipart/form-data" method="POST" onsubmit="uploadNVSRFID('nvsUpload'); return false">
<div class="mb-3">
<label for="nvsUpload" data-i18n="tools.nvs.import.desc"></label><br><br>
<input type="file" class="form-control-file btn btn-primary" id="nvsUpload" name="nvsUpload" accept=".txt">
<br><br>
<div class="text-center">
<button type="submit" class="btn btn-primary" data-i18n="submit"></button>
</div>
</div>
</form>
</span>
<span class="container" style="padding: 0" id="eraseNvs">
<p style="font-weight: bold" data-i18n="tools.nvs.erase.title"></p>
<p class="mb-3" data-i18n="[html]tools.nvs.erase.desc"></p>
<div class="text-center">
<button type="submit" class="btn btn-primary" data-i18n="submit"></button>
<button type="submit" class="btn btn-danger" data-i18n="tools.nvs.erase.button" data-bs-toggle="modal" data-bs-target="#deleteNVSRFIDModal"></button>
</div>
</form>
</span>
<hr>
</div>
<div class="container" id="httpUpdate">
Expand Down Expand Up @@ -2267,8 +2273,9 @@ <h5 class="modal-title" data-i18n="tools.nvserase.title"></h5>
rfidElem.appendChild(deleteSpan);
rfidListSavedAssignments.appendChild(rfidElem);
}
document.getElementById('savedAssignments').setAttribute('data-visible', (rfidList.length > 0));
document.getElementById('listNvs').setAttribute('data-visible', (rfidList.length > 0));
document.getElementById('eraseNvs').setAttribute('data-visible', (rfidList.length > 0));
document.getElementById('exportNvs').setAttribute('data-visible', (rfidList.length > 0));
}
async function deleteRFID(tagId) {
console.log("deleting", tagId);
Expand Down Expand Up @@ -2763,8 +2770,8 @@ <h5 class="modal-title" data-i18n="tools.nvserase.title"></h5>
})
$('#deleteRFIDModal').on('show.bs.modal', function (event) {
var rfid = $(event.relatedTarget).data('rfid')
$(this).find('.modal-title').text(i18next.t("tools.nvsdelete.title"));
$(this).find('.modal-body').text(i18next.t("tools.nvsdelete.prompt", {
$(this).find('.modal-title').text(i18next.t("tools.nvs.delete.title"));
$(this).find('.modal-body').text(i18next.t("tools.nvs.delete.prompt", {
rfid: rfid
}));
$(this).find('.btn-ok').attr('href', "javascript:deleteRFID('" + rfid + "')");
Expand Down
Loading