From 6d7bbc766a7768d2a69fd57039fda0bbea2ad016 Mon Sep 17 00:00:00 2001 From: "dev.daminik00" Date: Wed, 8 Oct 2025 00:19:40 +0200 Subject: [PATCH] fix session update and utm redirect --- src/app/[funnelId]/page.tsx | 20 ++++++++++++++++++-- src/entities/session/actions.ts | 3 ++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/app/[funnelId]/page.tsx b/src/app/[funnelId]/page.tsx index 4f3987c..17be278 100644 --- a/src/app/[funnelId]/page.tsx +++ b/src/app/[funnelId]/page.tsx @@ -39,10 +39,12 @@ interface FunnelRootPageProps { params: Promise<{ funnelId: string; }>; + searchParams: Promise<{ [key: string]: string | string[] | undefined }>; } -export default async function FunnelRootPage({ params }: FunnelRootPageProps) { +export default async function FunnelRootPage({ params, searchParams }: FunnelRootPageProps) { const { funnelId } = await params; + const queryParams = await searchParams; let funnel: FunnelDefinition | null = null; @@ -66,5 +68,19 @@ export default async function FunnelRootPage({ params }: FunnelRootPageProps) { redirect("/"); } - redirect(`/${funnel.meta.id}/${firstScreenId}`); + // Сохраняем query параметры при редиректе + const queryString = new URLSearchParams( + Object.entries(queryParams).reduce((acc, [key, value]) => { + if (value !== undefined) { + acc[key] = Array.isArray(value) ? value[0] : value; + } + return acc; + }, {} as Record) + ).toString(); + + const redirectUrl = queryString + ? `/${funnel.meta.id}/${firstScreenId}?${queryString}` + : `/${funnel.meta.id}/${firstScreenId}`; + + redirect(redirectUrl); } diff --git a/src/entities/session/actions.ts b/src/entities/session/actions.ts index 92d7095..118a29f 100644 --- a/src/entities/session/actions.ts +++ b/src/entities/session/actions.ts @@ -22,9 +22,10 @@ export const createSession = async ( export const updateSession = async ( payload: IUpdateSessionRequest ): Promise => { + // Отправляем только data без вложенности return http.patch( API_ROUTES.session(payload.sessionId), - payload, + payload.data, { tags: ["session", "update"], schema: UpdateSessionResponseSchema,