diff --git a/gatsby-config.js b/gatsby-config.js index 07916be3ca383d0d8fc25cc21ac1b2f66905e05f..818b657d1e24889428d9e8e585d3548084165757 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -45,7 +45,7 @@ module.exports = { icon: `src/images/favicon@2x.png`, // This path is relative to the root of the site. }, }, - `gatsby-plugin-gatsby-cloud`, + `gatsby-plugin-force-trailing-slashes`, // this (optional) plugin enables Progressive Web App + Offline functionality // To learn more, visit: https://gatsby.dev/offline // `gatsby-plugin-offline`, diff --git a/package-lock.json b/package-lock.json index 54eedbaeb0c76d07b8afa7e0a08054239578c0e4..6eeaeba87f94d2e5cbbbb814225f3cccb8fc52de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "afeit-site", + "name": "afdigital-site", "version": "0.1.0", "lockfileVersion": 1, "requires": true, @@ -8555,6 +8555,24 @@ "micromatch": "^4.0.2" } }, + "gatsby-plugin-force-trailing-slashes": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/gatsby-plugin-force-trailing-slashes/-/gatsby-plugin-force-trailing-slashes-1.0.5.tgz", + "integrity": "sha512-RxRdW++bvSHv4Mho999W0LLNdiQX1OMOvY0v1TlafcaYqJ93fYV/Jp3DDD6PKS0PAKNS8Q8DRsD67cipFmZCFA==", + "requires": { + "@babel/runtime": "7.12.5" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, "gatsby-plugin-gatsby-cloud": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/gatsby-plugin-gatsby-cloud/-/gatsby-plugin-gatsby-cloud-1.0.2.tgz", diff --git a/package.json b/package.json index 52263f0f6d9a5f3c4e0ffd950e4391ef79e6f2a5..0e3bcc35a40557b704d6847c05b979145a067da1 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "dependencies": { "gatsby": "^2.32.8", "gatsby-image": "^2.11.0", + "gatsby-plugin-force-trailing-slashes": "^1.0.5", "gatsby-plugin-gatsby-cloud": "^1.0.2", "gatsby-plugin-manifest": "^2.12.1", "gatsby-plugin-offline": "^3.10.2", diff --git a/src/components/ContactForm.js b/src/components/ContactForm.js index 51f21b1850f0840fc85ee636ec774d914118ce83..8a54f5121b690843c0b95f6b200876d36d591229 100644 --- a/src/components/ContactForm.js +++ b/src/components/ContactForm.js @@ -8,12 +8,15 @@ import { TextInput, TextArea, Spinner, + Button, } from 'grommet'; +import { Close } from 'grommet-icons'; + import { PrimaryButton } from './core'; const korolevFont = 'korolev, Helvetica Neue, Helvetica, Arial, sans-serif'; -const ContactForm = () => { +const ContactForm = ({ onClose }) => { const [submitting, setSubmitting] = useState(); const [success, setSuccess] = useState(); @@ -35,7 +38,13 @@ const ContactForm = () => { return ( - + { > REQUEST A CONSULTATION + {onClose && } { style={{ height: '100px' }} /> - + @@ -187,6 +198,7 @@ const ContactForm = () => {
reach out soon. + {onClose && +
)}
diff --git a/src/components/app/Header.js b/src/components/app/Header.js index acd12662ca8e331a88f3d26c80108ab612fee033..a6bc706c56f739565ad7927a4222ef3051802afd 100644 --- a/src/components/app/Header.js +++ b/src/components/app/Header.js @@ -21,7 +21,7 @@ const StyledHeader = styled(GHeader)` right: 0; background: ${(props) => props.transparent && !props.sticky - ? 'linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0))' + ? 'linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))' : 'black'}; display: flex; height: ${(props) => diff --git a/src/components/app/Nav.js b/src/components/app/Nav.js index b8c7dfac3fd2c8aa8153437d13587392c88d8693..ea4ee82f95b631b01ed89b1937879c66c551987d 100644 --- a/src/components/app/Nav.js +++ b/src/components/app/Nav.js @@ -43,7 +43,7 @@ const Nav = ({ sticky }) => { > { { ( - + ); export default SecondaryButton; diff --git a/src/components/hero/Hero.js b/src/components/hero/Hero.js index 40e4b3d3131610e4f1e7f442733d615bd8b4b35d..b129e8c51770a851ea3b5aa7e4ea4d0946a7883a 100644 --- a/src/components/hero/Hero.js +++ b/src/components/hero/Hero.js @@ -104,7 +104,7 @@ const Slide = ({ title, subtitle, core, cta, slug, logo }) => { {cta && ( - + )} diff --git a/src/components/hero/ServiceHero.js b/src/components/hero/ServiceHero.js index 3b7d698d9955fa8dd2b6bfdd2bcf9f2f11107017..cb34e021ea8a8372a211b34972443a11276fcc9d 100644 --- a/src/components/hero/ServiceHero.js +++ b/src/components/hero/ServiceHero.js @@ -5,15 +5,12 @@ import { Container, Column } from '../layout'; import DownHex from '../DownHex'; import theme from '../../styles/theme'; -const addDivider = (arr, divider) => - [].concat(...arr.map((n) => [n, divider])).slice(0, -1); - const ServiceHero = ({ title, subtitle, pretitle, categories, imageFluid }) => { const size = useContext(ResponsiveContext); const isMobile = ['xsmall', 'small'].includes(size); - const catWithDivider = categories && addDivider(categories, '|'); + const catWithDivider = categories && categories.join(' | '); // addDivider(categories, '|'); return ( { )} @@ -50,11 +47,15 @@ const ServiceHero = ({ title, subtitle, pretitle, categories, imageFluid }) => { {subtitle} )} - {catWithDivider?.map((t, i) => ( - - {t} + {catWithDivider && ( + + {catWithDivider} - ))} + )}
diff --git a/src/components/mega-menu/MegaMenu.js b/src/components/mega-menu/MegaMenu.js index 506bcf809e2ec2f397a7a5f8344b69607373128d..1ae434e5c0673e5ec3bed9172006740b146e864f 100644 --- a/src/components/mega-menu/MegaMenu.js +++ b/src/components/mega-menu/MegaMenu.js @@ -97,21 +97,17 @@ const MegaMenu = ({ sticky }) => { title="Global Connectivity / WAN" category="Global Connectivity / WAN" /> +
+ - - - diff --git a/src/components/pages/home/OfferAccordion.js b/src/components/pages/home/OfferAccordion.js index 6c6fd6cc6a4e19c2db15e0ff091e527bcd786418..680b0c321c88f26737e1220e0cce88a1e9481967 100644 --- a/src/components/pages/home/OfferAccordion.js +++ b/src/components/pages/home/OfferAccordion.js @@ -79,21 +79,17 @@ const OfferAcc = () => { title="Global Connectivity / WAN" category="Global Connectivity / WAN" /> + + - - - diff --git a/src/components/pages/home/Solutions.js b/src/components/pages/home/Solutions.js index f0ae8f7d14640a63f73d9548ec798054e0cc93b0..1a31f3f4d5db8293f3fe7df87efe49362b09d40d 100644 --- a/src/components/pages/home/Solutions.js +++ b/src/components/pages/home/Solutions.js @@ -104,7 +104,7 @@ const Solutions = () => { - + ); diff --git a/src/components/pages/home/Steps.js b/src/components/pages/home/Steps.js index 9f961604fa0c72f29bff6cf621421883f4396e45..a199c85cc10bcf8664fb392d38f8bd9165322b95 100644 --- a/src/components/pages/home/Steps.js +++ b/src/components/pages/home/Steps.js @@ -3,46 +3,60 @@ import { Box, Text, ResponsiveContext } from 'grommet'; import { DtHex } from '../../icons'; const Step = ({ number, isMobile, children }) => ( - + + {/* TODO: Add this line */} + - - {number} - - - + + + {number} + + + + + {children} - {children} ); diff --git a/src/content/other-programs/eitaas.md b/src/content/other-programs/eitaas.md index a9b86425c55096cfde2c4d047568157ea7f90574..7f880ce35637488da85ae2dd82a45d81ef777225 100644 --- a/src/content/other-programs/eitaas.md +++ b/src/content/other-programs/eitaas.md @@ -2,9 +2,10 @@ name: EITaaS index: 1 --- -### EITaaS +## EITaaS + +#### Cloud Compute & Store -**Cloud Compute & Store** Compute & Store (C&S) provides secure access to cloud computing services, improving responsiveness to warfighter needs with faster access to systems and data for a more reliable, secure, consistent access to systems, data and just in time capacity for storage. **End-User Devices** diff --git a/src/content/service-category/networking-connectivity.md b/src/content/service-category/networking-connectivity.md index d0273dd773195486bf7454bcdd32f06911ef864c..43224296d52bf55ec0a1a81077e2b54c4f49fba0 100644 --- a/src/content/service-category/networking-connectivity.md +++ b/src/content/service-category/networking-connectivity.md @@ -6,7 +6,6 @@ categories: - Local Connectivity / BAN - Cloud Access - Reference Architectures - - Virtual Private Connections image: '../../images/cat-header.png' share: '../../images/share/ogimage-networking_and_connectivity.png' icon: DtNetConn diff --git a/src/content/service-detail/seitaas-remote-connect.md b/src/content/service-detail/seitaas-remote-connect.md deleted file mode 100644 index 0604b12e9df2196e9b490c67ecf8b263966cd404..0000000000000000000000000000000000000000 --- a/src/content/service-detail/seitaas-remote-connect.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -slug: '/services/seitaas-remote-connect' -title: 'SEITaaS Remote Connect' -categories: - - Networking & Connectivity - - Virtual Private Connections -levels: - - S-SAR - - S-SCI - - TS-SAR - - TS-SCI -excerpt: 'SEITaaS will enable enterprise capabilities to be provided as a service to users accessing thin client, zero client, or connected self sustained performer LANs.' -share: '../../images/share/ogimage-networking_and_connectivity.png' -updated: April 6 ---- - -SEITaaS will enable enterprise capabilities to be provided as a service to users accessing thin client, zero client, or connected self sustained performer LANs. - -SEITaaS/Summit endpoints will be available to meet differing end-user needs. The network will offer thin client or zero client to users for a small form factor to support a network-agnostic solution. Additionally, Summit enterprise services, including MLS applications and cybersecurity services, will be made available to some user-maintained networks that will be designated as performer LANs. These LANs would be connected to and consume services from SEITaaS/Summit until they can be transitioned over to SEITaaS/Summit-managed endpoints. \ No newline at end of file diff --git a/src/data/hero/4_summit.yaml b/src/data/hero/4_summit.yaml index 9243045634d5113bf75033476e2536af911aed48..fb09f8d6add8bcdea1261407e93c15caf3d051f3 100644 --- a/src/data/hero/4_summit.yaml +++ b/src/data/hero/4_summit.yaml @@ -3,7 +3,7 @@ title: Summit subtitle: SAP network-as-a-service core: true cta: Learn More -slug: '/services/summit' +slug: '/services/seitaas-summit' image: '../../images/hero/5-hero-summit.png' thumb: '../../images/hero/thumb-summit.png' thumblogo: '../../images/hero/logo-summit.png' diff --git a/src/pages/other-programs.js b/src/pages/other-programs.js index e0e2e42480f618aa086e9c8a61f4d947e955b738..5524b0564a77f36327cd151985668082f89710b6 100644 --- a/src/pages/other-programs.js +++ b/src/pages/other-programs.js @@ -65,7 +65,7 @@ const OtherPrograms = ({ data }) => { imageFluid={imageFluid} /> - + diff --git a/src/pages/solutions.js b/src/pages/solutions.js index b48e8d53c9e13ec61d7b77992dc9db3567eb909e..e214d05d2de0e7dddfd24a412881b881bac4bea1 100644 --- a/src/pages/solutions.js +++ b/src/pages/solutions.js @@ -1,16 +1,23 @@ -import React from 'react'; +import React, { useState } from 'react'; import { graphql } from 'gatsby'; -import { Box, Heading, Text, Button, ResponsiveContext } from 'grommet'; +import { Box, Heading, Text, ResponsiveContext, Layer } from 'grommet'; import { AppLayout, SEO } from '../components/app'; import { Container, Column } from '../components/layout'; import { ServiceHero } from '../components/hero'; import { DtSquare } from '../components/icons'; -import { CtaLink } from '../components/core'; +import { CtaLink, SecondaryButton } from '../components/core'; +import ContactForm from '../components/ContactForm'; const Solutions = ({ data }) => { const imageFluid = data.allFile.edges[0].node.childImageSharp.fluid; const solutionPages = data.allMarkdownRemark.edges; + const [modalOpen, setModalOpen] = useState(); + + const handleModalToggle = () => { + setModalOpen(!modalOpen); + }; + return ( { @@ -66,11 +73,19 @@ const Solutions = ({ data }) => { Got a different need? - + + {modalOpen && ( + + + + )} )} diff --git a/src/templates/ServiceDetail.js b/src/templates/ServiceDetail.js index d76482d176045892cc63bcc324e6b6b2b49767dc..88c9e3c8b7ec70ad74641f70bc099aa256588ed6 100644 --- a/src/templates/ServiceDetail.js +++ b/src/templates/ServiceDetail.js @@ -1,4 +1,4 @@ -import React, { useContext } from 'react'; +import React from 'react'; import { graphql } from 'gatsby'; import { Box, Heading, ResponsiveContext } from 'grommet'; import { AppLayout, SEO } from '../components/app'; @@ -34,17 +34,17 @@ const ServiceDetailTemplate = ({ data }) => { {(size) => { const breakLayout = ['xsmall', 'small', 'medium'].includes(size); - const formBoxProps = { - basis: '460px', - flex: { shrink: 0 }, - }; return ( - - Overview - - + + + Overview + {rawMarkdownBody} diff --git a/src/templates/SolutionDetail.js b/src/templates/SolutionDetail.js index ea5beff293b1ba13e75290a3f7e9aa5780df816a..7d0fb9a3780913932590bbf8e79cf004b9e22a88 100644 --- a/src/templates/SolutionDetail.js +++ b/src/templates/SolutionDetail.js @@ -1,6 +1,6 @@ import React from 'react'; import { graphql } from 'gatsby'; -import { Box, Text } from 'grommet'; +import { Box, Text, ResponsiveContext } from 'grommet'; import { AppLayout, SEO } from '../components/app'; import { Container, Column } from '../components/layout'; import { ServiceHero } from '../components/hero'; @@ -32,24 +32,38 @@ const SolutionDetailTemplate = ({ data }) => { subtitle={frontmatter.useCase} imageFluid={images[0].node.childImageSharp.fluid} /> - - - - - - - - {`The following C3I&N services could be used together to help ${frontmatter.useCase}`} + + {(size) => { + const breakLayout = ['xsmall', 'small', 'medium'].includes(size); + return ( + + + + + + + + {`The following C3I&N services could be used together to help ${frontmatter.useCase}`} + + + + + + + - - - - - - - - - + + + ); + }} + ); };