diff --git a/frontend/src/lib/hooks/api/topicMessages.tsx b/frontend/src/lib/hooks/api/topicMessages.tsx index e552c0dbf..f9da9a436 100644 --- a/frontend/src/lib/hooks/api/topicMessages.tsx +++ b/frontend/src/lib/hooks/api/topicMessages.tsx @@ -94,10 +94,10 @@ export const useTopicMessages = ({ default: } - searchParams.getAll(MessagesFilterKeys.partitions).forEach((value) => { - requestParams.append(MessagesFilterKeys.partitions, value); - }); - + const partitions = searchParams.get(MessagesFilterKeys.partitions); + if (partitions !== null) { + requestParams.append(MessagesFilterKeys.partitions, partitions); + } const { nextCursor, setNextCursor } = useMessageFiltersStore.getState(); const tempCompareUrl = new URLSearchParams(requestParams); diff --git a/frontend/src/lib/hooks/useMessagesFilters.ts b/frontend/src/lib/hooks/useMessagesFilters.ts index fee0b4fdf..613347433 100644 --- a/frontend/src/lib/hooks/useMessagesFilters.ts +++ b/frontend/src/lib/hooks/useMessagesFilters.ts @@ -92,7 +92,9 @@ export function useMessagesFilters() { const search = searchParams.get(MessagesFilterKeys.stringFilter) || ''; - const partitions = searchParams.getAll(MessagesFilterKeys.partitions); + const partitions = (searchParams.get(MessagesFilterKeys.partitions) || '') + .split(',') + .filter((v) => v); const smartFilterId = searchParams.get(MessagesFilterKeys.activeFilterId) || @@ -166,9 +168,12 @@ export function useMessagesFilters() { setSearchParams((params) => { params.delete(MessagesFilterKeys.partitions); - values.forEach((option) => { - params.append(MessagesFilterKeys.partitions, option.value); - }); + if (values.length) { + params.append( + MessagesFilterKeys.partitions, + values.map((v) => v.value).join(',') + ); + } return params; });