Fix bug 60831

This commit is contained in:
nikita_bartoshuk
2025-08-14 17:14:29 +03:00
parent 218b70b0e6
commit b8ff5dcfb6

View File

@ -91,6 +91,20 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto
}
}, [isViewer]);
useEffect(() => {
const resetOffset = () => {
scrollOffsetRef.current = 0;
};
window.addEventListener('touchstart', resetOffset);
window.addEventListener('mousedown', resetOffset);
return () => {
window.removeEventListener('touchstart', resetOffset);
window.removeEventListener('mousedown', resetOffset);
};
}, []);
// Scroll handler
const scrollHandler = offset => {
@ -98,16 +112,24 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto
const navbarHeight = getNavbarTotalHeight();
const isSearchbarEnabled = document.querySelector('.subnavbar .searchbar')?.classList.contains('searchbar-enabled');
if(!isSearchbarEnabled && navbarHeight) {
if(offset > 0 && Math.abs(offset) > Math.abs(scrollOffsetRef.current)) {
if (!isSearchbarEnabled && navbarHeight) {
if (offset > 0) {
offset > scrollOffsetRef.current ? hideNavbar() : showNavbar();
} else if (offset < 0) {
Math.abs(offset) > Math.abs(scrollOffsetRef.current) ? showNavbar() : hideNavbar();
}
function hideNavbar () {
props.closeOptions('fab');
f7.navbar.hide('.main-navbar');
api.SetMobileTopOffset(undefined, 0);
} else if(offset < 0 && Math.abs(offset) <= Math.abs(scrollOffsetRef.current)) {
};
function showNavbar () {
props.openOptions('fab');
f7.navbar.show('.main-navbar');
api.SetMobileTopOffset(undefined, navbarHeight);
}
};
scrollOffsetRef.current = offset;
}