|
58 | 58 |
|
59 | 59 | <!-- Bottom Bar: Settings (left) + New Chat (right) --> |
60 | 60 | <div class="new-chat-button-container"> |
61 | | - <button class="inline-button" id="settingsButton" onclick="openSettings()" title="Settings"> |
62 | | - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"> |
63 | | - <path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path> |
64 | | - <circle cx="12" cy="12" r="3"></circle> |
65 | | - </svg> |
66 | | - </button> |
| 61 | + <button class="inline-button settings-icon-button" id="settingsButton" onclick="openSettings()" title="Settings"></button> |
67 | 62 | <button class="inline-button" id="newChatButton" onclick="showNewChatMenu(event)" title="New chat"> |
68 | 63 | <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> |
69 | 64 | <path d="M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path> |
|
266 | 261 | <div class="settings-content"> |
267 | 262 | <div class="settings-header"> |
268 | 263 | <h1 class="text-2xl font-bold text-sidebar-foreground">Settings</h1> |
269 | | - <button class="inline-button close-icon-button" onclick="closeSettings()"></button> |
| 264 | + <div class="settings-header-buttons"> |
| 265 | + <button class="inline-button dashboard-icon-button" id="dashboardButton" style="display:none" title="Server Dashboard" onclick="openDashboard()"></button> |
| 266 | + <button class="inline-button close-icon-button" onclick="closeSettings()"></button> |
| 267 | + </div> |
270 | 268 | </div> |
271 | 269 | <div class="settings-body"> |
272 | 270 | <div class="settings-group"> |
|
302 | 300 | </select> |
303 | 301 | </div> |
304 | 302 | </div> |
305 | | - <div class="settings-divider" id="serverSettingsDivider" style="display:none"></div> |
306 | | - <div class="settings-group" id="serverSettingsGroup" style="display:none"> |
307 | | - <h3 class="settings-group-title">Server</h3> |
308 | | - <div id="serverSettingsList"> |
309 | | - <!-- Populated by settings.js --> |
| 303 | + </div> |
| 304 | + </div> |
| 305 | + </div> |
| 306 | + |
| 307 | + <!-- Dashboard Modal --> |
| 308 | + <div class="settings-modal" id="dashboardModal" onclick="handleDashboardModalClick(event)"> |
| 309 | + <div class="settings-content"> |
| 310 | + <div class="settings-header"> |
| 311 | + <h1 class="text-2xl font-bold text-sidebar-foreground">Dashboard</h1> |
| 312 | + <button class="inline-button close-icon-button" onclick="closeDashboard()"></button> |
| 313 | + </div> |
| 314 | + <div class="settings-body"> |
| 315 | + <div class="settings-group"> |
| 316 | + <h3 class="settings-group-title">Settings</h3> |
| 317 | + <div id="dashboardSettingsList"> |
| 318 | + <!-- Populated by dashboard.js --> |
| 319 | + </div> |
| 320 | + </div> |
| 321 | + <div class="settings-divider"></div> |
| 322 | + <div class="settings-group"> |
| 323 | + <h3 class="settings-group-title">Actions</h3> |
| 324 | + <div class="dashboard-actions"> |
| 325 | + <button class="dashboard-button" id="dashboardRefreshButton" title="Pull latest changes without rebuilding or restarting the server" onclick="dashboardRefresh()">Refresh</button> |
| 326 | + <button class="dashboard-button dashboard-button-warning" id="dashboardUpdateButton" title="Pull latest code from remote, rebuild and restart the server" onclick="dashboardUpdate()">Update</button> |
| 327 | + </div> |
| 328 | + <pre class="dashboard-log" id="dashboardLog" style="display:none"></pre> |
| 329 | + </div> |
| 330 | + <div class="settings-divider"></div> |
| 331 | + <div class="settings-group"> |
| 332 | + <h3 class="settings-group-title">Product Info</h3> |
| 333 | + <div id="dashboardProductInfo" class="dashboard-info"> |
| 334 | + <p class="dashboard-loading">Loading...</p> |
| 335 | + </div> |
| 336 | + </div> |
| 337 | + <div class="settings-divider"></div> |
| 338 | + <div class="settings-group"> |
| 339 | + <h3 class="settings-group-title">System Info</h3> |
| 340 | + <div id="dashboardInfo" class="dashboard-info"> |
| 341 | + <p class="dashboard-loading">Loading...</p> |
310 | 342 | </div> |
311 | 343 | </div> |
312 | 344 | </div> |
|
320 | 352 | <script src="/app/js/webpush.js?v=23"></script> |
321 | 353 | <script src="/app/js/svg-icons.js?v=23"></script> |
322 | 354 | <script src="/app/js/settings.js?v=23"></script> |
| 355 | + <script src="/app/js/dashboard.js?v=23"></script> |
323 | 356 | <script src="/app/js/main.js?v=23"></script> |
324 | 357 | <script src="/app/js/chat.js?v=23"></script> |
325 | 358 | <script src="/app/js/ws.js?v=23"></script> |
|
0 commit comments