diff --git a/src/app/(frontend)/dni-narodzhennia/page.tsx b/src/app/(frontend)/dni-narodzhennia/page.tsx index 1ab4e9b..b6b4a41 100644 --- a/src/app/(frontend)/dni-narodzhennia/page.tsx +++ b/src/app/(frontend)/dni-narodzhennia/page.tsx @@ -3,6 +3,7 @@ import { getPayload } from 'payload' import configPromise from '@payload-config' import { PageHero } from '@/components/ui/PageHero' import { BirthdayBookingForm } from '@/components/forms/BirthdayBookingForm' +import { FormBlock, type FormData as FormBlockData } from '@/components/forms/FormBlock' import { RefreshRouteOnSave } from '@/components/cms/RefreshRouteOnSave' export const revalidate = 60 @@ -10,7 +11,7 @@ export const revalidate = 60 async function getBirthdayPageData() { try { const payload = await getPayload({ config: configPromise }) - return await payload.findGlobal({ slug: 'birthday-page', depth: 0 }) + return await payload.findGlobal({ slug: 'birthday-page', depth: 1 }) } catch { return null } @@ -126,7 +127,14 @@ export default async function BirthdayPage({ {pageData?.formSubtitle ?? "Залиште заявку і наш менеджер зв'яжеться з вами протягом 30 хвилин"}

- + {pageData?.form && typeof pageData.form === 'object' ? ( + + ) : ( + + )} diff --git a/src/app/(frontend)/grupovi-vidviduvannia/page.tsx b/src/app/(frontend)/grupovi-vidviduvannia/page.tsx index c979602..9d076cc 100644 --- a/src/app/(frontend)/grupovi-vidviduvannia/page.tsx +++ b/src/app/(frontend)/grupovi-vidviduvannia/page.tsx @@ -3,6 +3,7 @@ import { getPayload } from 'payload' import configPromise from '@payload-config' import { PageHero } from '@/components/ui/PageHero' import { GroupRequestForm } from '@/components/forms/GroupRequestForm' +import { FormBlock, type FormData as FormBlockData } from '@/components/forms/FormBlock' import { RefreshRouteOnSave } from '@/components/cms/RefreshRouteOnSave' export const revalidate = 60 @@ -18,7 +19,7 @@ interface Group { async function getGroupVisitsData() { try { const payload = await getPayload({ config: configPromise }) - return await payload.findGlobal({ slug: 'group-visits-page', depth: 0 }) + return await payload.findGlobal({ slug: 'group-visits-page', depth: 1 }) } catch { return null } @@ -100,7 +101,14 @@ export default async function GroupVisitsPage() { > {formSubtitle}

- + {data?.form && typeof data.form === 'object' ? ( + + ) : ( + + )} diff --git a/src/components/forms/FormBlock.tsx b/src/components/forms/FormBlock.tsx index 539b657..1661437 100644 --- a/src/components/forms/FormBlock.tsx +++ b/src/components/forms/FormBlock.tsx @@ -25,8 +25,8 @@ interface FormField { width?: number } -interface FormData { - id: string +export interface FormData { + id: string | number title?: string fields?: FormField[] confirmationType?: 'message' | 'redirect' @@ -59,7 +59,7 @@ export function FormBlock({ form, submitLabel }: FormBlockProps) { const res = await fetch('/api/form-submissions', { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ form: form.id, submissionData }), + body: JSON.stringify({ form: String(form.id), submissionData }), }) if (!res.ok) { setError('Щось пішло не так. Спробуйте ще раз.')