feat: update HTML structure and add version display in the navbar
This commit is contained in:
		| @@ -12,7 +12,7 @@ | ||||
|         <div style="display: flex; align-items: center; gap: 2rem;"> | ||||
|             <img src="/logo.png" alt="FilaMan Logo" class="logo"> | ||||
|             <div class="logo-text"> | ||||
|                 <h1>FilaMan</h1> | ||||
|                 <h1>FilaMan<span class="version">v1.0.2</span></h1> | ||||
|                 <h4>Filament Management Tool</h4> | ||||
|             </div> | ||||
|         </div> | ||||
| @@ -32,3 +32,4 @@ | ||||
|             <div class="ram-status" id="ramStatus"></div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,39 @@ | ||||
| {{header}} | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>FilaMan - Filament Management Tool</title> | ||||
|     <link rel="icon" type="image/png" href="/favicon.ico"> | ||||
|     <link rel="stylesheet" href="style.css"> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="navbar"> | ||||
|         <div style="display: flex; align-items: center; gap: 2rem;"> | ||||
|             <img src="/logo.png" alt="FilaMan Logo" class="logo"> | ||||
|             <div class="logo-text"> | ||||
|                 <h1>FilaMan<span class="version">v1.0.2</span></h1> | ||||
|                 <h4>Filament Management Tool</h4> | ||||
|             </div> | ||||
|         </div> | ||||
|         <nav style="display: flex; gap: 1rem;"> | ||||
|             <a href="/">Start</a> | ||||
|             <a href="/waage">Scale</a> | ||||
|             <a href="/spoolman">Spoolman/Bambu</a> | ||||
|             <a href="/about">About</a> | ||||
|         </nav> | ||||
|         <div class="status-container"> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="bambuDot"></span>B | ||||
|             </div> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="spoolmanDot"></span>S | ||||
|             </div> | ||||
|             <div class="ram-status" id="ramStatus"></div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|  | ||||
|  | ||||
|     <div class="container"> | ||||
|         <h1>FilaMan</h1> | ||||
|   | ||||
| @@ -1,4 +1,39 @@ | ||||
| {{header}} | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>FilaMan - Filament Management Tool</title> | ||||
|     <link rel="icon" type="image/png" href="/favicon.ico"> | ||||
|     <link rel="stylesheet" href="style.css"> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="navbar"> | ||||
|         <div style="display: flex; align-items: center; gap: 2rem;"> | ||||
|             <img src="/logo.png" alt="FilaMan Logo" class="logo"> | ||||
|             <div class="logo-text"> | ||||
|                 <h1>FilaMan<span class="version">v1.0.2</span></h1> | ||||
|                 <h4>Filament Management Tool</h4> | ||||
|             </div> | ||||
|         </div> | ||||
|         <nav style="display: flex; gap: 1rem;"> | ||||
|             <a href="/">Start</a> | ||||
|             <a href="/waage">Scale</a> | ||||
|             <a href="/spoolman">Spoolman/Bambu</a> | ||||
|             <a href="/about">About</a> | ||||
|         </nav> | ||||
|         <div class="status-container"> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="bambuDot"></span>B | ||||
|             </div> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="spoolmanDot"></span>S | ||||
|             </div> | ||||
|             <div class="ram-status" id="ramStatus"></div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|  | ||||
| <div class="connection-status hidden"> | ||||
|     <div class="spinner"></div> | ||||
|     <span>Connection lost. Trying to reconnect...</span> | ||||
|   | ||||
| @@ -1,4 +1,39 @@ | ||||
| {{header}} | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>FilaMan - Filament Management Tool</title> | ||||
|     <link rel="icon" type="image/png" href="/favicon.ico"> | ||||
|     <link rel="stylesheet" href="style.css"> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="navbar"> | ||||
|         <div style="display: flex; align-items: center; gap: 2rem;"> | ||||
|             <img src="/logo.png" alt="FilaMan Logo" class="logo"> | ||||
|             <div class="logo-text"> | ||||
|                 <h1>FilaMan<span class="version">v1.0.2</span></h1> | ||||
|                 <h4>Filament Management Tool</h4> | ||||
|             </div> | ||||
|         </div> | ||||
|         <nav style="display: flex; gap: 1rem;"> | ||||
|             <a href="/">Start</a> | ||||
|             <a href="/waage">Scale</a> | ||||
|             <a href="/spoolman">Spoolman/Bambu</a> | ||||
|             <a href="/about">About</a> | ||||
|         </nav> | ||||
|         <div class="status-container"> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="bambuDot"></span>B | ||||
|             </div> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="spoolmanDot"></span>S | ||||
|             </div> | ||||
|             <div class="ram-status" id="ramStatus"></div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|  | ||||
|     <script> | ||||
|         window.onload = function() { | ||||
|             if (spoolmanUrl && spoolmanUrl.trim() !== "") { | ||||
|   | ||||
| @@ -1007,3 +1007,10 @@ input[type="submit"]:disabled, | ||||
| .spool-button:hover { | ||||
|     opacity: 0.8; | ||||
| } | ||||
|  | ||||
| .version { | ||||
|     font-size: 0.4em; | ||||
|     color: #000; | ||||
|     vertical-align: middle; | ||||
|     margin-left: 0.5rem; | ||||
| } | ||||
| @@ -1,4 +1,39 @@ | ||||
| {{header}} | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>FilaMan - Filament Management Tool</title> | ||||
|     <link rel="icon" type="image/png" href="/favicon.ico"> | ||||
|     <link rel="stylesheet" href="style.css"> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="navbar"> | ||||
|         <div style="display: flex; align-items: center; gap: 2rem;"> | ||||
|             <img src="/logo.png" alt="FilaMan Logo" class="logo"> | ||||
|             <div class="logo-text"> | ||||
|                 <h1>FilaMan<span class="version">v1.0.2</span></h1> | ||||
|                 <h4>Filament Management Tool</h4> | ||||
|             </div> | ||||
|         </div> | ||||
|         <nav style="display: flex; gap: 1rem;"> | ||||
|             <a href="/">Start</a> | ||||
|             <a href="/waage">Scale</a> | ||||
|             <a href="/spoolman">Spoolman/Bambu</a> | ||||
|             <a href="/about">About</a> | ||||
|         </nav> | ||||
|         <div class="status-container"> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="bambuDot"></span>B | ||||
|             </div> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="spoolmanDot"></span>S | ||||
|             </div> | ||||
|             <div class="ram-status" id="ramStatus"></div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|  | ||||
|     <div class="content"> | ||||
|         <h1>Scale Configuration Page</h1> | ||||
|          | ||||
|   | ||||
| @@ -1,4 +1,39 @@ | ||||
| {{header}} | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>FilaMan - Filament Management Tool</title> | ||||
|     <link rel="icon" type="image/png" href="/favicon.ico"> | ||||
|     <link rel="stylesheet" href="style.css"> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="navbar"> | ||||
|         <div style="display: flex; align-items: center; gap: 2rem;"> | ||||
|             <img src="/logo.png" alt="FilaMan Logo" class="logo"> | ||||
|             <div class="logo-text"> | ||||
|                 <h1>FilaMan<span class="version">v1.0.2</span></h1> | ||||
|                 <h4>Filament Management Tool</h4> | ||||
|             </div> | ||||
|         </div> | ||||
|         <nav style="display: flex; gap: 1rem;"> | ||||
|             <a href="/">Start</a> | ||||
|             <a href="/waage">Scale</a> | ||||
|             <a href="/spoolman">Spoolman/Bambu</a> | ||||
|             <a href="/about">About</a> | ||||
|         </nav> | ||||
|         <div class="status-container"> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="bambuDot"></span>B | ||||
|             </div> | ||||
|             <div class="status-item"> | ||||
|                 <span class="status-dot" id="spoolmanDot"></span>S | ||||
|             </div> | ||||
|             <div class="ram-status" id="ramStatus"></div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|  | ||||
|     <div class="content"> | ||||
|         <h1>WiFi Configuration Page</h1> | ||||
|         <form action="/setToken" method="post"> | ||||
|   | ||||
| @@ -92,24 +92,16 @@ void onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventTyp | ||||
|  | ||||
| // Funktion zum Laden und Ersetzen des Headers in einer HTML-Datei | ||||
| String loadHtmlWithHeader(const char* filename) { | ||||
|     if (!SPIFFS.exists(filename) || !SPIFFS.exists("/header.html")) { | ||||
|     Serial.println("Lade HTML-Datei: " + String(filename)); | ||||
|     if (!SPIFFS.exists(filename)) { | ||||
|         Serial.println("Fehler: Datei nicht gefunden!"); | ||||
|         return "Fehler: Datei nicht gefunden!"; | ||||
|     } | ||||
|  | ||||
|     // Lade den Header | ||||
|     File headerFile = SPIFFS.open("/header.html", "r"); | ||||
|     String header = headerFile.readString(); | ||||
|     headerFile.close(); | ||||
|  | ||||
|     // Lade die Hauptdatei | ||||
|     File file = SPIFFS.open(filename, "r"); | ||||
|     String html = file.readString(); | ||||
|     file.close(); | ||||
|  | ||||
|     // Ersetze den Platzhalter mit dem Header | ||||
|     html.replace("{{header}}", header); | ||||
|  | ||||
|     return html; | ||||
| } | ||||
|  | ||||
| @@ -169,25 +161,31 @@ void setupWebserver(AsyncWebServer &server) { | ||||
|     Serial.print("Geladene Spoolman-URL: "); | ||||
|     Serial.println(spoolmanUrl); | ||||
|  | ||||
|     // Route für die Startseite | ||||
|     // Route für about | ||||
|     server.on("/about", HTTP_GET, [](AsyncWebServerRequest *request){ | ||||
|         Serial.println("Anfrage für / erhalten"); | ||||
|         String html = loadHtmlWithHeader("/index.html"); | ||||
|         request->send(200, "text/html", html); | ||||
|         Serial.println("Anfrage für /about erhalten"); | ||||
|         AsyncWebServerResponse *response = request->beginResponse(SPIFFS, "/about.html.gz", "text/html"); | ||||
|         response->addHeader("Content-Encoding", "gzip"); | ||||
|         response->addHeader("Cache-Control", CACHE_CONTROL); | ||||
|         request->send(response); | ||||
|     }); | ||||
|  | ||||
|     // Route für Waage | ||||
|     server.on("/waage", HTTP_GET, [](AsyncWebServerRequest *request){ | ||||
|         Serial.println("Anfrage für /waage erhalten"); | ||||
|         String html = loadHtmlWithHeader("/waage.html"); | ||||
|         request->send(200, "text/html", html); | ||||
|         AsyncWebServerResponse *response = request->beginResponse(SPIFFS, "/waage.html.gz", "text/html"); | ||||
|         response->addHeader("Content-Encoding", "gzip"); | ||||
|         response->addHeader("Cache-Control", CACHE_CONTROL); | ||||
|         request->send(response); | ||||
|     }); | ||||
|  | ||||
|     // Route für RFID | ||||
|     server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ | ||||
|         Serial.println("Anfrage für /rfid erhalten"); | ||||
|         String html = loadHtmlWithHeader("/rfid.html"); | ||||
|         request->send(200, "text/html", html); | ||||
|         AsyncWebServerResponse *response = request->beginResponse(SPIFFS, "/rfid.html.gz", "text/html"); | ||||
|         response->addHeader("Content-Encoding", "gzip"); | ||||
|         response->addHeader("Cache-Control", CACHE_CONTROL); | ||||
|         request->send(response); | ||||
|         Serial.println("RFID-Seite gesendet"); | ||||
|     }); | ||||
|  | ||||
| @@ -211,8 +209,10 @@ void setupWebserver(AsyncWebServer &server) { | ||||
|     // Route für WiFi | ||||
|     server.on("/wifi", HTTP_GET, [](AsyncWebServerRequest *request){ | ||||
|         Serial.println("Anfrage für /wifi erhalten"); | ||||
|         String html = loadHtmlWithHeader("/wifi.html"); | ||||
|         request->send(200, "text/html", html); | ||||
|         AsyncWebServerResponse *response = request->beginResponse(SPIFFS, "/wifi.html.gz", "text/html"); | ||||
|         response->addHeader("Content-Encoding", "gzip"); | ||||
|         response->addHeader("Cache-Control", CACHE_CONTROL); | ||||
|         request->send(response); | ||||
|     }); | ||||
|  | ||||
|     // Route für Spoolman Setting | ||||
|   | ||||
		Reference in New Issue
	
	Block a user