Skip to content

Commit 95da4a4

Browse files
committed
FE: Reset page parameter in URL of topic messages page when changing mode (#550)
1 parent ac60cdf commit 95da4a4

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

frontend/src/lib/hooks/api/topicMessages.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,14 @@ export const useTopicMessages = ({
3131
clusterName,
3232
topicName,
3333
}: UseTopicMessagesProps) => {
34-
const [searchParams] = useSearchParams();
34+
const [searchParams, setSearchParams] = useSearchParams();
3535
const [messages, setMessages] = React.useState<TopicMessage[]>([]);
3636
const [phase, setPhase] = React.useState<string>();
3737
const [consumptionStats, setConsumptionStats] =
3838
React.useState<TopicMessageConsuming>();
3939
const [isFetching, setIsFetching] = React.useState(false);
4040
const abortController = useRef(new AbortController());
41+
const prevReqUrl = useRef<string>('');
4142
const currentPage = useRef(1);
4243

4344
// get initial properties
@@ -104,6 +105,16 @@ export const useTopicMessages = ({
104105
const { nextCursor, setNextCursor } = useMessageFiltersStore.getState();
105106
const { prevCursor, setPrevCursor } = useMessageFiltersStore.getState();
106107

108+
const searchParamsWithoutPage = new URLSearchParams(searchParams);
109+
searchParamsWithoutPage.delete(MessagesFilterKeys.page);
110+
if (prevReqUrl.current !== searchParamsWithoutPage.toString()) {
111+
searchParams.delete(MessagesFilterKeys.page);
112+
setSearchParams(searchParams);
113+
setPrevCursor(undefined);
114+
setNextCursor(undefined);
115+
}
116+
prevReqUrl.current = searchParamsWithoutPage.toString();
117+
107118
const searchParamPage = getPageValue(searchParams);
108119
if (currentPage.current < searchParamPage && nextCursor) {
109120
requestParams.set(MessagesFilterKeys.cursor, nextCursor);

0 commit comments

Comments
 (0)