- {enableIntro && introContent && !hasSubmitted &&
}
+ {!!enableIntro && introContent && !hasSubmitted &&
}
{!isLoading && hasSubmitted && confirmationType === "message" &&
}
{isLoading && !hasSubmitted &&
Loading, please wait...
}
{error &&
{`${error.status || "500"}: ${error.message || ""}`}
}
diff --git a/src/components/Blocks/RenderBlocks.tsx b/src/components/Blocks/RenderBlocks.tsx
index eb0092a..277a987 100644
--- a/src/components/Blocks/RenderBlocks.tsx
+++ b/src/components/Blocks/RenderBlocks.tsx
@@ -9,6 +9,8 @@ import { ImageSliderBlock } from "./ImageSlider";
import { BoxMenuGridBlock } from "./BoxMenuGrid";
import { GoogleReviewsBlock } from "./GoogleReviews";
import { GoogleReviewsSkeleton } from "./GoogleReviews/GoogleReviews";
+import ContactBlock from "./Contact";
+import { FormBlock } from "./Form";
const blockComponents = {
contentBlock: ContentBlock,
@@ -18,6 +20,8 @@ const blockComponents = {
imageSliderBlock: ImageSliderBlock,
boxMenuGridBlock: BoxMenuGridBlock,
googleReviewBlock: GoogleReviewsBlock,
+ contactBlock: ContactBlock,
+ formBlock: FormBlock,
};
export const RenderBlocks: React.FC<{
@@ -45,6 +49,17 @@ export const RenderBlocks: React.FC<{
);
+ } else if (blockType === "formBlock") {
+ return (
+
+ );
} else if (blockType === "beforeFooterBlock") {
return (
diff --git a/src/payload-types.ts b/src/payload-types.ts
index be96b10..203e067 100644
--- a/src/payload-types.ts
+++ b/src/payload-types.ts
@@ -269,6 +269,33 @@ export interface Page {
blockName?: string | null;
blockType: 'googleReviewBlock';
}
+ | {
+ id?: string | null;
+ blockName?: string | null;
+ blockType: 'contactBlock';
+ }
+ | {
+ form: number | Form;
+ enableIntro?: boolean | null;
+ introContent?: {
+ root: {
+ type: string;
+ children: {
+ type: string;
+ version: number;
+ [k: string]: unknown;
+ }[];
+ direction: ('ltr' | 'rtl') | null;
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+ indent: number;
+ version: number;
+ };
+ [k: string]: unknown;
+ } | null;
+ id?: string | null;
+ blockName?: string | null;
+ blockType: 'formBlock';
+ }
)[]
| null;
meta?: {
@@ -691,6 +718,21 @@ export interface PagesSelect {
id?: T;
blockName?: T;
};
+ contactBlock?:
+ | T
+ | {
+ id?: T;
+ blockName?: T;
+ };
+ formBlock?:
+ | T
+ | {
+ form?: T;
+ enableIntro?: T;
+ introContent?: T;
+ id?: T;
+ blockName?: T;
+ };
};
meta?:
| T