Add database connection status indicator
This commit is contained in:
@@ -44,6 +44,7 @@ const databaseModeInputs = document.querySelectorAll('input[name="databaseMode"]
|
||||
const permissionInputs = document.querySelectorAll("#allowInsertToggle, #allowUpdateToggle, #allowDeleteToggle");
|
||||
const transactionModeInputs = document.querySelectorAll('input[name="transactionMode"]');
|
||||
const databaseStatus = document.querySelector("#databaseStatus");
|
||||
const databaseStateDot = document.querySelector("#databaseStateDot");
|
||||
const localDbFields = document.querySelector("#localDbFields");
|
||||
const localDbInputs = document.querySelectorAll("#localDbFields input");
|
||||
const testLocalDbButton = document.querySelector("#testLocalDbButton");
|
||||
@@ -1036,6 +1037,8 @@ function refreshDatabaseStatusLabel() {
|
||||
: (transactionMode === "dry-run" ? "dry-run" : "transaction");
|
||||
databaseStatus.textContent = `${dbLabel} / ${connectionLabel} / ${accessLabel} / ${executionLabel}`;
|
||||
databaseStatus.classList.toggle("database-error", connectionError);
|
||||
databaseStateDot.className = `database-state-dot ${databaseConnectionState === "unknown" ? "is-pending" : connectionError ? "is-error" : "is-ready"}`;
|
||||
databaseStateDot.setAttribute("aria-label", connectionError ? "Database disconnected" : databaseConnectionState === "unknown" ? "Database connection pending" : "Database connected");
|
||||
}
|
||||
function renderDatabaseModeNote(mode) {
|
||||
databaseModeNote.textContent = mode === "live"
|
||||
|
||||
@@ -44,6 +44,7 @@ const databaseModeInputs = document.querySelectorAll('input[name="databaseMode"]
|
||||
const permissionInputs = document.querySelectorAll("#allowInsertToggle, #allowUpdateToggle, #allowDeleteToggle");
|
||||
const transactionModeInputs = document.querySelectorAll('input[name="transactionMode"]');
|
||||
const databaseStatus = document.querySelector("#databaseStatus");
|
||||
const databaseStateDot = document.querySelector("#databaseStateDot");
|
||||
const localDbFields = document.querySelector("#localDbFields");
|
||||
const localDbInputs = document.querySelectorAll("#localDbFields input");
|
||||
const testLocalDbButton = document.querySelector("#testLocalDbButton");
|
||||
@@ -1134,6 +1135,8 @@ function refreshDatabaseStatusLabel() {
|
||||
: (transactionMode === "dry-run" ? "dry-run" : "transaction");
|
||||
databaseStatus.textContent = `${dbLabel} / ${connectionLabel} / ${accessLabel} / ${executionLabel}`;
|
||||
databaseStatus.classList.toggle("database-error", connectionError);
|
||||
databaseStateDot.className = `database-state-dot ${databaseConnectionState === "unknown" ? "is-pending" : connectionError ? "is-error" : "is-ready"}`;
|
||||
databaseStateDot.setAttribute("aria-label", connectionError ? "Database disconnected" : databaseConnectionState === "unknown" ? "Database connection pending" : "Database connected");
|
||||
}
|
||||
|
||||
function renderDatabaseModeNote(mode) {
|
||||
|
||||
+4
-1
@@ -98,7 +98,10 @@
|
||||
<div class="sidebar-footer">
|
||||
<button class="action-button primary" type="button"><svg class="sidebar-icon" aria-hidden="true"><use href="/icons.svg#menu"></use></svg><span>Show menu (20)</span></button>
|
||||
<div class="app-status">
|
||||
<span class="safe-mode" id="databaseStatus">DB read-only</span>
|
||||
<span class="database-status-content">
|
||||
<span class="database-state-dot is-pending" id="databaseStateDot" aria-hidden="true"></span>
|
||||
<span class="safe-mode" id="databaseStatus">DB read-only</span>
|
||||
</span>
|
||||
</div>
|
||||
<button class="action-button" id="themeToggle" type="button" aria-pressed="false"><svg class="sidebar-icon" aria-hidden="true"><use href="/icons.svg#moon"></use></svg><span>Dark theme</span></button>
|
||||
<button class="action-button" id="settingsButton" type="button"><svg class="sidebar-icon" aria-hidden="true"><use href="/icons.svg#settings"></use></svg><span>Settings</span></button>
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user