feat: Add graceful QB connection shutdown and enhanced logout UI
- Add graceful shutdown handler to properly close QB sessions on server stop - Enhance /quickbooks/logout endpoint with detailed logging and error handling - Style logout button as 'danger' action with clear QB connection closing label - Improve logout feedback with timestamps and error messaging - Update user to aewing in .env for QB authentication
This commit is contained in:
@@ -65,6 +65,12 @@
|
||||
button:hover {
|
||||
background: #5568d3;
|
||||
}
|
||||
button.danger {
|
||||
background: #dc3545;
|
||||
}
|
||||
button.danger:hover {
|
||||
background: #c82333;
|
||||
}
|
||||
.form-group {
|
||||
margin: 15px 0;
|
||||
}
|
||||
@@ -136,7 +142,7 @@
|
||||
<p><strong>Company File:</strong> <span id="companyFile"></span></p>
|
||||
<p><strong>User:</strong> <span id="sessionUser"></span></p>
|
||||
<p><strong>Expires:</strong> <span id="sessionExpires"></span></p>
|
||||
<button onclick="logout()">Logout</button>
|
||||
<button class="danger" onclick="logout()">🔌 Close QB Connection / Logout</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -359,9 +365,15 @@
|
||||
if (data.success) {
|
||||
updateSessionInfo();
|
||||
document.getElementById('authMessage').className = 'message success';
|
||||
document.getElementById('authMessage').textContent = '✓ ' + data.message;
|
||||
const timestamp = data.closedAt ? ` (${new Date(data.closedAt).toLocaleTimeString()})` : '';
|
||||
document.getElementById('authMessage').textContent = '✓ ' + data.message + timestamp;
|
||||
} else {
|
||||
document.getElementById('authMessage').className = 'message error';
|
||||
document.getElementById('authMessage').textContent = '✗ ' + (data.error || 'Logout failed');
|
||||
}
|
||||
} catch (error) {
|
||||
document.getElementById('authMessage').className = 'message error';
|
||||
document.getElementById('authMessage').textContent = '✗ Logout failed: ' + error.message;
|
||||
console.error('Logout failed:', error);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user