From a4841de28d2c9573b7574a8230a1b9ca688a6bfb Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 14 May 2026 16:53:49 +0000 Subject: [PATCH] refactor: deduplicate link survey search params type Co-authored-by: Johannes --- .../survey/link/components/survey-renderer.tsx | 9 +-------- apps/web/modules/survey/link/contact-survey/page.tsx | 11 ++--------- apps/web/modules/survey/link/lib/types.ts | 7 +++++++ apps/web/modules/survey/link/page.tsx | 11 ++--------- 4 files changed, 12 insertions(+), 26 deletions(-) create mode 100644 apps/web/modules/survey/link/lib/types.ts diff --git a/apps/web/modules/survey/link/components/survey-renderer.tsx b/apps/web/modules/survey/link/components/survey-renderer.tsx index 11814b1a2f..7ec1415196 100644 --- a/apps/web/modules/survey/link/components/survey-renderer.tsx +++ b/apps/web/modules/survey/link/components/survey-renderer.tsx @@ -19,17 +19,10 @@ import { SurveyCompletedMessage } from "@/modules/survey/link/components/survey- import { SurveyInactive } from "@/modules/survey/link/components/survey-inactive"; import { VerifyEmail } from "@/modules/survey/link/components/verify-email"; import { getEmailVerificationDetails } from "@/modules/survey/link/lib/helper"; +import type { TLinkSurveySearchParams } from "@/modules/survey/link/lib/types"; import { hasUserIdSearchParam } from "@/modules/survey/link/lib/user-id"; import { TWorkspaceContextForLinkSurvey } from "@/modules/survey/link/lib/workspace"; -type TLinkSurveySearchParams = { - verify?: string; - lang?: string; - embed?: string; - preview?: string; - suId?: string; -} & Record; - interface SurveyRendererProps { survey: TSurvey; searchParams: TLinkSurveySearchParams; diff --git a/apps/web/modules/survey/link/contact-survey/page.tsx b/apps/web/modules/survey/link/contact-survey/page.tsx index 9890ca0d83..db2aa263e2 100644 --- a/apps/web/modules/survey/link/contact-survey/page.tsx +++ b/apps/web/modules/survey/link/contact-survey/page.tsx @@ -14,22 +14,15 @@ import { getMetadataBrandColor, getSurveyOpenGraphMetadata, } from "@/modules/survey/link/lib/metadata-utils"; +import type { TLinkSurveySearchParams } from "@/modules/survey/link/lib/types"; import { getWorkspaceContextForLinkSurvey } from "@/modules/survey/link/lib/workspace"; import { getWorkspaceById } from "@/modules/survey/link/lib/workspace"; -type TContactSurveyPageSearchParams = { - suId?: string; - verify?: string; - lang?: string; - embed?: string; - preview?: string; -} & Record; - interface ContactSurveyPageProps { params: Promise<{ jwt: string; }>; - searchParams: Promise; + searchParams: Promise; } export const generateMetadata = async (props: ContactSurveyPageProps): Promise => { diff --git a/apps/web/modules/survey/link/lib/types.ts b/apps/web/modules/survey/link/lib/types.ts new file mode 100644 index 0000000000..373c27a178 --- /dev/null +++ b/apps/web/modules/survey/link/lib/types.ts @@ -0,0 +1,7 @@ +export type TLinkSurveySearchParams = { + suId?: string; + verify?: string; + lang?: string; + embed?: string; + preview?: string; +} & Record; diff --git a/apps/web/modules/survey/link/page.tsx b/apps/web/modules/survey/link/page.tsx index fa81cf1ad3..76370dca6a 100644 --- a/apps/web/modules/survey/link/page.tsx +++ b/apps/web/modules/survey/link/page.tsx @@ -9,22 +9,15 @@ import { SurveyInactive } from "@/modules/survey/link/components/survey-inactive import { renderSurvey } from "@/modules/survey/link/components/survey-renderer"; import { getResponseBySingleUseId, getSurveyWithMetadata } from "@/modules/survey/link/lib/data"; import { checkAndValidateSingleUseId } from "@/modules/survey/link/lib/helper"; +import type { TLinkSurveySearchParams } from "@/modules/survey/link/lib/types"; import { getWorkspaceContextForLinkSurvey } from "@/modules/survey/link/lib/workspace"; import { getMetadataForLinkSurvey } from "@/modules/survey/link/metadata"; -type TLinkSurveyPageSearchParams = { - suId?: string; - verify?: string; - lang?: string; - embed?: string; - preview?: string; -} & Record; - interface LinkSurveyPageProps { params: Promise<{ surveyId: string; }>; - searchParams: Promise; + searchParams: Promise; } export const generateMetadata = async (props: LinkSurveyPageProps): Promise => {