feat: add rfid_bambu.html and update bambu connection handling
This commit is contained in:
		| @@ -141,15 +141,6 @@ | ||||
|             </div> | ||||
|         </div> | ||||
|  | ||||
|         <!-- Rechte Spalte --> | ||||
|         <div class="column"> | ||||
|             <div class="feature-box"> | ||||
|                 <h2>Bambu AMS</h2> | ||||
|                 <div id="amsDataContainer"> | ||||
|                     <div class="amsData" id="amsData">Wait for AMS-Data...</div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
|  | ||||
|   | ||||
							
								
								
									
										160
									
								
								html/rfid_bambu.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								html/rfid_bambu.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,160 @@ | ||||
| <!-- head --><!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"> | ||||
|     <script> | ||||
|         fetch('/api/version') | ||||
|             .then(response => response.json()) | ||||
|             .then(data => { | ||||
|                 const versionSpan = document.querySelector('.version'); | ||||
|                 if (versionSpan) { | ||||
|                     versionSpan.textContent = 'v' + data.version; | ||||
|                 } | ||||
|             }) | ||||
|             .catch(error => console.error('Error fetching version:', error)); | ||||
|     </script> | ||||
| </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"></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> | ||||
|             <a href="/upgrade">Upgrade</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> | ||||
|  | ||||
| <!-- head --> | ||||
|  | ||||
| <div class="connection-status hidden"> | ||||
|     <div class="spinner"></div> | ||||
|     <span>Connection lost. Trying to reconnect...</span> | ||||
| </div> | ||||
| <div class="content"> | ||||
|     <div class="three-column-layout"> | ||||
|         <!-- Linke Spalte --> | ||||
|         <div class="column"> | ||||
|             <div class="feature-box"> | ||||
|                 <div class="statistics-header"> | ||||
|                     <h2>Statistics</h2> | ||||
|                     <button id="refreshSpoolman" class="refresh-button"> | ||||
|                         <span>Refresh Spoolman</span> | ||||
|                     </button> | ||||
|                 </div> | ||||
|                 <div class="statistics-column"> | ||||
|                     <h3>Spools</h3> | ||||
|                         <div class="spool-stat" style="display: flex; justify-content: center; align-items: center;"> | ||||
|                             <span class="stat-label">total:</span> | ||||
|                             <span class="stat-value" id="totalSpools"></span> | ||||
|                             <div style="width: auto;"></div> | ||||
|                             <span class="stat-label">without Tag:</span> | ||||
|                             <span class="stat-value" id="spoolsWithoutTag"></span> | ||||
|                         </div> | ||||
|                 </div> | ||||
|  | ||||
|                 <div class="statistics-grid"> | ||||
|                     <div class="statistics-column"> | ||||
|                         <h3>Overview</h3> | ||||
|                         <ul class="statistics-list"> | ||||
|                             <li> | ||||
|                                 <span class="stat-label">Manufacturer:</span> | ||||
|                                 <span class="stat-value" id="totalVendors"></span> | ||||
|                             </li> | ||||
|                             <li> | ||||
|                                 <span class="stat-label">Weight:</span> | ||||
|                                 <span class="stat-value"><span id="totalWeight"></span></span> | ||||
|                             </li> | ||||
|                             <li> | ||||
|                                 <span class="stat-label">Length:</span> | ||||
|                                 <span class="stat-value"><span id="totalLength"></span></span> | ||||
|                             </li> | ||||
|                         </ul> | ||||
|                     </div> | ||||
|                     <div class="statistics-column"> | ||||
|                         <h3>Materials</h3> | ||||
|                         <ul class="statistics-list" id="materialsList"> | ||||
|                             <!-- Wird dynamisch befüllt --> | ||||
|                         </ul> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div class="feature-box"> | ||||
|                 <div class="nfc-header"> | ||||
|                     <h2>NFC-Tag</h2> | ||||
|                     <span id="nfcStatusIndicator" class="status-circle"></span> | ||||
|                 </div> | ||||
|                 <div class="nfc-status-display"></div> | ||||
|             </div> | ||||
|         </div> | ||||
|  | ||||
|         <!-- Mittlere Spalte --> | ||||
|         <div class="column"> | ||||
|             <div class="feature-box"> | ||||
|                 <h2>Spoolman Spools</h2> | ||||
|                 <label for="vendorSelect">Manufacturer:</label> | ||||
|                 <div style="display: flex; justify-content: space-between; align-items: center;"> | ||||
|                     <select id="vendorSelect" class="styled-select"> | ||||
|                         <option value="">Please choose...</option> | ||||
|                     </select> | ||||
|                     <label style="margin-left: 10px;"> | ||||
|                         <input type="checkbox" id="onlyWithoutSmId" checked onchange="updateFilamentDropdown()"> | ||||
|                         Only Spools without SM ID | ||||
|                     </label> | ||||
|                 </div> | ||||
|             </div> | ||||
|  | ||||
|             <div id="filamentSection" class="feature-box hidden"> | ||||
|                 <label>Spool / Filament:</label> | ||||
|                 <div class="custom-dropdown"> | ||||
|                     <div class="dropdown-button" onclick="toggleFilamentDropdown()"> | ||||
|                         <div class="selected-color" id="selected-color"></div> | ||||
|                         <span id="selected-filament">Please choose...</span> | ||||
|                         <span class="dropdown-arrow">▼</span> | ||||
|                     </div> | ||||
|                     <div class="dropdown-content" id="filament-dropdown-content"> | ||||
|                         <!-- Optionen werden dynamisch hinzugefügt --> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <p id="nfcInfo" class="nfc-status"></p> | ||||
|                 <button id="writeNfcButton" class="btn btn-primary hidden" onclick="writeNfcTag()">Write Tag</button> | ||||
|             </div> | ||||
|         </div> | ||||
|  | ||||
|         <!-- Rechte Spalte --> | ||||
|         <div class="column"> | ||||
|             <div class="feature-box"> | ||||
|                 <h2>Bambu AMS</h2> | ||||
|                 <div id="amsDataContainer"> | ||||
|                     <div class="amsData" id="amsData">Wait for AMS-Data...</div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
|  | ||||
| <script src="spoolman.js"></script> | ||||
| <script src="rfid.js"></script> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
		Reference in New Issue
	
	Block a user