diff --git a/src/blocks/zesty/Hero/SimpleHeroWithImageAndCtaButtons.js b/src/blocks/zesty/Hero/SimpleHeroWithImageAndCtaButtons.js
index 2e6280f2b..50f953f7b 100644
--- a/src/blocks/zesty/Hero/SimpleHeroWithImageAndCtaButtons.js
+++ b/src/blocks/zesty/Hero/SimpleHeroWithImageAndCtaButtons.js
@@ -320,7 +320,7 @@ const SimpleHeroWithImageAndCtaButtons = ({
controls={true}
/>
-
+
+ }
>
)}
diff --git a/src/lib/sync.js b/src/lib/sync.js
index 0f1831072..b77acd914 100644
--- a/src/lib/sync.js
+++ b/src/lib/sync.js
@@ -38,7 +38,6 @@ async function ask(question) {
// for now: can use password param for preview url (readonly)
// if it creates developer token, need to account for token expiration
// 0b include needed packages
-const fetch = require('node-fetch');
const fs = require('fs'); // need to check folder and write files
const chalk = require('chalk');
const { promisify } = require('util');
diff --git a/src/views/zesty/EbookLandingPage.js b/src/views/zesty/EbookLandingPage.js
new file mode 100644
index 000000000..fa22de0e2
--- /dev/null
+++ b/src/views/zesty/EbookLandingPage.js
@@ -0,0 +1,54 @@
+/**
+ * Zesty.io Content Model Component
+ * When the ZestyLoader [..slug].js file is used, this component will autoload if it associated with the URL
+ *
+ * Label: EBook Landing Page
+ * Name: ebook_landing_page
+ * Model ZUID: 6-eccfc69b9a-2gdhxs
+ * File Created On: Fri Oct 20 2023 20:52:41 GMT+0800 (Pacific Standard Time)
+ *
+ * Model Fields:
+ *
+ * hero_title (text)
+ * hero_body (wysiwyg_basic)
+
+ *
+ * In the render function, text fields can be accessed like {content.field_name}, relationships are arrays,
+ * images are objects {content.image_name.data[0].url}
+ *
+ * This file is expected to be customized; because of that, it is not overwritten by the integration script.
+ * Model and field changes in Zesty.io will not be reflected in this comment.
+ *
+ * View and Edit this model's current schema on Zesty.io at https://8-aaeffee09b-7w6v22.manager.zesty.io/schema/6-eccfc69b9a-2gdhxs
+ *
+ * Data Output Example: https://zesty.org/services/web-engine/introduction-to-parsley/parsley-index#tojson
+ * Images API: https://zesty.org/services/media-storage-micro-dam/on-the-fly-media-optimization-and-dynamic-image-manipulation
+ */
+
+import React from 'react';
+
+function EbookLandingPage({ content }) {
+ return (
+ <>
+ {/* Zesty.io Output Example and accessible JSON object for this component. Delete or comment out when needed. */}
+
+
{content.meta.web.seo_meta_description}
+
+
Accessible Zesty.io JSON Object
+
{JSON.stringify(content, null, 2)}
+
+ {/* End of Zesty.io output example */}
+ >
+ );
+}
+
+export default EbookLandingPage;
diff --git a/src/views/zesty/FeaturesOption.js b/src/views/zesty/FeaturesOption.js
new file mode 100644
index 000000000..eee387e20
--- /dev/null
+++ b/src/views/zesty/FeaturesOption.js
@@ -0,0 +1,59 @@
+/**
+ * Zesty.io Content Model Component
+ * When the ZestyLoader [..slug].js file is used, this component will autoload if it associated with the URL
+ *
+ * Label: Features Options
+ * Name: features_options
+ * Model ZUID: 6-b0e0caa18c-zpjlsr
+ * File Created On: Fri Oct 20 2023 20:52:41 GMT+0800 (Pacific Standard Time)
+ *
+ * Model Fields:
+ *
+ * name (text)
+ * feature_icon (text)
+ * header (text)
+ * lists (wysiwyg_basic)
+ * image (images)
+ * cta_text (text)
+ * cta_link (text)
+
+ *
+ * In the render function, text fields can be accessed like {content.field_name}, relationships are arrays,
+ * images are objects {content.image_name.data[0].url}
+ *
+ * This file is expected to be customized; because of that, it is not overwritten by the integration script.
+ * Model and field changes in Zesty.io will not be reflected in this comment.
+ *
+ * View and Edit this model's current schema on Zesty.io at https://8-aaeffee09b-7w6v22.manager.zesty.io/schema/6-b0e0caa18c-zpjlsr
+ *
+ * Data Output Example: https://zesty.org/services/web-engine/introduction-to-parsley/parsley-index#tojson
+ * Images API: https://zesty.org/services/media-storage-micro-dam/on-the-fly-media-optimization-and-dynamic-image-manipulation
+ */
+
+import React from 'react';
+
+function FeaturesOption({ content }) {
+ return (
+ <>
+ {/* Zesty.io Output Example and accessible JSON object for this component. Delete or comment out when needed. */}
+
+
{content.meta.web.seo_meta_description}
+
+
Accessible Zesty.io JSON Object
+
{JSON.stringify(content, null, 2)}
+
+ {/* End of Zesty.io output example */}
+ >
+ );
+}
+
+export default FeaturesOption;
diff --git a/src/views/zesty/Freestyle.js b/src/views/zesty/Freestyle.js
new file mode 100644
index 000000000..0e4e13754
--- /dev/null
+++ b/src/views/zesty/Freestyle.js
@@ -0,0 +1,248 @@
+/**
+ * Zesty.io Content Model Component
+ * When the ZestyLoader [..slug].js file is used, this component will autoload if it associated with the URL
+ *
+ * Label: freestyle
+ * Name: freestyle
+ * Model ZUID: 6-bcf781c4e4-pbcmpl
+ * File Created On: Fri Oct 20 2023 20:52:41 GMT+0800 (Pacific Standard Time)
+ *
+ * Model Fields:
+ *
+ * hero_eyebrow (text)
+ * hero_promo_video (text)
+ * hero_title (text)
+ * hero_primary_cta_text (text)
+ * hero_primary_cta_link (text)
+ * hero_description (wysiwyg_basic)
+
+ *
+ * In the render function, text fields can be accessed like {content.field_name}, relationships are arrays,
+ * images are objects {content.image_name.data[0].url}
+ *
+ * This file is expected to be customized; because of that, it is not overwritten by the integration script.
+ * Model and field changes in Zesty.io will not be reflected in this comment.
+ *
+ * View and Edit this model's current schema on Zesty.io at https://8-aaeffee09b-7w6v22.manager.zesty.io/schema/6-bcf781c4e4-pbcmpl
+ *
+ * Data Output Example: https://zesty.org/services/web-engine/introduction-to-parsley/parsley-index#tojson
+ * Images API: https://zesty.org/services/media-storage-micro-dam/on-the-fly-media-optimization-and-dynamic-image-manipulation
+ */
+
+import {
+ Accordion,
+ AccordionDetails,
+ AccordionSummary,
+ Box,
+ Button,
+ Card,
+ CardContent,
+ Grid,
+ Typography,
+ useMediaQuery,
+ useTheme,
+} from '@mui/material';
+import Resources from 'components/marketing/IntegrationsIndividualPage/Resources';
+import FillerContent from 'components/globals/FillerContent';
+import dynamic from 'next/dynamic';
+import SimpleCardLogo from 'blocks/zesty/LogoGrid/SimpleCardLogo';
+import Feature from 'components/marketing/IntegrationsIndividualPage/Feature';
+import TryFreeButton from 'components/cta/TryFreeButton';
+import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
+import Container from 'components/Container';
+import MuiMarkdown from 'markdown-to-jsx';
+const SimpleHeroWithImageAndCtaButtons = dynamic(
+ () => import('blocks/zesty/Hero/SimpleHeroWithImageAndCtaButtons'),
+ {
+ ssr: false,
+ },
+);
+function Freestyle({ content }) {
+ const theme = useTheme();
+ const isSmall = useMediaQuery(theme.breakpoints.down('sm'));
+ const isMedium = useMediaQuery(theme.breakpoints.down('md'));
+ const isLarge = useMediaQuery(theme.breakpoints.down('lg'));
+ const isExtraLarge = useMediaQuery(theme.breakpoints.down('xl'));
+ const isDarkMode = theme.palette.mode === 'dark';
+
+ const pageData = {
+ theme,
+ isSmall,
+ isMedium,
+ isLarge,
+ isExtraLarge,
+ isDarkMode,
+ content,
+ FillerContent,
+ };
+
+ const headerProps = {
+ title: content.hero_title || FillerContent.header,
+ video: content.hero_promo_video || FillerContent.image,
+ description: content.hero_description || FillerContent.description,
+ cta_left: content.hero_primary_cta_text || FillerContent.cta,
+ backgroundColor: theme.palette.zesty.zestyDarkBlue,
+ isDarkBackground: true,
+ };
+
+ console.log(content);
+
+ const faqProps = {
+ title: content?.faq_title || FillerContent.header,
+ faqs: content?.faqs?.data || [],
+ };
+
+ const popularFeaturesProps = {
+ title: content?.popular_features || FillerContent.header,
+ data: content?.freestyle_popular_features?.data || [],
+ };
+
+ return (
+ <>
+ {' '}
+
+
+
+
+
+
+
+
+
+
+ Have a questions? Give us a call and we walk you through it
+
+
+
+
+
+
+
+
+ {faqProps?.title}
+
+
+ {faqProps.faqs.map((faq) => {
+ return (
+
+
+ }>
+
+ {faq?.question}
+
+
+
+
+ {faq?.answer}
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+ {popularFeaturesProps.title}
+
+
+ {popularFeaturesProps.data.map((feature) => {
+ return (
+
+
+
+
+ {feature.title}
+
+
+ {feature.description}
+
+
+
+
+
+
+ );
+ })}
+
+
+
+
+ >
+ );
+}
+
+export default Freestyle;
diff --git a/src/views/zesty/GridFeatureList.js b/src/views/zesty/GridFeatureList.js
new file mode 100644
index 000000000..4de511c7c
--- /dev/null
+++ b/src/views/zesty/GridFeatureList.js
@@ -0,0 +1,55 @@
+/**
+ * Zesty.io Content Model Component
+ * When the ZestyLoader [..slug].js file is used, this component will autoload if it associated with the URL
+ *
+ * Label: Grid Feature List
+ * Name: grid_feature_list
+ * Model ZUID: 6-e6ccc5dcbb-4tc7gk
+ * File Created On: Fri Oct 20 2023 20:52:41 GMT+0800 (Pacific Standard Time)
+ *
+ * Model Fields:
+ *
+ * feature_image (images)
+ * feature_title (text)
+ * feature_description (textarea)
+
+ *
+ * In the render function, text fields can be accessed like {content.field_name}, relationships are arrays,
+ * images are objects {content.image_name.data[0].url}
+ *
+ * This file is expected to be customized; because of that, it is not overwritten by the integration script.
+ * Model and field changes in Zesty.io will not be reflected in this comment.
+ *
+ * View and Edit this model's current schema on Zesty.io at https://8-aaeffee09b-7w6v22.manager.zesty.io/schema/6-e6ccc5dcbb-4tc7gk
+ *
+ * Data Output Example: https://zesty.org/services/web-engine/introduction-to-parsley/parsley-index#tojson
+ * Images API: https://zesty.org/services/media-storage-micro-dam/on-the-fly-media-optimization-and-dynamic-image-manipulation
+ */
+
+import React from 'react';
+
+function GridFeatureList({ content }) {
+ return (
+ <>
+ {/* Zesty.io Output Example and accessible JSON object for this component. Delete or comment out when needed. */}
+
+
{content.meta.web.seo_meta_description}
+
+
Accessible Zesty.io JSON Object
+
{JSON.stringify(content, null, 2)}
+
+ {/* End of Zesty.io output example */}
+ >
+ );
+}
+
+export default GridFeatureList;
diff --git a/src/views/zesty/ZPatternSection.js b/src/views/zesty/ZPatternSection.js
new file mode 100644
index 000000000..3ba09fae0
--- /dev/null
+++ b/src/views/zesty/ZPatternSection.js
@@ -0,0 +1,52 @@
+/**
+ * Zesty.io Content Model Component
+ * When the ZestyLoader [..slug].js file is used, this component will autoload if it associated with the URL
+ *
+ * Label: Z Pattern Section
+ * Name: z_pattern_section
+ * Model ZUID: 6-dad7add481-np10qb
+ * File Created On: Fri Oct 20 2023 20:52:41 GMT+0800 (Pacific Standard Time)
+ *
+ * Model Fields:
+ *
+
+ *
+ * In the render function, text fields can be accessed like {content.field_name}, relationships are arrays,
+ * images are objects {content.image_name.data[0].url}
+ *
+ * This file is expected to be customized; because of that, it is not overwritten by the integration script.
+ * Model and field changes in Zesty.io will not be reflected in this comment.
+ *
+ * View and Edit this model's current schema on Zesty.io at https://8-aaeffee09b-7w6v22.manager.zesty.io/schema/6-dad7add481-np10qb
+ *
+ * Data Output Example: https://zesty.org/services/web-engine/introduction-to-parsley/parsley-index#tojson
+ * Images API: https://zesty.org/services/media-storage-micro-dam/on-the-fly-media-optimization-and-dynamic-image-manipulation
+ */
+
+import React from 'react';
+
+function ZPatternSection({ content }) {
+ return (
+ <>
+ {/* Zesty.io Output Example and accessible JSON object for this component. Delete or comment out when needed. */}
+
+