fix: Sidebar toggle positioning and documentation updates

- Fix collapsible sidebar toggle button positioning (moved outside sidebar)
- Toggle button now stays visible when sidebar is collapsed
- Update cache busting version
- Update Claude.md with new features documentation
- Update README.md with new features documentation
- Remove migrations folder (no longer needed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-23 10:39:55 -05:00
parent b8a987e4c6
commit 380b0e1adf
6 changed files with 129 additions and 218 deletions

View File

@@ -1692,54 +1692,55 @@ input[type="checkbox"]:checked {
}
/* Collapsible Sidebar */
.dashboard-layout {
position: relative;
}
.sidebar-toggle {
position: absolute;
right: -16px;
top: 50%;
transform: translateY(-50%);
width: 32px;
height: 64px;
left: 250px;
top: 1rem;
width: 24px;
height: 48px;
background: var(--bg-secondary);
border: 2px solid var(--terminal-green);
border-left: none;
color: var(--terminal-green);
cursor: pointer;
z-index: 10;
z-index: 100;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
transition: left 0.3s ease, background 0.2s ease;
padding: 0;
}
.sidebar-toggle::before,
.sidebar-toggle::after {
content: '';
border-radius: 0 4px 4px 0;
}
.sidebar-toggle:hover {
background: rgba(0, 255, 65, 0.15);
background: rgba(0, 255, 65, 0.2);
color: var(--terminal-amber);
border-color: var(--terminal-amber);
}
.toggle-arrow {
transition: transform 0.3s ease;
font-size: 0.9rem;
}
.dashboard-sidebar {
position: relative;
transition: width 0.3s ease, margin 0.3s ease;
transition: width 0.3s ease, opacity 0.3s ease;
overflow: hidden;
}
.sidebar-content {
overflow: hidden;
transition: opacity 0.3s ease;
width: 250px;
}
/* Collapsed state */
.dashboard-sidebar.collapsed {
width: 0;
margin-right: 16px;
min-width: 0;
}
.dashboard-sidebar.collapsed .sidebar-content {
@@ -1747,18 +1748,14 @@ input[type="checkbox"]:checked {
pointer-events: none;
}
.dashboard-sidebar.collapsed .sidebar-toggle {
right: -48px;
.dashboard-layout.sidebar-collapsed .sidebar-toggle {
left: 0;
}
.dashboard-sidebar.collapsed .toggle-arrow {
.dashboard-layout.sidebar-collapsed .toggle-arrow {
transform: rotate(180deg);
}
.dashboard-layout.sidebar-collapsed {
/* Adjust layout when sidebar is collapsed */
}
/* Hide toggle on mobile */
@media (max-width: 768px) {
.sidebar-toggle {

View File

@@ -10,12 +10,11 @@ function escapeHtml(text) {
*/
function toggleSidebar() {
const sidebar = document.getElementById('dashboardSidebar');
const layout = document.querySelector('.dashboard-layout');
const layout = document.getElementById('dashboardLayout');
if (sidebar && layout) {
sidebar.classList.toggle('collapsed');
layout.classList.toggle('sidebar-collapsed');
const isCollapsed = sidebar.classList.toggle('collapsed');
layout.classList.toggle('sidebar-collapsed', isCollapsed);
// Store state in localStorage
const isCollapsed = sidebar.classList.contains('collapsed');
localStorage.setItem('sidebarCollapsed', isCollapsed ? 'true' : 'false');
}
}
@@ -23,13 +22,11 @@ function toggleSidebar() {
// Restore sidebar state on page load
document.addEventListener('DOMContentLoaded', function() {
const savedState = localStorage.getItem('sidebarCollapsed');
if (savedState === 'true') {
const sidebar = document.getElementById('dashboardSidebar');
const layout = document.querySelector('.dashboard-layout');
if (sidebar && layout) {
sidebar.classList.add('collapsed');
layout.classList.add('sidebar-collapsed');
}
const sidebar = document.getElementById('dashboardSidebar');
const layout = document.getElementById('dashboardLayout');
if (savedState === 'true' && sidebar && layout) {
sidebar.classList.add('collapsed');
layout.classList.add('sidebar-collapsed');
}
});