From 028e0b11c70ac1047568b7a213d8adc3de7cc490 Mon Sep 17 00:00:00 2001 From: Yutaka Kurosaki Date: Thu, 4 Dec 2025 02:35:29 +0900 Subject: [PATCH] Fix sidebar scroll preservation by correcting link selector - Change selector from 'a[x-navigate]' to 'a' (no x-navigate attribute) - Remove sessionStorage.removeItem to prevent clearing saved scroll position - Add '0' check to prevent restoring scroll position to top - Add debug logging for troubleshooting - Now works correctly in all browsers including Chrome --- .../views/layouts/knowledge-base.blade.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/resources/views/layouts/knowledge-base.blade.php b/src/resources/views/layouts/knowledge-base.blade.php index 462d706..c691c2e 100644 --- a/src/resources/views/layouts/knowledge-base.blade.php +++ b/src/resources/views/layouts/knowledge-base.blade.php @@ -264,7 +264,7 @@ class="fixed inset-y-0 left-0 top-16 w-64 bg-white border-r border-gray-200 over const sidebar = document.getElementById('kb-sidebar'); if (!sidebar) return; - const link = e.target.closest('a[x-navigate]'); + const link = e.target.closest('a'); if (link && sidebar.contains(link)) { // Save scroll position before navigation const scrollPos = sidebar.scrollTop; @@ -276,13 +276,17 @@ class="fixed inset-y-0 left-0 top-16 w-64 bg-white border-r border-gray-200 over // Restore scroll position after page load function restoreSidebarScroll() { const sidebar = document.getElementById('kb-sidebar'); - if (!sidebar) return; + if (!sidebar) { + console.log('Sidebar not found'); + return; + } const savedPos = sessionStorage.getItem('kb_sidebar_scroll'); - if (savedPos !== null) { - sidebar.scrollTop = parseInt(savedPos, 10); - console.log('Restored sidebar scroll position:', savedPos); - sessionStorage.removeItem('kb_sidebar_scroll'); + console.log('Retrieved from sessionStorage:', savedPos); + if (savedPos !== null && savedPos !== '0') { + const pos = parseInt(savedPos, 10); + sidebar.scrollTop = pos; + console.log('Restored sidebar scroll position:', pos); } }