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 && } onClick={onClose}>}
{
style={{ height: '100px' }}
/>
-
+
@@ -187,6 +198,7 @@ const ContactForm = () => {
reach out soon.
+ {onClose && }
)}
diff --git a/src/components/DownHex.js b/src/components/DownHex.js
index 4a817664f6dcb0f6a0daaaae278d1f1dc6e73d0e..b3d768c43328f8c79bbb340a6b95a289673e8b3e 100644
--- a/src/components/DownHex.js
+++ b/src/components/DownHex.js
@@ -30,9 +30,9 @@ const DownHex = () => (
}}
/>
diff --git a/src/components/FeedbackFooter.js b/src/components/FeedbackFooter.js
index e78505c41ea222a80a9377267842abf243e041db..d477b6886a8ac45dbf2404f111bb039d8a6e9ae5 100644
--- a/src/components/FeedbackFooter.js
+++ b/src/components/FeedbackFooter.js
@@ -27,7 +27,7 @@ const FeedbackFooter = () => {
gap="medium"
>
- We could use your feedback!
+ We could use your help!
Send us feedback on this website or, better,
@@ -38,7 +38,7 @@ const FeedbackFooter = () => {
diff --git a/src/components/FeedbackForm.js b/src/components/FeedbackForm.js
index f582664cb1aaf028cda2b73f8d628a6501e46198..bf7ac7f0dce8018fb658824f90e9cceb0c2ffad5 100644
--- a/src/components/FeedbackForm.js
+++ b/src/components/FeedbackForm.js
@@ -13,13 +13,13 @@ import {
ThemeContext,
} from 'grommet';
import { Close } from 'grommet-icons';
-import { PrimaryButton } from './core';
+import { PrimaryButton, SecondaryButton } from './core';
const korolevFont = 'korolev, Helvetica Neue, Helvetica, Arial, sans-serif';
const FeedbackForm = ({ onClose }) => {
const [submitting, setSubmitting] = useState();
- const [success, setSuccess] = useState();
+ const [success, setSuccess] = useState(true);
const handleSubmit = (event) => {
const data = new FormData(event.target);
@@ -90,7 +90,7 @@ const FeedbackForm = ({ onClose }) => {
value="volunteer"
label={
-
+
Join our Customer Advisory Panel
@@ -177,16 +177,16 @@ const FeedbackForm = ({ onClose }) => {
)}
{success && (
-
+
FEEDBACK SENT
Thanks for sharing with us.
-
+
)}
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 }) => {
>
{
{
(
-
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}`}
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+ );
+ }}
+
);
};