()
| 1060 | } |
| 1061 | |
| 1062 | function updateZonesToggleUI() { |
| 1063 | const btn = $('sidebarToggleFloating'); |
| 1064 | if (!btn) return; |
| 1065 | const collapsed = isZonesCollapsed(); |
| 1066 | const iconName = collapsed ? TOGGLE_ICON_CLOSED : TOGGLE_ICON_OPEN; |
| 1067 | btn.innerHTML = `<i class="material-icons toggle-icon" aria-hidden="true">${iconName}</i>`; |
| 1068 | btn.title = collapsed ? 'Show panels' : 'Hide panels'; |
| 1069 | |
| 1070 | const iconEl = btn.querySelector('.toggle-icon'); |
| 1071 | if (iconEl) { |
| 1072 | iconEl.style.transition = 'transform 0.2s ease'; |
| 1073 | iconEl.style.display = 'inline-flex'; |
| 1074 | iconEl.style.alignItems = 'center'; |
| 1075 | // rotate if both cards are in top zone (only when not collapsed) |
| 1076 | const tz = getTopZone(); |
| 1077 | const allTop = !!tz?.querySelector('#uploadCard') && !!tz?.querySelector('#folderManagementCard'); |
| 1078 | iconEl.style.transform = (!collapsed && allTop) ? 'rotate(90deg)' : 'rotate(0deg)'; |
| 1079 | } |
| 1080 | themeToggleButton(btn); |
| 1081 | } |
| 1082 | |
| 1083 | // Keep the button styled when theme flips |
| 1084 | (function watchThemeChanges() { |
no test coverage detected