diff --git a/web/app/components/explore/app-list/index.tsx b/web/app/components/explore/app-list/index.tsx index 186467a663..cd90887476 100644 --- a/web/app/components/explore/app-list/index.tsx +++ b/web/app/components/explore/app-list/index.tsx @@ -42,7 +42,9 @@ const Apps = ({ const [currCategory, setCurrCategory] = useTabSearchParams({ defaultTab: allCategoriesEn, + disableSearchParams: pageType !== PageType.EXPLORE, }) + const { data: { categories, allList }, } = useSWR( diff --git a/web/hooks/use-tab-searchparams.ts b/web/hooks/use-tab-searchparams.ts index f34c7be8c7..ea4854e848 100644 --- a/web/hooks/use-tab-searchparams.ts +++ b/web/hooks/use-tab-searchparams.ts @@ -1,9 +1,11 @@ import { usePathname, useRouter, useSearchParams } from 'next/navigation' +import { useState } from 'react' type UseTabSearchParamsOptions = { defaultTab: string routingBehavior?: 'push' | 'replace' searchParamName?: string + disableSearchParams?: boolean } /** @@ -20,13 +22,20 @@ export const useTabSearchParams = ({ defaultTab, routingBehavior = 'push', searchParamName = 'category', + disableSearchParams = false, }: UseTabSearchParamsOptions) => { const router = useRouter() const pathName = usePathname() const searchParams = useSearchParams() - const activeTab = searchParams.get(searchParamName) || defaultTab + const [activeTab, setTab] = useState( + !disableSearchParams + ? (searchParams.get(searchParamName) || defaultTab) + : defaultTab, + ) const setActiveTab = (newActiveTab: string) => { + if (disableSearchParams) + return setTab(newActiveTab) router[routingBehavior](`${pathName}?${searchParamName}=${newActiveTab}`) }