diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 0000000..561c894 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,78 @@ +{ + "files": [ + "README.md" + ], + "imageSize": 100, + "commit": false, + "contributors": [ + { + "login": "impulse", + "name": "impulse", + "avatar_url": "https://avatars3.githubusercontent.com/u/8146736?v=4", + "profile": "http://impuls.dev", + "contributions": [ + "code" + ] + }, + { + "login": "gandreadis", + "name": "Georgios Andreadis", + "avatar_url": "https://avatars3.githubusercontent.com/u/5272244?v=4", + "profile": "https://gandreadis.com", + "contributions": [ + "code" + ] + }, + { + "login": "altruisticsoftware", + "name": "Chris", + "avatar_url": "https://avatars3.githubusercontent.com/u/12105346?v=4", + "profile": "https://github.com/altruisticsoftware", + "contributions": [ + "code" + ] + }, + { + "login": "dalwadani", + "name": "Dhaifallah Alwadani", + "avatar_url": "https://avatars1.githubusercontent.com/u/4618082?v=4", + "profile": "https://github.com/dalwadani", + "contributions": [ + "code" + ] + }, + { + "login": "nigelb135", + "name": "Nigel Ball", + "avatar_url": "https://avatars2.githubusercontent.com/u/815408?v=4", + "profile": "http://nigelball.org", + "contributions": [ + "ideas", + "code" + ] + }, + { + "login": "monte-hayward", + "name": "Monte Hayward", + "avatar_url": "https://avatars3.githubusercontent.com/u/3780422?v=4", + "profile": "https://github.com/monte-hayward", + "contributions": [ + "code" + ] + }, + { + "login": "lukebennett88", + "name": "Luke Bennett", + "avatar_url": "https://avatars0.githubusercontent.com/u/3422401?v=4", + "profile": "https://lukebennett.com.au", + "contributions": [ + "code" + ] + } + ], + "contributorsPerLine": 7, + "projectName": "gatsby-starter-tailwind", + "projectOwner": "taylorbryant", + "repoType": "github", + "repoHost": "https://github.com" +} diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..6d2b19f --- /dev/null +++ b/.eslintrc @@ -0,0 +1,3 @@ +{ + "extends": ["wesbos"] +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a62efdd --- /dev/null +++ b/.gitignore @@ -0,0 +1,73 @@ +# Based on gatsby-starter-default's .gitignore +# https://github.com/gatsbyjs/gatsby-starter-default/blob/master/.gitignore + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# dotenv environment variable files +.env* + +# gatsby files +.cache/ +public + +# Mac files +.DS_Store + +# Yarn +yarn-error.log +.pnp/ +.pnp.js + +# Yarn Integrity file +.yarn-integrity \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..557dcfd --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +.cache +package.json +package-lock.json +public \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/box-logo-1.svg b/.wordpress-cache/wp-content/uploads/2021/01/box-logo-1.svg new file mode 100644 index 0000000..201ac22 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/box-logo-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/charlie-larkman-fbG0QTZasKg-unsplash-scaled.jpg b/.wordpress-cache/wp-content/uploads/2021/01/charlie-larkman-fbG0QTZasKg-unsplash-scaled.jpg new file mode 100644 index 0000000..46fcb59 Binary files /dev/null and b/.wordpress-cache/wp-content/uploads/2021/01/charlie-larkman-fbG0QTZasKg-unsplash-scaled.jpg differ diff --git a/.wordpress-cache/wp-content/uploads/2021/01/check-green.svg b/.wordpress-cache/wp-content/uploads/2021/01/check-green.svg new file mode 100644 index 0000000..b32bf42 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/check-green.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/check.svg b/.wordpress-cache/wp-content/uploads/2021/01/check.svg new file mode 100644 index 0000000..00c1fae --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/check2.svg b/.wordpress-cache/wp-content/uploads/2021/01/check2.svg new file mode 100644 index 0000000..ade89c6 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/check2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/connor-wilkins-qbqFnJvrwSM-unsplash-scaled.jpg b/.wordpress-cache/wp-content/uploads/2021/01/connor-wilkins-qbqFnJvrwSM-unsplash-scaled.jpg new file mode 100644 index 0000000..c7fd6c5 Binary files /dev/null and b/.wordpress-cache/wp-content/uploads/2021/01/connor-wilkins-qbqFnJvrwSM-unsplash-scaled.jpg differ diff --git a/.wordpress-cache/wp-content/uploads/2021/01/gatsby-plugin-wpgraphql-seo-main.zip b/.wordpress-cache/wp-content/uploads/2021/01/gatsby-plugin-wpgraphql-seo-main.zip new file mode 100644 index 0000000..b0bf931 Binary files /dev/null and b/.wordpress-cache/wp-content/uploads/2021/01/gatsby-plugin-wpgraphql-seo-main.zip differ diff --git a/.wordpress-cache/wp-content/uploads/2021/01/goh-rhy-yan-f_SDCASisgs-unsplash-scaled.jpg b/.wordpress-cache/wp-content/uploads/2021/01/goh-rhy-yan-f_SDCASisgs-unsplash-scaled.jpg new file mode 100644 index 0000000..fb46e9c Binary files /dev/null and b/.wordpress-cache/wp-content/uploads/2021/01/goh-rhy-yan-f_SDCASisgs-unsplash-scaled.jpg differ diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-10.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-10.svg new file mode 100644 index 0000000..ac85176 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-11.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-11.svg new file mode 100644 index 0000000..6df043e --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-2.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-2.svg new file mode 100644 index 0000000..1451182 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-4.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-4.svg new file mode 100644 index 0000000..2a07576 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-5.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-5.svg new file mode 100644 index 0000000..b76ab77 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-6.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-6.svg new file mode 100644 index 0000000..c2e861a --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-7.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-7.svg new file mode 100644 index 0000000..590c83c --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-8.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-8.svg new file mode 100644 index 0000000..d697826 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/image-9.svg b/.wordpress-cache/wp-content/uploads/2021/01/image-9.svg new file mode 100644 index 0000000..d6865e8 --- /dev/null +++ b/.wordpress-cache/wp-content/uploads/2021/01/image-9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.wordpress-cache/wp-content/uploads/2021/01/jonathan-cooper-YuUjJUBk6pY-unsplash-scaled.jpg b/.wordpress-cache/wp-content/uploads/2021/01/jonathan-cooper-YuUjJUBk6pY-unsplash-scaled.jpg new file mode 100644 index 0000000..0379bf8 Binary files /dev/null and b/.wordpress-cache/wp-content/uploads/2021/01/jonathan-cooper-YuUjJUBk6pY-unsplash-scaled.jpg differ diff --git a/.wordpress-cache/wp-content/uploads/2021/01/sergio-de-paula-c_GmwfHBDzk-unsplash-scaled.jpg b/.wordpress-cache/wp-content/uploads/2021/01/sergio-de-paula-c_GmwfHBDzk-unsplash-scaled.jpg new file mode 100644 index 0000000..4802ca1 Binary files /dev/null and b/.wordpress-cache/wp-content/uploads/2021/01/sergio-de-paula-c_GmwfHBDzk-unsplash-scaled.jpg differ diff --git a/.wordpress-cache/wp-content/uploads/2021/01/tintedlambo.jpg b/.wordpress-cache/wp-content/uploads/2021/01/tintedlambo.jpg new file mode 100644 index 0000000..bdbf292 Binary files /dev/null and b/.wordpress-cache/wp-content/uploads/2021/01/tintedlambo.jpg differ diff --git a/.wordpress-cache/wp-content/uploads/2021/01/toni-zaat-T8EuwT8ZEnI-unsplash-scaled.jpg b/.wordpress-cache/wp-content/uploads/2021/01/toni-zaat-T8EuwT8ZEnI-unsplash-scaled.jpg new file mode 100644 index 0000000..0a5244b Binary files /dev/null and b/.wordpress-cache/wp-content/uploads/2021/01/toni-zaat-T8EuwT8ZEnI-unsplash-scaled.jpg differ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ab62592 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,9 @@ +## Contributing + +Hey, there! 👋 Any and all contributions are welcome. + +To lend a helping hand: + +- [Fork the repository](https://help.github.com/articles/fork-a-repo/) +- Make your desired changes +- [Create a pull request](https://help.github.com/articles/creating-a-pull-request/) diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..599ff1a --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2020 Taylor Bryant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..ca172b7 --- /dev/null +++ b/README.md @@ -0,0 +1,108 @@ +# Gatsby Starter Tailwind + +[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors) + +
+ Gatsby and Tailwind CSS logos +
+ +
+ A Gatsby starter styled using Tailwind CSS, a utility-first CSS framework.
+ Uses Tailwind CSS' built-in purge option to remove unused CSS.
+ Illustrations by unDraw. +
+
+
+ +![alt text](https://i.ibb.co/McWdstP/localhost-8000-contact-i-Pad-Pro-1.png "Screenshot of Gatsby Starter Tailwind homepage") + +

View demo here.

+ +## What is Tailwind CSS? + +> "Tailwind CSS is a utility-first CSS framework for rapidly building custom user interfaces." +> –[Tailwind CSS](https://tailwindcss.com) + +## What is Gatsby? + +> "Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps." -[Gatsby](https://www.gatsbyjs.org/) + +## Get started + +Install the Gatsby CLI: + +```sh +npm install --global gatsby-cli +``` + +Create a new Gatsby project using this starter: + +```sh +gatsby new my-new-website https://github.com/taylorbryant/gatsby-starter-tailwind +``` + +Build a stylesheet from your Tailwind CSS config and run the project in development mode: + +```sh +cd my-new-website +npm run develop +``` + +## Format and lint + +- `npm run analyze` - See what ESLint and Prettier can fix +- `npm run fix` - Run Prettier and ESLint with the `--fix` option + +## Build your site + +Use `npm run build` to build your site for production. + +## Deployment + +### Netlify + +[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/taylorbryant/gatsby-starter-tailwind) + +### Vercel + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/git?s=https%3A%2F%2Fgithub.com%2Ftaylorbryant%2Fgatsby-starter-tailwind%2Ftree%2Fmaster) + +## Resources + +- [Gatsby documentation](https://www.gatsbyjs.org/docs/) +- [Tailwind documentation](https://tailwindcss.com/docs/what-is-tailwind/) +- [Prettier documentation](https://prettier.io/docs/en/index.html) +- [ESLint documentation](https://eslint.org/docs/user-guide/configuring) + +## License + +[MIT](https://github.com/taylorbryant/gatsby-starter-tailwind/blob/master/LICENSE.md) + +## How you can help + +Enjoying Gatsby Starter Tailwind and want to help? You can: + +- [Create an issue](https://github.com/taylorbryant/gatsby-starter-tailwind/issues/new) with some constructive criticism +- [Submit a pull request](https://github.com/taylorbryant/gatsby-starter-tailwind/compare) with some improvements to the project + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + +
impulse
impulse

💻
Georgios Andreadis
Georgios Andreadis

💻
Chris
Chris

💻
Dhaifallah Alwadani
Dhaifallah Alwadani

💻
Nigel Ball
Nigel Ball

🤔 💻
Monte Hayward
Monte Hayward

💻
Luke Bennett
Luke Bennett

💻
+ + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/gatsby-browser.js b/gatsby-browser.js new file mode 100644 index 0000000..b11981a --- /dev/null +++ b/gatsby-browser.js @@ -0,0 +1 @@ +import './src/styles/tailwind.css'; diff --git a/gatsby-config.js b/gatsby-config.js new file mode 100644 index 0000000..8f8bef0 --- /dev/null +++ b/gatsby-config.js @@ -0,0 +1,59 @@ +require('dotenv').config(); + +const resolveConfig = require('tailwindcss/resolveConfig'); + +const tailwindConfig = require('./tailwind.config.js'); + +const fullConfig = resolveConfig(tailwindConfig); +module.exports = { + siteMetadata: { + title: `The Tint Bros`, + description: `Car tinting company in Aurora, Colorado. We specialize in carbon and ceramic tinting.`, + author: `Idris Akbar`, + }, + plugins: [ + `gatsby-plugin-eslint`, + `gatsby-plugin-react-helmet`, + `gatsby-plugin-sharp`, + `gatsby-transformer-sharp`, + { + resolve: `gatsby-source-wordpress-experimental`, + options: { + // allows a fallback url if WPGRAPHQL_URL is not set in the env, this may be a local or remote WP instance. + url: + process.env.GATSBY_WPGRAPHQL_URL || + `http://the-tint-bros.local/graphql`, + schema: { + // Prefixes all WP Types with "Wp" so "Post and allPost" become "WpPost and allWpPost". + typePrefix: `Wp`, + }, + develop: { + // caches media files outside of Gatsby's default cache an thus allows them to persist through a cache reset. + hardCacheMediaFiles: true, + }, + type: { + Post: { + limit: + process.env.NODE_ENV === `development` // Lets just pull 50 posts in development to make it easy on ourselves (aka. faster). + ? 50 // and we don't actually need more than 5000 in production for this particular site + : 5000, + }, + }, + }, + }, + { + resolve: `gatsby-plugin-manifest`, + options: { + name: `Tint Bros`, + short_name: `starter`, + start_url: `/`, + background_color: fullConfig.theme.colors.white, + theme_color: fullConfig.theme.colors.green['500'], + display: `minimal-ui`, + icon: `src/images/tailwind-icon.png`, + }, + }, + `gatsby-plugin-offline`, + 'gatsby-plugin-postcss', + ], +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..733d615 --- /dev/null +++ b/package.json @@ -0,0 +1,75 @@ +{ + "name": "gatsby-starter-tailwind", + "description": "Gatsby starter styled with Tailwind", + "version": "5.0.0", + "author": "Taylor Bryant ", + "dependencies": { + "@tailwindcss/aspect-ratio": "^0.2.0", + "@tailwindcss/forms": "^0.2.1", + "dotenv": "^8.2.0", + "gatsby": "2.25.1", + "gatsby-image": "^2.10.0", + "gatsby-plugin-manifest": "2.8.0", + "gatsby-plugin-offline": "3.7.1", + "gatsby-plugin-postcss": "^3.5.0", + "gatsby-plugin-react-helmet": "3.7.0", + "gatsby-plugin-sharp": "^2.13.3", + "gatsby-plugin-wpgraphql-seo": "^1.1.2", + "gatsby-source-google-reviews": "^0.0.7", + "gatsby-source-graphql": "^2.12.0", + "gatsby-source-wordpress-experimental": "^6.2.0", + "gatsby-transformer-sharp": "^2.11.0", + "prop-types": "^15.7.2", + "react": "17.0.1", + "react-calendly": "^1.3.0", + "react-dom": "17.0.1", + "react-helmet": "6.1.0", + "react-scroll": "^1.8.1", + "tailwindcss": "^2.0.2", + "uuid": "^8.3.2" + }, + "keywords": [ + "gatsby", + "tailwind", + "tailwindcss", + "purgecss" + ], + "license": "MIT", + "scripts": { + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "build": "gatsby build", + "develop": "gatsby develop", + "dev": "npm run develop", + "start": "npm run develop", + "serve": "gatsby serve", + "clean": "gatsby clean", + "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" + }, + "devDependencies": { + "autoprefixer": "10.1.0", + "babel-eslint": "10.1.0", + "cssnano": "4.1.10", + "eslint": "7.8.1", + "eslint-config-airbnb": "18.2.0", + "eslint-config-prettier": "6.11.0", + "eslint-config-wesbos": "1.0.1", + "eslint-loader": "4.0.2", + "eslint-plugin-html": "6.1.0", + "eslint-plugin-import": "2.22.0", + "eslint-plugin-jsx-a11y": "6.3.1", + "eslint-plugin-prettier": "3.1.4", + "eslint-plugin-react": "7.20.6", + "eslint-plugin-react-hooks": "4.1.2", + "gatsby-plugin-eslint": "2.0.8", + "postcss": "^8.2.4", + "prettier": "2.1.1" + }, + "repository": { + "type": "git", + "url": "https://github.com/taylorbryant/gatsby-starter-tailwind" + }, + "bugs": { + "url": "https://github.com/taylorbryant/gatsby-starter-tailwind/issues" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..3ea9307 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [require('tailwindcss'), require('autoprefixer')], +}; diff --git a/src/components/about.js b/src/components/about.js new file mode 100644 index 0000000..41c87cd --- /dev/null +++ b/src/components/about.js @@ -0,0 +1,68 @@ +import React from 'react'; +import { graphql, useStaticQuery } from 'gatsby'; +import Img from 'gatsby-image'; + +const About = () => { + const data = useStaticQuery(graphql` + query { + wpPage { + sections { + about { + to + description + image { + altText + localFile { + childImageSharp { + fluid { + ...GatsbyImageSharpFluid + } + } + } + } + } + } + } + } + `); + + const { to, description, image } = data.wpPage.sections.about; + return ( +
+
+
+
+
+ +
+
+
+
+

+ {description} +

+
+
+
+
+
+
+
+
+ ); +}; + +export default About; diff --git a/src/components/call-to-action.js b/src/components/call-to-action.js new file mode 100644 index 0000000..12976ca --- /dev/null +++ b/src/components/call-to-action.js @@ -0,0 +1,82 @@ +import React from 'react'; +import { graphql, useStaticQuery } from 'gatsby'; +import Img from 'gatsby-image'; +import { Link as LinkScroll } from 'react-scroll'; + +const CallToAction = () => { + const data = useStaticQuery(graphql` + query { + wpPage { + sections { + callToAction { + headline { + titleOne + titleTwo + } + subheadline + ctaButton + image { + altText + localFile { + childImageSharp { + fluid { + ...GatsbyImageSharpFluid + } + } + } + } + } + } + } + } + `); + + const { + headline, + subheadline, + ctaButton, + image, + } = data.wpPage.sections.callToAction; + return ( +
+