v1.9.4: UI - Modal pour consulter wifi_connect.log depuis l'admin
Ajoute un bouton 'WiFi connect logs' dans logs.html qui ouvre un modal avec le contenu de logs/wifi_connect.log (créé en v1.9.3). Permet de diagnostiquer une tentative de connexion WiFi sans passer en SSH. Le contenu est chargé à l'ouverture du modal (pas au chargement de la page) pour éviter de saturer la limite de 6 connexions du navigateur sur la page Journal. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"version": "1.9.4",
|
||||||
|
"date": "2026-05-20",
|
||||||
|
"changes": {
|
||||||
|
"features": [
|
||||||
|
"logs.html: bouton 'WiFi connect logs' qui ouvre un modal affichant le contenu de logs/wifi_connect.log (introduit en v1.9.3), avec bouton Refresh. Permet de récupérer la chronologie complète d'une tentative de connexion WiFi directement depuis l'UI admin, sans passer en SSH"
|
||||||
|
],
|
||||||
|
"improvements": [],
|
||||||
|
"fixes": [],
|
||||||
|
"compatibility": []
|
||||||
|
},
|
||||||
|
"notes": "Complète la v1.9.3 en rendant accessible le nouveau log dédié depuis l'interface admin (le fichier était écrit mais pas affiché dans la page Journal)."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "1.9.3",
|
"version": "1.9.3",
|
||||||
"date": "2026-05-20",
|
"date": "2026-05-20",
|
||||||
|
|||||||
@@ -51,6 +51,11 @@
|
|||||||
<main class="col-md-10 ms-sm-auto col-lg-11 offset-md-2 offset-lg-1 px-md-4">
|
<main class="col-md-10 ms-sm-auto col-lg-11 offset-md-2 offset-lg-1 px-md-4">
|
||||||
<h1 class="mt-4" data-i18n="logs.title">Le journal</h1>
|
<h1 class="mt-4" data-i18n="logs.title">Le journal</h1>
|
||||||
<p data-i18n="logs.description">Le journal des logs permet de savoir si les processus du capteur se déroulent correctement.</p>
|
<p data-i18n="logs.description">Le journal des logs permet de savoir si les processus du capteur se déroulent correctement.</p>
|
||||||
|
<div class="mb-3">
|
||||||
|
<button type="button" class="btn btn-outline-primary btn-sm" data-bs-toggle="modal" data-bs-target="#wifiLogModal" onclick="loadWifiLog()">
|
||||||
|
WiFi connect logs
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- card 1 -->
|
<!-- card 1 -->
|
||||||
<div class="col-lg-6 col-12">
|
<div class="col-lg-6 col-12">
|
||||||
@@ -83,6 +88,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- WiFi connect log modal -->
|
||||||
|
<div class="modal fade" id="wifiLogModal" tabindex="-1" aria-labelledby="wifiLogModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="wifiLogModalLabel">WiFi connect logs</h5>
|
||||||
|
<button type="button" class="btn btn-secondary btn-sm ms-auto me-2" onclick="loadWifiLog()">Refresh</button>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body overflow-auto" id="card_wifi_content" style="max-height: 70vh;">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -187,6 +207,12 @@ window.onload = function() {
|
|||||||
|
|
||||||
}//end onload
|
}//end onload
|
||||||
|
|
||||||
|
function loadWifiLog() {
|
||||||
|
const container = document.getElementById('card_wifi_content');
|
||||||
|
if (!container) return;
|
||||||
|
displayLogFile('../logs/wifi_connect.log', container, true, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
function displayLogFile(logFilePath, containerElement, scrollToBottom = true, maxLines = 0) {
|
function displayLogFile(logFilePath, containerElement, scrollToBottom = true, maxLines = 0) {
|
||||||
// Show loading indicator
|
// Show loading indicator
|
||||||
containerElement.innerHTML = '<div class="text-center"><i>Loading log file...</i></div>';
|
containerElement.innerHTML = '<div class="text-center"><i>Loading log file...</i></div>';
|
||||||
|
|||||||
Reference in New Issue
Block a user