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. */} +

+
{content.meta.web.seo_meta_description}
+
+

Accessible Zesty.io JSON Object

+
{JSON.stringify(content, null, 2)}
+
+ {/* End of Zesty.io output example */} + + ); +} + +export default ZPatternSection; diff --git a/src/views/zesty/index.js b/src/views/zesty/index.js index 0f4d871ef..af7c5665d 100644 --- a/src/views/zesty/index.js +++ b/src/views/zesty/index.js @@ -208,6 +208,11 @@ const DocsOverview = dynamic(() => import('./DocsOverview')); const CmWorldDemo = dynamic(() => import('./CmWorldDemo')); const Header = dynamic(() => import('./Header')); const Footer = dynamic(() => import('./Footer')); +const EbookLandingPage = dynamic(() => import('./EbookLandingPage')); +const Freestyle = dynamic(() => import('./Freestyle')); +const ZPatternSection = dynamic(() => import('./ZPatternSection')); +const FeaturesOption = dynamic(() => import('./FeaturesOption')); +const GridFeatureList = dynamic(() => import('./GridFeatureList')); export { Clipping, @@ -274,6 +279,7 @@ export { Tworowshero, Alternatecolumn, Persona, + WhyZesty, Testimonial, LogoSlider, AiExample, @@ -298,6 +304,9 @@ export { HeroWithForm, Herostackedlight, ProductGlossary, + ZPatternSection, + FeaturesOption, + GridFeatureList, Category, Article, Tag, @@ -326,7 +335,6 @@ export { Pricing, Ourpartner, HeroHompage, - WhyZesty, PlatformOverview, TechnologyOverview, CaseStudy, @@ -388,6 +396,8 @@ export { ProductLandingPage, DocsOverview, CmWorldDemo, + EbookLandingPage, + Freestyle, Footer, Header, };