diff --git a/gatsby-config.js b/gatsby-config.js index d7c2f4e..fc3e9b5 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -36,7 +36,7 @@ module.exports = { product_page: require("./src/schemas/product_page.json"), product: require("./src/schemas/product.json"), Process: require("./src/schemas/process.json"), - Homepage: require("./src/schemas/Homepage.json"), + homepage: require("./src/schemas/Homepage.json"), use_cases_page: require("./src/schemas/use_cases_page.json"), use_case: require("./src/schemas/use_case.json"), }, diff --git a/src/components/contact/contact-styles.js b/src/components/contact/contact-styles.js new file mode 100644 index 0000000..d5767b0 --- /dev/null +++ b/src/components/contact/contact-styles.js @@ -0,0 +1,114 @@ +import styled from "styled-components" +import colors from "../../style/colors" +import dimensions from "../../style/dimensions" + +import { fontSizes } from "../../style/type-styles" +import { + layoutPaddingDesktop, + layoutPaddingMobile, +} from "../../style/variables" +export const ContactContainer = styled.div` + min-height: 100vh; +` + +export const ContactForm = styled.div` + padding-top: 172px; + width: 100%; + @media (min-width: ${dimensions.maxwidthTablet}px) { + width: 36vw; + + } + color: ${colors.blue900}; + input { + border-width: 0 0 2px; + border-color: ${colors.input_gray}; + width: 100%; + margin-bottom: 32px; + } + + @media (min-width: ${dimensions.maxwidthTablet}px) { + input { + border-width: 0 0 2px; + border-color: ${colors.input_gray}; + width: 36vw; + margin-bottom: 32px; + } + } + input::placeholder { + font-size: ${fontSizes.body}; + color: ${colors.input_gray}; + } +` + +export const ContactSection = styled.div` + @media (min-width: ${dimensions.maxwidthTablet}px) { + display: flex; + justify-content: space-between; + } +` +export const ContactDescription = styled.div` + margin-bottom: 64px; +` +export const ContactButton = styled.button` + font-size: 16px; + padding-right: 60px; + padding-left: 60px; + padding-top: 16px; + padding-bottom: 16px; + background-color: ${colors.orange900}; + text-transform: uppercase; + color: ${colors.white900}; + + border: none; +` + +export const ContactImageSection = styled.div` + margin-right: -${layoutPaddingDesktop}; + img { + margin-top: 172px; + right: 0px; + width: 50vw; + height: 531px; + object-fit: cover; + } + + + @media (max-width: ${dimensions.maxwidthTablet}px) { + margin-right: -${layoutPaddingMobile}; + + img { + margin-top: 172px; + right: 0px; + width: 100%; + height: 263px; + object-fit: cover; + } + + } + +` + +export const SpecificContactInfo = styled.div` + @media (min-width: ${dimensions.maxwidthTablet}px) { + display: flex; + justify-content: space-apart; + } +` + +export const EmailSection = styled.div` + margin-right: 127px; + margin-top: 64px; + color: ${colors.blue900}; +` + +export const AddressSection = styled.div` + margin-top: 64px; + color: ${colors.blue900}; + width: 228px; + margin-bottom: 110px; +` + +export const UseCaseSection = styled.div` + + +` \ No newline at end of file diff --git a/src/components/header/header.jsx b/src/components/header/header.jsx index a740d58..d8f2a97 100644 --- a/src/components/header/header.jsx +++ b/src/components/header/header.jsx @@ -44,7 +44,7 @@ export const Header = ({ home }) => { PRODUCTS - + SOLUTIONS diff --git a/src/components/homepage/index-styles.js b/src/components/homepage/index-styles.js index 35ac151..caaa1d1 100644 --- a/src/components/homepage/index-styles.js +++ b/src/components/homepage/index-styles.js @@ -58,6 +58,68 @@ export const HeroCTA = styled.div` } ` +export const ImpactSection = styled.div` + display: flex; + margin-top: 80px; + margin-bottom: 80px; + min-height: 100vh; + z-index: 1; + position: relative; + + background-color: ${colors.white900}; + justify-content: center; + @media (max-width: ${dimensions.maxwidthTablet}px) { + margin-top: 24px; + margin-bottom: 24px; + } +` +export const ImpactHeader = styled.div` + width: 43vw; + @media (max-width: ${dimensions.maxwidthTablet}px) { + width: 100%; + } +` +export const ImpactIcon = styled.div` + margin-top: 128px; + + @media (max-width: ${dimensions.maxwidthTablet}px) { + margin-top: 48px; + } +` + +export const ImpactStats = styled.div` + margin-top: 64px; + margin-bottom: 48; + + @media (min-width: ${dimensions.maxwidthTablet}px) { + display: flex; + margin-top: 132px; + margin-bottom: 80px; + } +` + +export const ImpactExample = styled.div` + padding-right: 9vw; + + svg { + margin-top: 48px; + position: relative; + z-index: 1; + } +` + +export const ImpactStat = styled.div` + text-align: center; +` + +export const ImpactStatIcon = styled.div` + width: 194px; + height: 194px; + background-color: ${colors.gray_icon}; + margin-left: auto; + margin-right: auto; +` + export const FutureSection = styled.div` height: 100vh; position: relative; @@ -102,8 +164,6 @@ export const FutureSolarIcon = styled.div` height: 64px; margin-bottom: 48px; - - @media (min-width: ${dimensions.maxwidthTablet}px) { svg { width: 118px; @@ -142,3 +202,184 @@ export const HomePageContainer = styled.div` position: relative; z-index: 0; ` + +export const SolutionsSection = styled.div` + height: 100vh; + margin-top: 200px; + color: ${colors.blue900}; + padding-bottom: 100px; +` + +export const SolutionsCard = styled.div` + a { + text-decoration: none; + color: ${colors.blue900}; + } + @media (max-width: ${dimensions.maxwidthTablet}px) { + img { + width: 100%; + object-fit: cover; + } + + margin-bottom: 48px; + margin-top: 48px; + } + @media (min-width: ${dimensions.maxwidthTablet}px) { + img { + width: 25vw; + height: 248px; + + object-fit: cover; + } + } + + text-align: center; +` + +export const SolutionsCards = styled.div` + @media (min-width: ${dimensions.maxwidthTablet}px) { + display: flex; + justify-content: space-between; + } +` + +export const SolutionsCTA = styled.div` +margin-top: 64px; +display: flex; +justify-content: center; + +a { + padding-right: 60px; + padding-left: 60px; + padding-top: 16px; + padding-bottom: 16px; + border: solid ${colors.orange900}; 1px; + font-size: 16px; + font-weight: bold; + text-decoration: none; + text-transform: uppercase; + color: ${colors.orange900}; +} +` +export const CTASection = styled.div` + height: 100vh; + @media (max-width: ${dimensions.maxwidthTablet}px) { + margin-top: 480px; + } +` + +export const CTAImage = styled.div` + margin-top: 100px; + margin-bottom: 100px; + img { + object-fit: cover; + width: 351px; + height: 234px; + } + + margin-left: -${layoutPaddingMobile}; + + @media (min-width: ${dimensions.maxwidthTablet}px) { + img { + object-fit: cover; + width: 50vw; + height: 472px; + } + + margin-left: -${layoutPaddingDesktop}; + } +` + +export const CTAContent = styled.div` + @media (min-width: ${dimensions.maxwidthTablet}px) { + display: flex; + align-items: center; + } +` + +export const CTAText = styled.div` + color: ${colors.blue900}; + + @media (min-width: ${dimensions.maxwidthTablet}px) { + margin-left: 133px; + } +` + +export const CTAButton = styled.div` +margin-top: 64px; +display: flex; + +a { + padding-right: 60px; + padding-left: 60px; + padding-top: 16px; + padding-bottom: 16px; + border: solid ${colors.orange900}; 1px; + font-size: 16px; + font-weight: bold; + text-decoration: none; + text-transform: uppercase; + color: ${colors.orange900}; +} +` +export const NodeLine = styled.div` + position: absolute; + height: 3px; + left: -80px; + margin-top: 64px; + z-index: 0; + background-color: ${colors.orange900}; + + @media (min-width: ${dimensions.maxwidthDesktop}px) { + width: 70%; + } + + @media (min-width: ${dimensions.maxwidthTablet}px) and (max-width: ${dimensions.maxwidthDesktop}px) { + width: 80%; + } +` +export const MobileNodeLine = styled.div` + position: absolute; + height: 3px; + left: -${layoutPaddingMobile}; + margin-top: 64px; + z-index: 0; + background-color: ${colors.orange900}; + + @media (max-width: ${dimensions.maxwidthTablet}px) { + width: 55.8%; + } +` + +export const ImpactImage = styled.div` + position: relative; + + img { + width: 100vw; + height: calc(100vh + 304px); + object-fit: cover; + z-index: 0; + position: absolute; + left: -${layoutPaddingDesktop}; + } + + @media (max-width: ${dimensions.maxwidthTablet}px) { + img { + width: 100vw; + object-fit: cover; + z-index: 0; + position: absolute; + left: -${layoutPaddingMobile}; + } + } +` + +export const ImpactCTA = styled.div` + display: flex; + justify-content: center; + margin-bottom: 80px; + + @media (max-width: ${dimensions.maxwidthTablet}px) { + margin-bottom: 48px; + } +` diff --git a/src/components/homepage/index.js b/src/components/homepage/index.js index c45cbdc..0ce32f1 100644 --- a/src/components/homepage/index.js +++ b/src/components/homepage/index.js @@ -1,11 +1,19 @@ import React from "react" -import { H1, P, H2 } from "../../style/type-styles" +import { H1, P, H2, H3 } from "../../style/type-styles" import { + HomePageContainer, HeroContainer, HeroTextSection, HeroHeadline, HeroDescription, HeroCTA, + ImpactSection, + ImpactHeader, + ImpactIcon, + ImpactStats, + ImpactExample, + ImpactStat, + ImpactStatIcon, FutureSection, FutureText, FutureSolarIcon, @@ -13,11 +21,26 @@ import { FutureDescription, FutureCTA, FutureImage, - HomePageContainer, HeroImage, + SolutionsSection, + SolutionsCard, + SolutionsCards, + SolutionsCTA, + CTASection, + CTAImage, + CTAContent, + CTAText, + CTAButton, + NodeLine, + MobileNodeLine, + ImpactImage, + ImpactCTA, } from "./index-styles" +import Circle from "../../vectors/circle.svg" +import TreeIcon from "../../vectors/renewable-tree-icon.svg" import SunIcon from "../../vectors/sun-icon.svg" +import PlantIcon from "../../vectors/plant-icon.svg" import { Helmet } from "react-helmet" export default function HomePage({ data }) { @@ -70,6 +93,86 @@ export default function HomePage({ data }) { {data.section_image_alt} + + + Impact Section Backgroud Image + + +
+ + + + +

{data.impact_section_title}

+
+ + {data.impact_example.map((example, idx) => ( + + +

{example.impact_big_text}

+

{example.impact_small_text}

+ {idx === 2 && } + + +
+
+ ))} +
+ + + + {data.button_text} + + +
+
+ + +

{data.solutions_header}

+ + + {data.use_cases.map((use_case, idx) => { + return ( + + + {use_case.use_case.document.data.preview_title} +

{use_case.use_case.document.data.preview_title}

+
+
+ ) + })} +
+ + + + View use cases + {" "} + +
+ + + + + + + + + +

{data.cta_text}

+ + + Contact Us + {" "} + +
+
+
) diff --git a/src/components/solutions/solutions-styles.js b/src/components/solutions/solutions-styles.js new file mode 100644 index 0000000..92fa828 --- /dev/null +++ b/src/components/solutions/solutions-styles.js @@ -0,0 +1,154 @@ +import styled from "styled-components" +import colors from "../../style/colors" +import dimensions from "../../style/dimensions" +import { + layoutPaddingDesktop, + layoutPaddingMobile, +} from "../../style/variables" + +export const SolutionsContainer = styled.div`` + +export const TaglineSection = styled.div`` + +export const TaglineHeader = styled.div` + color: ${colors.blue900}; +` +export const TaglineDescription = styled.div` + color: ${colors.blue900}; +` + +export const TaglineImage = styled.div` + img { + width: 100%; + height: 464px; + object-fit: cover; + margin-bottom: 28px; + margin-top: 141px; + } + + @media (min-width: ${dimensions.maxwidthTablet}px) { + img { + position: absolute; + right: 0; + top: 127px; + width: 56vw; + height: 464px; + object-fit: cover; + margin-top: 0px; + } + } +` + +export const TaglineText = styled.div` + width: 100%; + + @media (min-width: ${dimensions.maxwidthTablet}px) { + padding-top: 180px; + width: 35vw; + } +` + +export const UseCaseSection = styled.div` + margin-top: 98px; + + @media (min-width: ${dimensions.maxwidthTablet}px) { + margin-top: 286px; + } +` + +export const UseCaseCard = styled.div` + margin-bottom: 80px; + width: 100%; + a { + text-decoration: none; + color: ${colors.blue900}; + } + + @media (min-width: ${dimensions.maxwidthTablet}px) { + width: 25vw; + } +` + +export const UseCaseCTA = styled.div` +margin-top: 50px; +a { + padding-right: 60px; + padding-left: 60px; + padding-top: 16px; + padding-bottom: 16px; + border: solid ${colors.orange900}; 1px; + font-size: 16px; + font-weight: bold; + text-decoration: none; + text-transform: uppercase; + color: ${colors.orange900}; + } + +` +export const UseCaseCards = styled.div` + @media (min-width: ${dimensions.maxwidthTablet}px) { + display: flex; + justify-content: space-between; + } +` + +export const ModelsCTA = styled.div` + margin-top: 160px; + + @media (min-width: ${dimensions.maxwidthTablet}px) { + } +` + +export const ModelCTAContent = styled.div` + @media (min-width: ${dimensions.maxwidthTablet}px) { + display: flex; + } +` + +export const ModelCTAImage = styled.div` + img { + width: 100%; + height: 464px; + object-fit: cover; + } + @media (min-width: ${dimensions.maxwidthTablet}px) { + img { + width: 45vw; + height: 464px; + object-fit: cover; + margin-left: -${layoutPaddingDesktop}; + } + } +` + +export const ModelCTAText = styled.div` + margin-bottom: 116px; + margin-top: 116px; + + color: ${colors.blue900}; + @media (min-width: ${dimensions.maxwidthTablet}px) { + margin-left: 76px; + margin-top: 72px; + margin-bottom: 0px; + } +` + +export const ModelsButton = styled.div` + margin-top: 42px; + + a { + background-color: ${colors.orange900}; + text-transform: uppercase; + color: ${colors.white900}; + padding-left: 48px; + font-size: 16px; + padding-right: 48px; + padding-top: 16px; + padding-bottom: 16px; + text-decoration: none; + } + + @media (min-width: ${dimensions.maxwidthTablet}px) { + margin-top: 0px; + } +` diff --git a/src/components/solutions/solutions.js b/src/components/solutions/solutions.js new file mode 100644 index 0000000..af81b18 --- /dev/null +++ b/src/components/solutions/solutions.js @@ -0,0 +1,94 @@ +import React from "react" +import { H1, P, H2, H3, Body } from "../../style/type-styles" +import TreeIcon from "../../vectors/renewable-tree-icon.svg" +import SunIcon from "../../vectors/sun-icon.svg" +import { Helmet } from "react-helmet" +import { + SolutionsContainer, + TaglineSection, + TaglineHeader, + TaglineDescription, + TaglineImage, + TaglineText, + UseCaseSection, + UseCaseCard, + UseCaseCards, + UseCaseCTA, + ModelsCTA, + ModelCTAContent, + ModelCTAImage, + ModelCTAText, + ModelsButton, +} from "./solutions-styles" +import PurchaseIcon from "../../vectors/solar-panel.svg" +export default function Solutions({ data }) { + return ( + <> + + + + + + + + + +

{data.prismicUseCasesPage.data.tagline_heading}

+
+ + {data.prismicUseCasesPage.data.tagline_description} + +
+
+ + + + {data.prismicUseCasesPage.data.use_cases.map((use_case, idx) => { + return ( + + + {use_case.use_case.document.data.preview_title} +

{use_case.use_case.document.data.preview_title}

+ + {use_case.use_case.document.data.preview_description} + + + +
Learn More + + +
+ ) + })} +
+
+ + + + + + + + + +

{data.prismicUseCasesPage.data.call_to_action_heading}

+ + + + {data.prismicUseCasesPage.data.cta_button_text} + + +
+
+
+
+ + ) +} diff --git a/src/pages/UseCases.js b/src/pages/UseCases.js deleted file mode 100644 index 3120536..0000000 --- a/src/pages/UseCases.js +++ /dev/null @@ -1,39 +0,0 @@ -import { graphql } from "gatsby" - -import React from "react" - -export default function UseCasesPage({ data }) { - const useCasesPageData = data.prismicUseCasesPage.data - - return ( -
-

{useCasesPageData.tagline_heading}

-
- ) -} - -export const query = graphql` - query UseCasesPageQuery { - prismicUseCasesPage { - data { - call_to_action_heading - cta_button_destination { - target - } - cta_button_text - tagline_description - tagline_heading - tagline_image { - url - dimensions { - height - width - } - } - use_case { - link_type - } - } - } - } -` diff --git a/src/pages/about.js b/src/pages/about.js index 17afb0f..eca47ab 100644 --- a/src/pages/about.js +++ b/src/pages/about.js @@ -24,7 +24,6 @@ export const query = graphql` company_background_section_heading company_comparison_section_heading company_team_heading - cta_button_destination cta_button_text industry_context_explanation { explanation_description @@ -38,10 +37,8 @@ export const query = graphql` product_feature { product_feature_name } - products_navigation_button_destination products_navigation_button_text team_member_information { - contact_button_destination contact_button_text team_member_description team_member_title diff --git a/src/pages/index.js b/src/pages/index.js index 9b2e09a..d4f8036 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -53,6 +53,13 @@ export const query = graphql` width } } + + cta_text + cta_button_destination + cta_button_text + cta_image { + url + } impact_example { impact_big_text impact_small_text @@ -71,6 +78,24 @@ export const query = graphql` target } sign_up_button_text + solutions_header + use_cases { + use_case { + document { + ... on PrismicUseCase { + id + url + uid + data { + preview_title + preview_image { + url + } + } + } + } + } + } } } } diff --git a/src/pages/process.js b/src/pages/process.js index 1b5c615..b014e6a 100644 --- a/src/pages/process.js +++ b/src/pages/process.js @@ -18,7 +18,7 @@ export const query = graphql` data { find_button_destination find_button_text - find_description + # find_description find_header header_image { url @@ -27,9 +27,9 @@ export const query = graphql` height } } - how_description { - text - } + # how_description { + # text + # } how_header how_images { how_image { diff --git a/src/pages/products.js b/src/pages/products.js index ccbe7be..dbf9564 100644 --- a/src/pages/products.js +++ b/src/pages/products.js @@ -47,9 +47,7 @@ export const query = graphql` feature_title features { feature_name - feature_description { - text - } + feature_description feature_image { url } diff --git a/src/pages/solutions.js b/src/pages/solutions.js new file mode 100644 index 0000000..043d109 --- /dev/null +++ b/src/pages/solutions.js @@ -0,0 +1,54 @@ +import { graphql } from "gatsby" + +import React from "react" + +import SolutionsComponent from "../components/solutions/solutions" +import Layout from "../components/layout" + +export default function UseCasesPage({ data }) { + const useCasesPageData = data.prismicUseCasesPage.data + + return ( + + + + ) +} + +export const query = graphql` + query UseCasesPageQuery { + prismicUseCasesPage { + data { + tagline_image { + url + } + tagline_heading + tagline_description + cta_button_destination { + url + } + cta_button_text + call_to_action_heading + cta_image { + url + } + use_cases { + use_case { + document { + ... on PrismicUseCase { + uid + data { + preview_title + preview_image { + url + } + preview_description + } + } + } + } + } + } + } + } +` diff --git a/src/schemas/About.json b/src/schemas/About.json index 42c100d..da2e391 100644 --- a/src/schemas/About.json +++ b/src/schemas/About.json @@ -1,197 +1,221 @@ { - "Main": {}, - "Mission Section": { - "mission_heading": { - "type": "Text", - "config": { - "label": "Mission Heading" - } - }, - "mission_description": { - "type": "Text", - "config": { - "label": "Mission Description" - } - }, - "mission_image": { - "type": "Image", - "config": { - "constraint": {}, - "thumbnails": [], - "label": "Mission Image" - } + "Main" : { }, + "Mission Section" : { + "mission_icon" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Mission Icon" + } + }, + "mission_heading" : { + "type" : "Text", + "config" : { + "label" : "Mission Heading" + } + }, + "mission_description" : { + "type" : "Text", + "config" : { + "label" : "Mission Description" } + }, + "mission_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Mission Image" + } + } }, - "Industry Context Section": { - "industry_context_heading": { - "type": "Text", - "config": { - "label": "Industry Context Heading" - } - }, - "industry_context_explanation": { - "type": "Group", - "config": { - "fields": { - "explanation_image": { - "type": "Image", - "config": { - "constraint": {}, - "thumbnails": [], - "label": "Explanation Image" - } - }, - "explanation_description": { - "type": "Text", - "config": { - "label": "Explanation Description" - } - } - }, - "label": "Industry Context Explanation" - } - }, - "cta_button_text": { - "type": "Text", - "config": { - "label": "CTA Button Text" - } - }, - "cta_button_destination": { - "type": "Link", - "config": { - "label": "CTA Button Destination" - } + "Industry Context Section" : { + "industry_context_icon" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Industry Context Icon" + } + }, + "industry_context_background_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Industry Context Background Image" + } + }, + "industry_context_heading" : { + "type" : "Text", + "config" : { + "label" : "Industry Context Heading" + } + }, + "industry_context_explanation" : { + "type" : "Group", + "config" : { + "fields" : { + "explanation_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Explanation Image" + } + }, + "explanation_description" : { + "type" : "Text", + "config" : { + "label" : "Explanation Description" + } + } + }, + "label" : "Industry Context Explanation" } + }, + "cta_button_text" : { + "type" : "Text", + "config" : { + "label" : "CTA Button Text" + } + }, + "cta_button_destination" : { + "type" : "Link", + "config" : { + "label" : "CTA Button Destination" + } + } }, - "Company Background Section": { - "company_background_section_heading": { - "type": "Text", - "config": { - "label": "Company Background Section Heading" - } - }, - "company_background_description": { - "type": "Text", - "config": { - "label": "Company Background Description" - } - }, - "company_team_heading": { - "type": "Text", - "config": { - "label": "Company Team Heading" - } - }, - "team_member_information": { - "type": "Group", - "config": { - "fields": { - "team_member_image": { - "type": "Image", - "config": { - "constraint": {}, - "thumbnails": [], - "label": "Team Member Image" - } - }, - "team_member_title": { - "type": "Text", - "config": { - "label": "Team Member Title" - } - }, - "team_member_description": { - "type": "Text", - "config": { - "label": "Team Member Description" - } - }, - "contact_button_text": { - "type": "Text", - "config": { - "label": "Contact Button Text" - } - }, - "contact_button_destination": { - "type": "Link", - "config": { - "label": "Contact Button Destination" - } - } - }, - "label": "Team Member Information" - } + "Company Background Section" : { + "company_background_section_heading" : { + "type" : "Text", + "config" : { + "label" : "Company Background Section Heading" + } + }, + "company_background_description" : { + "type" : "Text", + "config" : { + "label" : "Company Background Description" + } + }, + "company_team_heading" : { + "type" : "Text", + "config" : { + "label" : "Company Team Heading" } + }, + "team_member_information" : { + "type" : "Group", + "config" : { + "fields" : { + "team_member_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Team Member Image" + } + }, + "team_member_title" : { + "type" : "Text", + "config" : { + "label" : "Team Member Title" + } + }, + "team_member_description" : { + "type" : "Text", + "config" : { + "label" : "Team Member Description" + } + }, + "contact_button_text" : { + "type" : "Text", + "config" : { + "label" : "Contact Button Text" + } + }, + "contact_button_destination" : { + "type" : "Link", + "config" : { + "label" : "Contact Button Destination" + } + } + }, + "label" : "Team Member Information" + } + } }, - "Company Comparison Section": { - "company_comparison_section_heading": { - "type": "Text", - "config": { - "label": "Company Comparison Section Heading" - } - }, - "product_benefit": { - "type": "Group", - "config": { - "fields": { - "product_benefit_image": { - "type": "Image", - "config": { - "constraint": {}, - "thumbnails": [], - "label": "Product Benefit Image" - } - }, - "product_benefit_title": { - "type": "Text", - "config": { - "label": "Product Benefit Title" - } - } - }, - "label": "Product Benefit" - } - }, - "company": { - "type": "Group", - "config": { - "fields": { - "company_name": { - "type": "Text", - "config": { - "label": "Company Name" - } - } - }, - "label": "Company" - } - }, - "product_feature": { - "type": "Group", - "config": { - "fields": { - "product_feature_name": { - "type": "Text", - "config": { - "label": "Product Feature Name" - } - } - }, - "label": "Product Feature" - } - }, - "products_navigation_button_text": { - "type": "Text", - "config": { - "label": "Products Navigation Button Text" - } - }, - "products_navigation_button_destination": { - "type": "Link", - "config": { - "label": "Products Navigation Button Destination" - } + "Company Comparison Section" : { + "company_comparison_section_heading" : { + "type" : "Text", + "config" : { + "label" : "Company Comparison Section Heading" + } + }, + "product_benefit" : { + "type" : "Group", + "config" : { + "fields" : { + "product_benefit_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Product Benefit Image" + } + }, + "product_benefit_title" : { + "type" : "Text", + "config" : { + "label" : "Product Benefit Title" + } + } + }, + "label" : "Product Benefit" + } + }, + "company" : { + "type" : "Group", + "config" : { + "fields" : { + "company_name" : { + "type" : "Text", + "config" : { + "label" : "Company Name" + } + } + }, + "label" : "Company" + } + }, + "product_feature" : { + "type" : "Group", + "config" : { + "fields" : { + "product_feature_name" : { + "type" : "Text", + "config" : { + "label" : "Product Feature Name" + } + } + }, + "label" : "Product Feature" + } + }, + "products_navigation_button_text" : { + "type" : "Text", + "config" : { + "label" : "Products Navigation Button Text" + } + }, + "products_navigation_button_destination" : { + "type" : "Link", + "config" : { + "label" : "Products Navigation Button Destination" } + } } -} \ No newline at end of file + } \ No newline at end of file diff --git a/src/schemas/Homepage.json b/src/schemas/Homepage.json index d558a72..f69372c 100644 --- a/src/schemas/Homepage.json +++ b/src/schemas/Homepage.json @@ -187,5 +187,69 @@ "label" : "use" } } + }, + "Quote Section" : { + "quote_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "quote image" + } + }, + "quotes" : { + "type" : "Group", + "config" : { + "fields" : { + "quote" : { + "type" : "Text", + "config" : { + "label" : "Quote" + } + }, + "name" : { + "type" : "Text", + "config" : { + "label" : "Name" + } + }, + "title" : { + "type" : "Text", + "config" : { + "label" : "Title" + } + } + }, + "label" : "Quotes" + } + } + }, + "Reach Out Section" : { + "cta_text" : { + "type" : "Text", + "config" : { + "label" : "CTA Text" + } + }, + "cta_button_text" : { + "type" : "Text", + "config" : { + "label" : "CTA Button Text" + } + }, + "cta_button_destination" : { + "type" : "Text", + "config" : { + "label" : "CTA Button Destination" + } + }, + "cta_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "CTA Image" + } + } } } \ No newline at end of file diff --git a/src/schemas/product.json b/src/schemas/product.json index 68d5a19..5564213 100644 --- a/src/schemas/product.json +++ b/src/schemas/product.json @@ -1,140 +1,175 @@ { - "Main" : { - "uid" : { - "type" : "UID", - "config" : { - "label" : "url" - } - }, - "product_type" : { - "type" : "Select", - "config" : { - "options" : [ "Homeowner", "Commercial" ], - "label" : "Product Type" - } - }, - "product_title" : { - "type" : "Text", - "config" : { - "label" : "Product Title" - } - }, - "product_description" : { - "type" : "StructuredText", - "config" : { - "multi" : "paragraph", - "label" : "Product Description" - } - }, - "product_images" : { - "type" : "Group", - "config" : { - "fields" : { - "image" : { - "type" : "Image", - "config" : { - "constraint" : { }, - "thumbnails" : [ ], - "label" : "Image" - } + "Main" : { + "uid" : { + "type" : "UID", + "config" : { + "label" : "url" + } + }, + "product_type" : { + "type" : "Select", + "config" : { + "options" : [ "Homeowner", "Commercial" ], + "label" : "Product Type" + } + }, + "product_title" : { + "type" : "Text", + "config" : { + "label" : "Product Title" + } + }, + "product_price" : { + "type" : "Text", + "config" : { + "label" : "Product Price" + } + }, + "product_description" : { + "type" : "StructuredText", + "config" : { + "multi" : "paragraph", + "label" : "Product Description" + } + }, + "product_images" : { + "type" : "Group", + "config" : { + "fields" : { + "image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Image" } - }, - "label" : "Product Images" - } + } + }, + "label" : "Product Images" + } + } + }, + "Icon Section" : { + "icon_section_title" : { + "type" : "Text", + "config" : { + "label" : "Icon Section Title" } }, - "Icon Section" : { - "icon_section_title" : { - "type" : "Text", - "config" : { - "label" : "Icon Section Title" - } - }, - "icons" : { - "type" : "Group", - "config" : { - "fields" : { - "icon_image" : { - "type" : "Image", - "config" : { - "constraint" : { }, - "thumbnails" : [ ], - "label" : "Icon Image" - } - }, - "icon_text" : { - "type" : "Text", - "config" : { - "label" : "Icon Text" - } + "icons" : { + "type" : "Group", + "config" : { + "fields" : { + "icon_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Icon Image" } }, - "label" : "Icons" - } + "icon_text" : { + "type" : "Text", + "config" : { + "label" : "Icon Text" + } + } + }, + "label" : "Icons" + } + } + }, + "Feature Section" : { + "feature_icon" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Feature Icon" } }, - "Feature Section" : { - "feature_icon": { - "type": "Image", - "config": { - "constraint": {}, - "thumbnails": [], - "label": "Feature Icon" - } - }, - "feature_title" : { - "type" : "Text", - "config" : { - "label" : "Feature Title" - } - }, - "features" : { - "type" : "Group", - "config" : { - "fields" : { - "feature_image" : { - "type" : "Image", - "config" : { - "constraint" : { }, - "thumbnails" : [ ], - "label" : "Feature Image" - } - }, - "feature_name" : { - "type" : "Text", - "config" : { - "label" : "Feature Name" - } - }, - "feature_description": { - "type": "Text", - "config": { - "label": "Feature Description" - } + "feature_title" : { + "type" : "Text", + "config" : { + "label" : "Feature Title" + } + }, + "features" : { + "type" : "Group", + "config" : { + "fields" : { + "feature_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Feature Image" } }, - "label" : "Features" - } + "feature_name" : { + "type" : "Text", + "config" : { + "label" : "Feature Name" + } + }, + "feature_description" : { + "type" : "Text", + "config" : { + "label" : "Feature Description" + } + } + }, + "label" : "Features" + } + } + }, + "Product CTA" : { + "cta_title" : { + "type" : "Text", + "config" : { + "label" : "CTA Header" } }, - "Product CTA" : { - "cta_title" : { - "type" : "Text", - "config" : { - "label" : "CTA Header" - } - }, - "button_title" : { - "type" : "Text", - "config" : { - "label" : "Button Title" - } - }, - "button_destination" : { - "type" : "Text", - "config" : { - "label" : "Button Destination" - } + "button_title" : { + "type" : "Text", + "config" : { + "label" : "Button Title" + } + }, + "button_destination" : { + "type" : "Text", + "config" : { + "label" : "Button Destination" + } + } + }, + "Image Highlight Section" : { + "image_highlight_heading" : { + "type" : "Text", + "config" : { + "label" : "Image Highlight Heading" + } + }, + "image_highlight_group" : { + "type" : "Group", + "config" : { + "fields" : { + "highlighted_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Highlighted Image" + } + }, + "image_highlight_description" : { + "type" : "Text", + "config" : { + "label" : "Image Highlight Description" + } + } + }, + "label" : "Image Highlight Group" } }, "Image Highlight Section": { @@ -167,4 +202,5 @@ } } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/src/schemas/product_page.json b/src/schemas/product_page.json index fa68acf..8cdba23 100644 --- a/src/schemas/product_page.json +++ b/src/schemas/product_page.json @@ -1,92 +1,88 @@ { - "Main": {}, - "Featured Section": { - "product_page_main_heading": { - "type": "Text", - "config": { - "label": "Product Page Main Heading" + "Main" : { }, + "Featured Section" : { + "product_page_main_heading" : { + "type" : "Text", + "config" : { + "label" : "Product Page Main Heading" } }, - "featured_product_heading": { - "type": "Text", - "config": { - "label": "Featured Product Heading" + "featured_product_heading" : { + "type" : "Text", + "config" : { + "label" : "Featured Product Heading" } }, - "featured_product_name": { - "type": "Text", - "config": { - "label": "Featured Product Name" + "featured_product_name" : { + "type" : "Text", + "config" : { + "label" : "Featured Product Name" } }, - "featured_product_description": { - "type": "Text", - "config": { - "label": "Featured Product Description" + "featured_product_description" : { + "type" : "Text", + "config" : { + "label" : "Featured Product Description" } }, - "featured_product_image": { - "type": "Image", - "config": { - "constraint": {}, - "thumbnails": [], - "label": "Featured Product Image" + "featured_product_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Featured Product Image" } }, - "learn_more_button_text": { - "type": "Text", - "config": { - "label": "Learn More Button Text" + "learn_more_button_text" : { + "type" : "Text", + "config" : { + "label" : "Learn More Button Text" } }, - "learn_more_button_text_destination": { - "type": "Text", - "config": { - "label": "Learn More Button Text Destination" + "learn_more_button_text_destination" : { + "type" : "Text", + "config" : { + "label" : "Learn More Button Text Destination" } } }, - "Models Section": { - "model_scope": { - "type": "Group", - "config": { - "fields": { - "model_scope_heading": { - "type": "Text", - "config": { - "label": "Model Scope Heading" + "Models Section" : { + "model_scope" : { + "type" : "Group", + "config" : { + "fields" : { + "model_scope_heading" : { + "type" : "Text", + "config" : { + "label" : "Model Scope Heading" } } }, - "label": "Model Scope" + "label" : "Model Scope" } }, - "products": { - "type": "Group", - "config": { - "fields": { - "product": { - "type": "Link", - "config": { - "select": "document", - "customtypes": [ - "product_page" - ], - "label": "product" + "products" : { + "type" : "Group", + "config" : { + "fields" : { + "product" : { + "type" : "Link", + "config" : { + "select" : "document", + "customtypes" : [ "product" ], + "label" : "product" } } }, - "label": "Products" + "label" : "Products" } }, - "test": { - "type": "Link", - "config": { - "select": "document", - "customtypes": [ - "product" - ], - "label": "test" + "test" : { + "type" : "Link", + "config" : { + "select" : "document", + "customtypes" : [ "product" ], + "label" : "test" } } } diff --git a/src/schemas/use_case.json b/src/schemas/use_case.json index 6f534f9..2433881 100644 --- a/src/schemas/use_case.json +++ b/src/schemas/use_case.json @@ -1,126 +1,135 @@ { - "Main" : { - "uid" : { - "type" : "UID", - "config" : { - "label" : "uid" - } - }, - "preview_title" : { - "type" : "Text", - "config" : { - "label" : "Preview Title" - } - }, - "preview_description" : { - "type" : "Text", - "config" : { - "label" : "Preview Description" - } - }, - "preview_image" : { - "type" : "Image", - "config" : { - "constraint" : { }, - "thumbnails" : [ ], - "label" : "Preview Image" - } - }, - "learn_more_button_text" : { - "type" : "Text", - "config" : { - "label" : "Learn More Button Text" - } - }, - "learn_more_button_destination" : { - "type" : "Link", - "config" : { - "label" : "Learn More Button Destination" - } + "Main": { + "uid": { + "type": "UID", + "config": { + "label": "uid" } }, - "Overview" : { - "overview_heading" : { - "type" : "Text", - "config" : { - "label" : "Overview Heading" - } - }, - "overview_description" : { - "type" : "Text", - "config" : { - "label" : "Overview Description" - } - }, - "overview_image_one" : { - "type" : "Image", - "config" : { - "constraint" : { }, - "thumbnails" : [ ], - "label" : "Overview Image One" - } - }, - "overview_image_two" : { - "type" : "Image", - "config" : { - "constraint" : { }, - "thumbnails" : [ ], - "label" : "Overview Image Two" - } + "preview_title": { + "type": "Text", + "config": { + "label": "Preview Title" } }, - "Reasons" : { - "reasons_main_heading" : { - "type" : "Text", - "config" : { - "label" : "Reasons Main Heading" - } - }, - "specific_reason" : { - "type" : "Group", - "config" : { - "fields" : { - "specific_reason_heading" : { - "type" : "Text", - "config" : { - "label" : "Specific Reason Heading" - } - }, - "specific_reason_description" : { - "type" : "Text", - "config" : { - "label" : "Specific Reason Description" - } + "preview_description": { + "type": "Text", + "config": { + "label": "Preview Description" + } + }, + "preview_image": { + "type": "Image", + "config": { + "constraint": {}, + "thumbnails": [], + "label": "Preview Image" + } + }, + "learn_more_button_text": { + "type": "Text", + "config": { + "label": "Learn More Button Text" + } + }, + "learn_more_button_destination": { + "type": "Link", + "config": { + "label": "Learn More Button Destination" + } + } + }, + "Overview": { + "overview_heading": { + "type": "Text", + "config": { + "label": "Overview Heading" + } + }, + "overview_description": { + "type": "StructuredText", + "config": { + "multi": "paragraph", + "label": "Overview Description" + } + }, + "overview_image_one": { + "type": "Image", + "config": { + "constraint": {}, + "thumbnails": [], + "label": "Overview Image One" + } + }, + "overview_image_two": { + "type": "Image", + "config": { + "constraint": {}, + "thumbnails": [], + "label": "Overview Image Two" + } + } + }, + "Reasons": { + "reasons_main_heading": { + "type": "Text", + "config": { + "label": "Reasons Main Heading" + } + }, + "specific_reason": { + "type": "Group", + "config": { + "fields": { + "reason_image": { + "type": "Image", + "config": { + "constraint": {}, + "thumbnails": [], + "label": "Reason Image" } }, - "label" : "Specific Reason" - } - }, - "cta_button_text" : { - "type" : "Text", - "config" : { - "label" : "CTA Button Text" - } - }, - "cta_button_destination" : { - "type" : "Link", - "config" : { - "label" : "CTA Button Destination" - } + "specific_reason_heading": { + "type": "Text", + "config": { + "label": "Specific Reason Heading" + } + }, + "specific_reason_description": { + "type": "Text", + "config": { + "label": "Specific Reason Description" + } + } + }, + "label": "Specific Reason" + } + }, + "cta_button_text": { + "type": "Text", + "config": { + "label": "CTA Button Text" + } + }, + "cta_button_destination": { + "type": "Link", + "config": { + "label": "CTA Button Destination" + } + } + }, + "Demo": { + "demo_heading": { + "type": "Text", + "config": { + "label": "Demo Heading" } }, - "Demo" : { - "demo_heading" : { - "type" : "Text", - "config" : { - "label" : "Demo Heading" - } - }, - "demo_video" : { - "type" : "Embed", - "config" : { - "label" : "Demo Video" - } + "demo_video_url": { + "type": "Text", + "config": { + "label": "Demo Video Url" } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/src/schemas/use_cases_page.json b/src/schemas/use_cases_page.json index a6d4b67..5fb6513 100644 --- a/src/schemas/use_cases_page.json +++ b/src/schemas/use_cases_page.json @@ -1,55 +1,71 @@ { - "Main" : { }, - "Tagline" : { - "tagline_heading" : { - "type" : "Text", - "config" : { - "label" : "Tagline Heading" - } - }, - "tagline_description" : { - "type" : "Text", - "config" : { - "label" : "Tagline Description" - } - }, - "tagline_image" : { - "type" : "Image", - "config" : { - "constraint" : { }, - "thumbnails" : [ ], - "label" : "Tagline Image" - } + "Main" : { }, + "Tagline" : { + "tagline_heading" : { + "type" : "Text", + "config" : { + "label" : "Tagline Heading" } }, - "Use Cases" : { - "use_case" : { - "type" : "Link", - "config" : { - "select" : "document", - "customtypes" : [ "use_case" ], - "label" : "Use Case" - } + "tagline_description" : { + "type" : "Text", + "config" : { + "label" : "Tagline Description" } }, - "Call To Action" : { - "call_to_action_heading" : { - "type" : "Text", - "config" : { - "label" : "Call To Action Heading" - } - }, - "cta_button_text" : { - "type" : "Text", - "config" : { - "label" : "CTA Button Text" - } - }, - "cta_button_destination" : { - "type" : "Link", - "config" : { - "label" : "CTA Button Destination" - } + "tagline_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "Tagline Image" } } - } \ No newline at end of file + }, + "Use Cases" : { + "use_cases" : { + "type" : "Group", + "config" : { + "fields" : { + "use_case" : { + "type" : "Link", + "config" : { + "select" : "document", + "customtypes" : [ "use_case" ], + "label" : "Use Case" + } + } + }, + "label" : "Use Cases" + } + } + }, + "Call To Action" : { + "cta_image" : { + "type" : "Image", + "config" : { + "constraint" : { }, + "thumbnails" : [ ], + "label" : "CTA Image" + } + }, + "call_to_action_heading" : { + "type" : "Text", + "config" : { + "label" : "Call To Action Heading" + } + }, + "cta_button_text" : { + "type" : "Text", + "config" : { + "label" : "CTA Button Text" + } + }, + "cta_button_destination" : { + "type" : "Link", + "config" : { + "label" : "CTA Button Destination" + } + } + } +} \ No newline at end of file diff --git a/src/templates/product.js b/src/templates/product.js index e5f2af8..3060569 100644 --- a/src/templates/product.js +++ b/src/templates/product.js @@ -156,9 +156,6 @@ export const query = graphql` feature_title features { feature_name - feature_description { - text - } feature_image { url alt diff --git a/src/templates/use_case.js b/src/templates/use_case.js index 0d0a429..bf01c63 100644 --- a/src/templates/use_case.js +++ b/src/templates/use_case.js @@ -14,37 +14,41 @@ export const query = graphql` node { uid data { - preview_title - preview_image { - url + preview_title + preview_image { + url + } + specific_reason { + specific_reason_heading + specific_reason_description + reason_image { + url + } + } + reasons_main_heading + preview_description + overview_image_two { + url + } + overview_image_one { + url + } + overview_heading + overview_description { + text + raw + } + learn_more_button_text + learn_more_button_destination { + url + } + demo_video_url + demo_heading + cta_button_text + cta_button_destination { + url + } } - specific_reason { - specific_reason_heading - specific_reason_description - } - reasons_main_heading - preview_description - overview_image_two { - url - } - overview_image_one { - url - } - overview_heading - overview_description - learn_more_button_text - learn_more_button_destination { - url - } - demo_video { - url - } - demo_heading - cta_button_text - cta_button_destination { - url - } - } } } } diff --git a/src/vectors/circle.svg b/src/vectors/circle.svg new file mode 100644 index 0000000..feb8825 --- /dev/null +++ b/src/vectors/circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/vectors/holding-plant-icon.svg b/src/vectors/holding-plant-icon.svg new file mode 100644 index 0000000..34d7545 --- /dev/null +++ b/src/vectors/holding-plant-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/vectors/plant-icon.svg b/src/vectors/plant-icon.svg new file mode 100644 index 0000000..630d513 --- /dev/null +++ b/src/vectors/plant-icon.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/vectors/renewable-tree-icon.svg b/src/vectors/renewable-tree-icon.svg new file mode 100644 index 0000000..75ed21b --- /dev/null +++ b/src/vectors/renewable-tree-icon.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/vectors/solar-panel.svg b/src/vectors/solar-panel.svg new file mode 100644 index 0000000..f34794c --- /dev/null +++ b/src/vectors/solar-panel.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + +