From 7d84defd0942c7dba92122db2ae68d72d8b8343b Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Wed, 23 Apr 2025 18:59:01 +0200 Subject: [PATCH] Middle Search: Fix pagination (#5827) --- src/components/middle/search/MiddleSearch.tsx | 1 + src/global/actions/api/middleSearch.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/middle/search/MiddleSearch.tsx b/src/components/middle/search/MiddleSearch.tsx index c92765566..14d36aeed 100644 --- a/src/components/middle/search/MiddleSearch.tsx +++ b/src/components/middle/search/MiddleSearch.tsx @@ -595,6 +595,7 @@ const MiddleSearch: FC = ({ ref={containerRef} className={buildClassName(styles.results, 'custom-scroll')} items={viewportResults} + itemSelector={`.${RESULT_ITEM_CLASS_NAME}`} preloadBackwards={0} onLoadMore={getMore} onKeyDown={handleKeyDown} diff --git a/src/global/actions/api/middleSearch.ts b/src/global/actions/api/middleSearch.ts index 926ed5038..79a467ce2 100644 --- a/src/global/actions/api/middleSearch.ts +++ b/src/global/actions/api/middleSearch.ts @@ -66,10 +66,12 @@ addActionHandler('performMiddleSearch', async (global, actions, payload): Promis const { results, savedTag, type, isHashtag, } = currentSearch; - const offsetId = results?.nextOffsetId; - const offsetRate = results?.nextOffsetRate; - const offsetPeerId = results?.nextOffsetPeerId; - const offsetPeer = offsetPeerId ? selectChat(global, offsetPeerId) : undefined; + const shouldReuseParams = results?.query === query; + + const offsetId = shouldReuseParams ? results?.nextOffsetId : undefined; + const offsetRate = shouldReuseParams ? results?.nextOffsetRate : undefined; + const offsetPeerId = shouldReuseParams ? results?.nextOffsetPeerId : undefined; + const offsetPeer = shouldReuseParams && offsetPeerId ? selectChat(global, offsetPeerId) : undefined; const shouldHaveQuery = isHashtag || !savedTag; if (shouldHaveQuery && !query) {