-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsidebar-toggle.js
More file actions
49 lines (41 loc) · 1.79 KB
/
sidebar-toggle.js
File metadata and controls
49 lines (41 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Sidebar Toggle Functionality
document.addEventListener('DOMContentLoaded', function() {
const toggleLeftBtn = document.getElementById('toggle-left-sidebar');
const mainContent = document.querySelector('.main-content');
const sidebar = document.querySelector('.sidebar');
// Function to handle system status visibility when collapsed
function handleSystemStatus(isCollapsed) {
const systemStatusSection = document.querySelector('.system-status-section');
if (!systemStatusSection) return;
if (isCollapsed) {
// Hide system status completely
systemStatusSection.style.display = 'none';
} else {
// Show system status
systemStatusSection.style.display = '';
}
}
// Always start with uncollapsed sidebar regardless of saved state
localStorage.setItem('leftSidebarCollapsed', 'false');
mainContent.classList.remove('left-collapsed');
toggleLeftBtn.innerHTML = '<<';
handleSystemStatus(false);
// Toggle left sidebar
toggleLeftBtn.addEventListener('click', function() {
const isCollapsed = mainContent.classList.toggle('left-collapsed');
// Update chevron based on state
if (isCollapsed) {
toggleLeftBtn.innerHTML = '>>';
} else {
toggleLeftBtn.innerHTML = '<<';
}
// Handle system status visibility
handleSystemStatus(isCollapsed);
// Save state to localStorage
localStorage.setItem('leftSidebarCollapsed', isCollapsed);
// Fix transaction panel resize issue when reopening sidebar
setTimeout(() => {
window.dispatchEvent(new Event('resize'));
}, 300); // Wait for CSS transition to complete
});
});