fix: preserve sidebar scroll position across navigation (#19632)

This commit is contained in:
RenHai Wen
2026-04-04 15:45:05 +08:00
committed by GitHub
parent aa50829496
commit b259efb9d0
2 changed files with 27 additions and 1 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+26
View File
@@ -8,6 +8,32 @@ document.addEventListener('alpine:init', () => {
collapsedGroups: window.Alpine.$persist(null).as('collapsedGroups'),
scrollTop: 0,
init: function () {
document.addEventListener('livewire:navigate', () => {
const sidebarWrapper = document.querySelector(
'.fi-main-sidebar .fi-sidebar-nav',
)
if (sidebarWrapper) {
this.scrollTop = sidebarWrapper.scrollTop
}
})
document.addEventListener('livewire:navigated', () => {
requestAnimationFrame(() => {
const sidebarWrapper = document.querySelector(
'.fi-main-sidebar .fi-sidebar-nav',
)
if (sidebarWrapper && this.scrollTop) {
sidebarWrapper.scrollTop = this.scrollTop
}
})
})
},
groupIsCollapsed: function (group) {
return this.collapsedGroups.includes(group)
},