From 9b7bd9906f35618ec623efcd1a241e199a420070 Mon Sep 17 00:00:00 2001 From: Arvin Xu Date: Thu, 6 Feb 2025 20:48:32 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20try=20to=20fix=20discover?= =?UTF-8?q?=20error=20(#5794)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- next.config.ts | 5 ----- .../discover/(detail)/model/[...slugs]/page.tsx | 8 ++++++-- .../(main)/discover/(list)/models/[slug]/page.tsx | 13 +++++++------ .../(main)/discover/features/StoreSearchBar.tsx | 3 ++- src/app/[variants]/(main)/discover/layout.tsx | 2 -- src/app/[variants]/(main)/discover/search/page.tsx | 2 ++ 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/next.config.ts b/next.config.ts index a472783b2b..11f75c6dbe 100644 --- a/next.config.ts +++ b/next.config.ts @@ -176,11 +176,6 @@ const nextConfig: NextConfig = { permanent: false, source: '/repos', }, - { - destination: '/files', - permanent: false, - source: '/repos', - }, ], // when external packages in dev mode with turbopack, this config will lead to bundle error serverExternalPackages: isProd ? ['@electric-sql/pglite'] : undefined, diff --git a/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/page.tsx b/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/page.tsx index 40dd044532..6481ce6f4b 100644 --- a/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/page.tsx +++ b/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/page.tsx @@ -9,6 +9,7 @@ import { DiscoverService } from '@/server/services/discover'; import { translation } from '@/server/translation'; import { DiscoverProviderItem } from '@/types/discover'; import { PageProps } from '@/types/next'; +import { parsePageLocale } from '@/utils/locale'; import { RouteVariants } from '@/utils/server/routeVariants'; import DetailLayout from '../../features/DetailLayout'; @@ -26,9 +27,10 @@ export const generateMetadata = async (props: Props) => { const { slugs } = params; const identifier = decodeURIComponent(slugs.join('/')); - const { t, locale } = await translation('metadata', searchParams?.hl); + const { t } = await translation('metadata', searchParams?.hl); const { t: td } = await translation('models', searchParams?.hl); + const locale = await parsePageLocale(props); const discoverService = new DiscoverService(); const data = await discoverService.getModelById(locale, identifier); if (!data) return; @@ -70,9 +72,11 @@ const Page = async (props: Props) => { const { slugs } = params; const identifier = decodeURIComponent(slugs.join('/')); - const { t, locale } = await translation('metadata', searchParams?.hl); + const { t } = await translation('metadata', searchParams?.hl); const { t: td } = await translation('models', searchParams?.hl); + const mobile = await RouteVariants.getIsMobile(props); + const locale = await parsePageLocale(props); const discoverService = new DiscoverService(); const data = await discoverService.getModelById(locale, identifier); diff --git a/src/app/[variants]/(main)/discover/(list)/models/[slug]/page.tsx b/src/app/[variants]/(main)/discover/(list)/models/[slug]/page.tsx index e7bf260ca4..a8197af970 100644 --- a/src/app/[variants]/(main)/discover/(list)/models/[slug]/page.tsx +++ b/src/app/[variants]/(main)/discover/(list)/models/[slug]/page.tsx @@ -7,6 +7,7 @@ import { metadataModule } from '@/server/metadata'; import { DiscoverService } from '@/server/services/discover'; import { translation } from '@/server/translation'; import { DiscoverPageProps } from '@/types/discover'; +import { parsePageLocale } from '@/utils/locale'; import { RouteVariants } from '@/utils/server/routeVariants'; import List from '../features/List'; @@ -15,7 +16,8 @@ export const generateMetadata = async (props: DiscoverPageProps) => { const params = await props.params; const searchParams = await props.searchParams; - const { t, locale } = await translation('metadata', searchParams?.hl); + const { t } = await translation('metadata', searchParams?.hl); + const locale = await parsePageLocale(props); const discoverService = new DiscoverService(); const list = await discoverService.getProviderList(locale); @@ -34,8 +36,9 @@ const Page = async (props: DiscoverPageProps) => { const params = await props.params; const searchParams = await props.searchParams; - const { t, locale } = await translation('metadata', searchParams?.hl); + const { t } = await translation('metadata', searchParams?.hl); const mobile = await RouteVariants.getIsMobile(props); + const locale = await parsePageLocale(props); const discoverService = new DiscoverService(); const list = await discoverService.getProviderList(locale); @@ -62,10 +65,8 @@ const Page = async (props: DiscoverPageProps) => { export const generateStaticParams = async () => { const discoverService = new DiscoverService(); - const cates = await discoverService.getProviderList(DEFAULT_LANG); - return cates.map((cate) => ({ - slug: cate.identifier, - })); + const categories = await discoverService.getProviderList(DEFAULT_LANG); + return categories.map((cate) => ({ slug: cate.identifier })); }; Page.DisplayName = 'DiscoverModelsCategory'; diff --git a/src/app/[variants]/(main)/discover/features/StoreSearchBar.tsx b/src/app/[variants]/(main)/discover/features/StoreSearchBar.tsx index 443ee90454..8eaa373ad0 100644 --- a/src/app/[variants]/(main)/discover/features/StoreSearchBar.tsx +++ b/src/app/[variants]/(main)/discover/features/StoreSearchBar.tsx @@ -8,6 +8,7 @@ import { memo, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import urlJoin from 'url-join'; +import { withSuspense } from '@/components/withSuspense'; import { useQueryRoute } from '@/hooks/useQueryRoute'; import { DiscoverTab } from '@/types/discover'; @@ -79,4 +80,4 @@ const StoreSearchBar = memo(({ mobile, onBlur, onFocus, ... ); }); -export default StoreSearchBar; +export default withSuspense(StoreSearchBar); diff --git a/src/app/[variants]/(main)/discover/layout.tsx b/src/app/[variants]/(main)/discover/layout.tsx index 7d09c1e0e7..5a17867807 100644 --- a/src/app/[variants]/(main)/discover/layout.tsx +++ b/src/app/[variants]/(main)/discover/layout.tsx @@ -10,5 +10,3 @@ const MainLayout = ServerLayout({ Desktop, Mobile }); MainLayout.displayName = 'DiscoverStoreLayout'; export default MainLayout; - -export const dynamic = 'force-static'; diff --git a/src/app/[variants]/(main)/discover/search/page.tsx b/src/app/[variants]/(main)/discover/search/page.tsx index 888c7a6522..b79fd84bcf 100644 --- a/src/app/[variants]/(main)/discover/search/page.tsx +++ b/src/app/[variants]/(main)/discover/search/page.tsx @@ -71,3 +71,5 @@ const Page = async (props: Props) => { Page.DisplayName = 'DiscoverSearch'; export default Page; + +export const dynamic = 'force-static';