From 5eb870c97859a377291736ae87d5fc024b22ec94 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Mon, 10 Nov 2025 00:03:24 +0800 Subject: [PATCH] fix(layout): don't hide horizontal scrollbar, closes #2418 (#2424) --- .../src/app/reader/components/ProgressInfo.tsx | 3 ++- .../src/app/reader/components/footerbar/FooterBar.tsx | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/readest-app/src/app/reader/components/ProgressInfo.tsx b/apps/readest-app/src/app/reader/components/ProgressInfo.tsx index 2411d854..99598aca 100644 --- a/apps/readest-app/src/app/reader/components/ProgressInfo.tsx +++ b/apps/readest-app/src/app/reader/components/ProgressInfo.tsx @@ -73,7 +73,8 @@ const ProgressInfoView: React.FC = ({ return (
= ({ }) => { const _ = useTranslation(); const { appService } = useEnv(); - const { getConfig, setConfig } = useBookDataStore(); + const { getConfig, setConfig, getBookData } = useBookDataStore(); const { hoveredBookKey, setHoveredBookKey } = useReaderStore(); const { getView, getViewState, getProgress, getViewSettings } = useReaderStore(); const { isSideBarVisible, setSideBarVisible } = useSidebarStore(); @@ -32,6 +32,7 @@ const FooterBar: React.FC = ({ const view = getView(bookKey); const config = getConfig(bookKey); + const bookData = getBookData(bookKey); const viewState = getViewState(bookKey); const progress = getProgress(bookKey); const viewSettings = getViewSettings(bookKey); @@ -209,6 +210,10 @@ const FooterBar: React.FC = ({ : 'pointer-events-none translate-y-full opacity-0 sm:translate-y-0', ); + const needHorizontalScroll = + (viewSettings?.vertical && viewSettings?.scrolled) || + (bookData?.isFixedLayout && viewSettings?.zoomLevel && viewSettings.zoomLevel > 100); + return ( <> {/* Hover trigger area */} @@ -216,7 +221,7 @@ const FooterBar: React.FC = ({ role='none' className={clsx( 'absolute bottom-0 left-0 z-10 flex h-[52px] w-full', - viewSettings?.vertical && viewSettings?.scrolled && 'sm:!bottom-3 sm:!h-7', + needHorizontalScroll && 'sm:!bottom-3 sm:!h-7', )} onClick={() => setHoveredBookKey(bookKey)} onMouseEnter={() => !appService?.isMobile && setHoveredBookKey(bookKey)}