mirror of
https://github.com/DOI-DO/j40-cejst-2.git
synced 2025-08-03 09:44:18 -07:00
Add dropdown to navigation links
- add download page - move main pages tests to their own folder - add download and public eng snapshot test - remove public engagement button on each page - swap index with cejst - update cypress ENDPOINTS - upate gatsby-config sitemap - update snapshots - cypress tests are failing
This commit is contained in:
parent
69edbe520e
commit
32f2609dde
29 changed files with 2700 additions and 421 deletions
|
@ -2,15 +2,18 @@ Feature: The About page will open from all other pages
|
||||||
|
|
||||||
Scenario: About page open when navigating from Methodology page
|
Scenario: About page open when navigating from Methodology page
|
||||||
Given I am on the "Methodology" page
|
Given I am on the "Methodology" page
|
||||||
|
When I click on the "About" dropdown in the navigation
|
||||||
When I click on the "About" page in the navigation
|
When I click on the "About" page in the navigation
|
||||||
Then I see "About" in the title
|
Then I see "About" in the title
|
||||||
|
|
||||||
Scenario: About page open when navigating from Explore the Tool page
|
Scenario: About page open when navigating from Explore the Tool page
|
||||||
Given I am on the "Explore the tool" page
|
Given I am on the "Explore the tool" page
|
||||||
|
When I click on the "About" dropdown in the navigation
|
||||||
When I click on the "About" page in the navigation
|
When I click on the "About" page in the navigation
|
||||||
Then I see "About" in the title
|
Then I see "About" in the title
|
||||||
|
|
||||||
Scenario: About page open when navigating from Contact page
|
Scenario: About page open when navigating from Contact page
|
||||||
Given I am on the "Contact" page
|
Given I am on the "Contact" page
|
||||||
|
When I click on the "About" dropdown in the navigation
|
||||||
When I click on the "About" page in the navigation
|
When I click on the "About" page in the navigation
|
||||||
Then I see "About" in the title
|
Then I see "About" in the title
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
export const ENDPOINTS = {
|
export const ENDPOINTS = {
|
||||||
ABOUT: 'en/',
|
EXPLORE_THE_TOOL: 'en/',
|
||||||
EXPLORE_THE_TOOL: '/en/cejst',
|
ABOUT: '/en/about',
|
||||||
METHODOLOGY: '/en/methodology',
|
METHODOLOGY: '/en/methodology',
|
||||||
CONTACT: 'en/contact',
|
CONTACT: 'en/contact',
|
||||||
PUBLIC: 'en/public-engagement',
|
PUBLIC: 'en/public-engagement',
|
||||||
|
DOWNLOAD: 'en/downloads',
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
// / <reference types="Cypress" />
|
// / <reference types="Cypress" />
|
||||||
|
|
||||||
describe('Does the Census Block Group packet download?', () => {
|
// describe('Does the Census Block Group packet download?', () => {
|
||||||
const filename = `Screening_Tool_Data.zip`;
|
// const filename = `Screening_Tool_Data.zip`;
|
||||||
it('validate file download', () => {
|
// it('validate file download', () => {
|
||||||
cy.visit('localhost:8000/en/methodology');
|
// cy.visit('localhost:8000/en/methodology');
|
||||||
|
|
||||||
cy.get('[data-cy="download-link"]').invoke('attr', 'target', '_blank');
|
// cy.get('[data-cy="download-link"]').invoke('attr', 'target', '_blank').invoke('attr', 'download');
|
||||||
cy.intercept('GET', '/data-pipeline/data/score/downloadable/Screening_Tool_Data.zip',
|
// cy.intercept('GET', '/data-pipeline/data/score/downloadable/Screening_Tool_Data.zip',
|
||||||
{
|
// {
|
||||||
hostname: 'https://d3jqyw10j8e7p9.cloudfront.net',
|
// hostname: 'https://d3jqyw10j8e7p9.cloudfront.net',
|
||||||
body: 'success',
|
// body: 'success',
|
||||||
headers: {
|
// headers: {
|
||||||
'Content-Type': 'text/html; charset=utf-8',
|
// 'Content-Type': 'text/html; charset=utf-8',
|
||||||
'Content-Disposition': 'attachment',
|
// 'Content-Disposition': 'attachment',
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
).as('downloadRequest');
|
// ).as('downloadRequest');
|
||||||
cy.get('button[class*="downloadPacket"]').click();
|
// cy.get('button[class*="downloadPacket"]').click();
|
||||||
cy.wait('@downloadRequest');
|
// cy.wait('@downloadRequest');
|
||||||
cy.readFile(`cypress/downloads/${filename}`).should('exist');
|
// cy.readFile(`cypress/downloads/${filename}`).should('exist');
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
|
|
|
@ -4,7 +4,7 @@ describe('Translation Test', () => {
|
||||||
it('Sets default language to /en and redirects', () => {
|
it('Sets default language to /en and redirects', () => {
|
||||||
cy.visit('http://localhost:8000');
|
cy.visit('http://localhost:8000');
|
||||||
cy.url().should('include', '/en/');
|
cy.url().should('include', '/en/');
|
||||||
cy.get('[data-cy=about-page-heading]').contains('About');
|
// cy.get('[data-cy=about-page-heading]').contains('About');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Todo VS: Understand how to create es content
|
// Todo VS: Understand how to create es content
|
||||||
|
|
|
@ -2,15 +2,18 @@ Feature: The Methodology page will open from all other pages
|
||||||
|
|
||||||
Scenario: Methodology page open when navigating from About page
|
Scenario: Methodology page open when navigating from About page
|
||||||
Given I am on the "About" page
|
Given I am on the "About" page
|
||||||
|
When I click on the "Methodology" dropdown in the navigation
|
||||||
When I click on the "Methodology" page in the navigation
|
When I click on the "Methodology" page in the navigation
|
||||||
Then I see "Methodology" in the title
|
Then I see "Methodology" in the title
|
||||||
|
|
||||||
Scenario: Methodology page open when navigating from Explore the tool page
|
Scenario: Methodology page open when navigating from Explore the tool page
|
||||||
Given I am on the "Explore the tool" page
|
Given I am on the "Explore the tool" page
|
||||||
|
When I click on the "Methodology" dropdown in the navigation
|
||||||
When I click on the "Methodology" page in the navigation
|
When I click on the "Methodology" page in the navigation
|
||||||
Then I see "Methodology" in the title
|
Then I see "Methodology" in the title
|
||||||
|
|
||||||
Scenario: Methodology page open when navigating from Contact page
|
Scenario: Methodology page open when navigating from Contact page
|
||||||
Given I am on the "Contact" page
|
Given I am on the "Contact" page
|
||||||
|
When I click on the "Methodology" dropdown in the navigation
|
||||||
When I click on the "Methodology" page in the navigation
|
When I click on the "Methodology" page in the navigation
|
||||||
Then I see "Methodology" in the title
|
Then I see "Methodology" in the title
|
|
@ -13,6 +13,11 @@ Given('I am on the {string} page', (page) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Common Whens:
|
// Common Whens:
|
||||||
|
When(`I click on the {string} dropdown in the navigation`, (page) => {
|
||||||
|
const pageHyphenCase = hyphenizeString(page);
|
||||||
|
cy.get(`[data-cy="nav-dropdown-${pageHyphenCase}"]`).click();
|
||||||
|
});
|
||||||
|
|
||||||
When(`I click on the {string} page in the navigation`, (page) => {
|
When(`I click on the {string} page in the navigation`, (page) => {
|
||||||
const pageHyphenCase = hyphenizeString(page);
|
const pageHyphenCase = hyphenizeString(page);
|
||||||
cy.get(`[data-cy="nav-link-${pageHyphenCase}"]`).click();
|
cy.get(`[data-cy="nav-link-${pageHyphenCase}"]`).click();
|
||||||
|
|
|
@ -83,11 +83,12 @@ module.exports = {
|
||||||
options: {
|
options: {
|
||||||
excludes: [
|
excludes: [
|
||||||
'/',
|
'/',
|
||||||
'/cejst',
|
'/about',
|
||||||
'/contact',
|
'/contact',
|
||||||
'/methodology',
|
'/methodology',
|
||||||
'/404',
|
'/404',
|
||||||
'public-engagement',
|
'/public-engagement',
|
||||||
|
'/downloads',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -6,6 +6,8 @@ import {
|
||||||
PrimaryNav,
|
PrimaryNav,
|
||||||
Grid,
|
Grid,
|
||||||
Alert,
|
Alert,
|
||||||
|
NavDropDownButton,
|
||||||
|
Menu,
|
||||||
} from '@trussworks/react-uswds';
|
} from '@trussworks/react-uswds';
|
||||||
import BetaBanner from '../BetaBanner';
|
import BetaBanner from '../BetaBanner';
|
||||||
import J40MainGridContainer from '../J40MainGridContainer';
|
import J40MainGridContainer from '../J40MainGridContainer';
|
||||||
|
@ -21,29 +23,34 @@ const isAlertValid = new Date < COMMON_COPY.ALERTS.EXPIRATION_DATE;
|
||||||
|
|
||||||
const J40Header = () => {
|
const J40Header = () => {
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
const [mobileNavOpen, setMobileNavOpen] = useState(false);
|
|
||||||
|
|
||||||
const titleL1 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_1);
|
const titleL1 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_1);
|
||||||
const titleL2 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_2);
|
const titleL2 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_2);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* State variable to control the mobile menu toggle
|
||||||
|
*/
|
||||||
|
const [mobileNavOpen, setMobileNavOpen] = useState(false);
|
||||||
const toggleMobileNav = (): void =>
|
const toggleMobileNav = (): void =>
|
||||||
setMobileNavOpen((prevOpen) => !prevOpen);
|
setMobileNavOpen((prevOpen) => !prevOpen);
|
||||||
|
|
||||||
const navLinks = [
|
/**
|
||||||
<Link
|
* State variable to hold the open/close state of each nav dropdown. There are currently two
|
||||||
to={'/'}
|
* dropdowns that are being used, each corresponding to an index in the state array:
|
||||||
key={'about'}
|
*
|
||||||
activeClassName="usa-current"
|
* index 0 = Data & Methodology dropdown
|
||||||
data-cy={'nav-link-about'}>
|
* index 1 = About dropdown
|
||||||
{intl.formatMessage(COMMON_COPY.HEADER.ABOUT)}
|
*/
|
||||||
</Link>,
|
const [isOpen, setIsOpen] = useState([false, false]);
|
||||||
<Link
|
const onToggle = (index: number): void => {
|
||||||
to={'/cejst'}
|
setIsOpen((prevIsOpen) => {
|
||||||
key={'cejst'}
|
const newIsOpen = [false, false];
|
||||||
activeClassName="usa-current"
|
newIsOpen[index] = !prevIsOpen[index];
|
||||||
data-cy={'nav-link-explore-the-tool'}>
|
return newIsOpen;
|
||||||
{intl.formatMessage(COMMON_COPY.HEADER.EXPLORE)}
|
});
|
||||||
</Link>,
|
};
|
||||||
|
|
||||||
|
const methPageSubNavLinks = [
|
||||||
<Link
|
<Link
|
||||||
to={'/methodology'}
|
to={'/methodology'}
|
||||||
key={'methodology'}
|
key={'methodology'}
|
||||||
|
@ -51,6 +58,90 @@ const J40Header = () => {
|
||||||
data-cy={'nav-link-methodology'}>
|
data-cy={'nav-link-methodology'}>
|
||||||
{intl.formatMessage(COMMON_COPY.HEADER.METHODOLOGY)}
|
{intl.formatMessage(COMMON_COPY.HEADER.METHODOLOGY)}
|
||||||
</Link>,
|
</Link>,
|
||||||
|
<Link
|
||||||
|
to={'/downloads'}
|
||||||
|
key={'downloads'}
|
||||||
|
activeClassName="usa-current"
|
||||||
|
data-cy={'nav-link-downloads'}>
|
||||||
|
{intl.formatMessage(COMMON_COPY.HEADER.DOWNLOADS)}
|
||||||
|
</Link>,
|
||||||
|
<Link
|
||||||
|
to={'/technical-support-docs'}
|
||||||
|
key={'tsd'}
|
||||||
|
activeClassName="usa-current"
|
||||||
|
data-cy={'nav-link-technical-support-docs'}>
|
||||||
|
{intl.formatMessage(COMMON_COPY.HEADER.TSD)}
|
||||||
|
</Link>,
|
||||||
|
];
|
||||||
|
|
||||||
|
const aboutSubNavLinks = [
|
||||||
|
<Link
|
||||||
|
to={'/about'}
|
||||||
|
key={'about'}
|
||||||
|
activeClassName="usa-current"
|
||||||
|
data-cy={'nav-link-about'}>
|
||||||
|
{intl.formatMessage(COMMON_COPY.HEADER.ABOUT)}
|
||||||
|
</Link>,
|
||||||
|
<Link
|
||||||
|
to={'/faqs'}
|
||||||
|
key={'faqs'}
|
||||||
|
activeClassName="usa-current"
|
||||||
|
data-cy={'nav-link-faqs'}>
|
||||||
|
{intl.formatMessage(COMMON_COPY.HEADER.FAQs)}
|
||||||
|
</Link>,
|
||||||
|
<Link
|
||||||
|
to={'/public-engagement'}
|
||||||
|
key={'publicEng'}
|
||||||
|
activeClassName="usa-current"
|
||||||
|
data-cy={'nav-link-public-engagement'}>
|
||||||
|
{intl.formatMessage(COMMON_COPY.HEADER.PUBLIC_ENG)}
|
||||||
|
</Link>,
|
||||||
|
];
|
||||||
|
|
||||||
|
const navLinks = [
|
||||||
|
<Link
|
||||||
|
to={'/'}
|
||||||
|
key={'explore-tool'}
|
||||||
|
activeClassName="usa-current"
|
||||||
|
data-cy={'nav-link-explore-the-tool'}>
|
||||||
|
{intl.formatMessage(COMMON_COPY.HEADER.EXPLORE)}
|
||||||
|
</Link>,
|
||||||
|
<>
|
||||||
|
<NavDropDownButton
|
||||||
|
key="methDropDown"
|
||||||
|
label={intl.formatMessage(COMMON_COPY.HEADER.METHODOLOGY)}
|
||||||
|
menuId="methMenu"
|
||||||
|
isOpen={isOpen[0]}
|
||||||
|
onToggle={(): void => onToggle(0)}
|
||||||
|
data-cy={'nav-dropdown-methodology'}
|
||||||
|
>
|
||||||
|
</NavDropDownButton>
|
||||||
|
<Menu
|
||||||
|
id='methMenu'
|
||||||
|
type='subnav'
|
||||||
|
items={methPageSubNavLinks}
|
||||||
|
isOpen={isOpen[0]}
|
||||||
|
>
|
||||||
|
</Menu>
|
||||||
|
</>,
|
||||||
|
<>
|
||||||
|
<NavDropDownButton
|
||||||
|
key="aboutDropDown"
|
||||||
|
label={intl.formatMessage(COMMON_COPY.HEADER.ABOUT)}
|
||||||
|
menuId="aboutMenu"
|
||||||
|
isOpen={isOpen[1]}
|
||||||
|
onToggle={(): void => onToggle(1)}
|
||||||
|
data-cy={'nav-dropdown-about'}
|
||||||
|
>
|
||||||
|
</NavDropDownButton>
|
||||||
|
<Menu
|
||||||
|
id='aboutMenu'
|
||||||
|
type='subnav'
|
||||||
|
items={aboutSubNavLinks}
|
||||||
|
isOpen={isOpen[1]}
|
||||||
|
>
|
||||||
|
</Menu>
|
||||||
|
</>,
|
||||||
<Link
|
<Link
|
||||||
to={'/contact'}
|
to={'/contact'}
|
||||||
key={'contact'}
|
key={'contact'}
|
||||||
|
@ -93,6 +184,7 @@ const J40Header = () => {
|
||||||
|
|
||||||
{/* Nav links */}
|
{/* Nav links */}
|
||||||
<Grid col={'fill'} className={styles.navLinks}>
|
<Grid col={'fill'} className={styles.navLinks}>
|
||||||
|
|
||||||
<NavMenuButton
|
<NavMenuButton
|
||||||
key={'mobileMenuButton'}
|
key={'mobileMenuButton'}
|
||||||
onClick={toggleMobileNav}
|
onClick={toggleMobileNav}
|
||||||
|
@ -102,7 +194,8 @@ const J40Header = () => {
|
||||||
items={navLinks}
|
items={navLinks}
|
||||||
mobileExpanded={mobileNavOpen}
|
mobileExpanded={mobileNavOpen}
|
||||||
onToggleMobileNav={toggleMobileNav}
|
onToggleMobileNav={toggleMobileNav}
|
||||||
/>
|
>
|
||||||
|
</PrimaryNav>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
|
@ -218,22 +218,12 @@ exports[`rendering of the J40Header checks if component renders 1`] = `
|
||||||
<ul
|
<ul
|
||||||
class="usa-nav__primary usa-accordion"
|
class="usa-nav__primary usa-accordion"
|
||||||
>
|
>
|
||||||
<li
|
|
||||||
class="usa-nav__primary-item"
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
data-cy="nav-link-about"
|
|
||||||
href="/en/"
|
|
||||||
>
|
|
||||||
About
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
data-cy="nav-link-explore-the-tool"
|
data-cy="nav-link-explore-the-tool"
|
||||||
href="/en/cejst"
|
href="/en/"
|
||||||
>
|
>
|
||||||
Explore the tool
|
Explore the tool
|
||||||
</a>
|
</a>
|
||||||
|
@ -241,12 +231,106 @@ exports[`rendering of the J40Header checks if component renders 1`] = `
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
>
|
>
|
||||||
<a
|
<button
|
||||||
data-cy="nav-link-methodology"
|
aria-controls="methMenu"
|
||||||
href="/en/methodology"
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-methodology"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
>
|
>
|
||||||
Methodology & data
|
<span>
|
||||||
</a>
|
Methodology & data
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="methMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-methodology"
|
||||||
|
href="/en/methodology"
|
||||||
|
>
|
||||||
|
Methodology & data
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-downloads"
|
||||||
|
href="/en/downloads"
|
||||||
|
>
|
||||||
|
Downloads
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-technical-support-docs"
|
||||||
|
href="/en/technical-support-docs"
|
||||||
|
>
|
||||||
|
Technical Support Document
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
aria-controls="aboutMenu"
|
||||||
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-about"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
About
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="aboutMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-about"
|
||||||
|
href="/en/about"
|
||||||
|
>
|
||||||
|
About
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-faqs"
|
||||||
|
href="/en/faqs"
|
||||||
|
>
|
||||||
|
FAQs
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-public-engagement"
|
||||||
|
href="/en/public-engagement"
|
||||||
|
>
|
||||||
|
Public Engagement
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
|
|
|
@ -89,6 +89,26 @@ export const HEADER = defineMessages({
|
||||||
defaultMessage: 'Contact',
|
defaultMessage: 'Contact',
|
||||||
description: 'Navigate to the about page. This is Header navigate item to the Contact page',
|
description: 'Navigate to the about page. This is Header navigate item to the Contact page',
|
||||||
},
|
},
|
||||||
|
DOWNLOADS: {
|
||||||
|
id: 'common.pages.header.downloads',
|
||||||
|
defaultMessage: 'Downloads',
|
||||||
|
description: 'Navigate to the about page. This is Header navigate item to the downloads page',
|
||||||
|
},
|
||||||
|
FAQs: {
|
||||||
|
id: 'common.pages.header.faqs',
|
||||||
|
defaultMessage: 'FAQs',
|
||||||
|
description: 'Navigate to the about page. This is Header navigate item to the faqs page',
|
||||||
|
},
|
||||||
|
PUBLIC_ENG: {
|
||||||
|
id: 'common.pages.header.public.eng',
|
||||||
|
defaultMessage: 'Public Engagement',
|
||||||
|
description: 'Navigate to the about page. This is Header navigate item to the public eng page',
|
||||||
|
},
|
||||||
|
TSD: {
|
||||||
|
id: 'common.pages.header.tsd',
|
||||||
|
defaultMessage: 'Technical Support Document',
|
||||||
|
description: 'Navigate to the about page. This is Header navigate item to the technical support document page',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// Footer
|
// Footer
|
||||||
|
|
79
client/src/data/copy/downloads.tsx
Normal file
79
client/src/data/copy/downloads.tsx
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
/* eslint-disable max-len */
|
||||||
|
import React from 'react';
|
||||||
|
import {defineMessages} from 'react-intl';
|
||||||
|
import {FormattedMessage, FormattedNumber} from 'gatsby-plugin-intl';
|
||||||
|
import {simpleLink} from './common';
|
||||||
|
|
||||||
|
export const PAGE_INTRO = defineMessages({
|
||||||
|
PAGE_TILE: {
|
||||||
|
id: 'downloads.page.title.text',
|
||||||
|
defaultMessage: 'Downloads',
|
||||||
|
description: 'Navigate to the the Downloads page, this will be the page title text',
|
||||||
|
},
|
||||||
|
PAGE_HEADING1: {
|
||||||
|
id: 'downloads.page.heading1.text',
|
||||||
|
defaultMessage: 'Downloads',
|
||||||
|
description: 'Navigate to the the Downloads page, this will be the page heading1 text',
|
||||||
|
},
|
||||||
|
PAGE_HEADING2: {
|
||||||
|
id: 'downloads.page.heading2.text',
|
||||||
|
defaultMessage: 'File formats',
|
||||||
|
description: 'Navigate to the the Downloads page, this will be the page heading2 text',
|
||||||
|
},
|
||||||
|
PAGE_DESCRIPTION1: {
|
||||||
|
id: 'downloads.page.heading1.text',
|
||||||
|
defaultMessage: 'The dataset used in the tool, along with a data dictionary and information about how to use the list of communities (.pdf) are available in the following file formats:',
|
||||||
|
description: 'Navigate to the the Downloads page, this will be the page heading1 text',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export const DOWNLOAD_LINKS = {
|
||||||
|
EXCEL: <FormattedMessage
|
||||||
|
id={'downloads.page.excel.link'}
|
||||||
|
defaultMessage={`
|
||||||
|
<link1>Excel file</link1> (.xlxs {excelFileSize} unzipped)
|
||||||
|
`}
|
||||||
|
description={'On the downloads page, the description of the excel link'}
|
||||||
|
values={{
|
||||||
|
link1: (str:string) => <a href='/about'>{str}</a>,
|
||||||
|
excelFileSize: <FormattedNumber
|
||||||
|
value={54}
|
||||||
|
style="unit"
|
||||||
|
unit="megabyte"
|
||||||
|
unitDisplay="narrow"
|
||||||
|
/>,
|
||||||
|
}}
|
||||||
|
/>,
|
||||||
|
CSV: <FormattedMessage
|
||||||
|
id={'downloads.page.csv.link'}
|
||||||
|
defaultMessage={`
|
||||||
|
<link1>CSV file </link1> (.csv {csvFileSize} unzipped)
|
||||||
|
`}
|
||||||
|
description={'On the downloads page, the description of the csv link'}
|
||||||
|
values={{
|
||||||
|
link1: simpleLink('/csv'),
|
||||||
|
csvFileSize: <FormattedNumber
|
||||||
|
value={52}
|
||||||
|
style="unit"
|
||||||
|
unit="megabyte"
|
||||||
|
unitDisplay="narrow"
|
||||||
|
/>,
|
||||||
|
}}
|
||||||
|
/>,
|
||||||
|
SHAPE: <FormattedMessage
|
||||||
|
id={'downloads.page.shape.link'}
|
||||||
|
defaultMessage={`
|
||||||
|
<link1>Shapefiles </link1> (Codebook included with geojson {shapeFileSize} unzipped)
|
||||||
|
`}
|
||||||
|
description={'On the downloads page, the description of the shapefiles link'}
|
||||||
|
values={{
|
||||||
|
link1: simpleLink('/shape'),
|
||||||
|
shapeFileSize: <FormattedNumber
|
||||||
|
value={110}
|
||||||
|
style="unit"
|
||||||
|
unit="megabyte"
|
||||||
|
unitDisplay="narrow"
|
||||||
|
/>,
|
||||||
|
}}
|
||||||
|
/>,
|
||||||
|
};
|
|
@ -163,14 +163,26 @@
|
||||||
"defaultMessage": "Contact",
|
"defaultMessage": "Contact",
|
||||||
"description": "Navigate to the about page. This is Header navigate item to the Contact page"
|
"description": "Navigate to the about page. This is Header navigate item to the Contact page"
|
||||||
},
|
},
|
||||||
|
"common.pages.header.downloads": {
|
||||||
|
"defaultMessage": "Downloads",
|
||||||
|
"description": "Navigate to the about page. This is Header navigate item to the downloads page"
|
||||||
|
},
|
||||||
"common.pages.header.explore": {
|
"common.pages.header.explore": {
|
||||||
"defaultMessage": "Explore the tool",
|
"defaultMessage": "Explore the tool",
|
||||||
"description": "Navigate to the about page. This is Header navigate item to the Explore the tool page"
|
"description": "Navigate to the about page. This is Header navigate item to the Explore the tool page"
|
||||||
},
|
},
|
||||||
|
"common.pages.header.faqs": {
|
||||||
|
"defaultMessage": "FAQs",
|
||||||
|
"description": "Navigate to the about page. This is Header navigate item to the faqs page"
|
||||||
|
},
|
||||||
"common.pages.header.methodology": {
|
"common.pages.header.methodology": {
|
||||||
"defaultMessage": "Methodology & data",
|
"defaultMessage": "Methodology & data",
|
||||||
"description": "Navigate to the about page. This is Header navigate item to the Methodology page"
|
"description": "Navigate to the about page. This is Header navigate item to the Methodology page"
|
||||||
},
|
},
|
||||||
|
"common.pages.header.public.eng": {
|
||||||
|
"defaultMessage": "Public Engagement",
|
||||||
|
"description": "Navigate to the about page. This is Header navigate item to the public eng page"
|
||||||
|
},
|
||||||
"common.pages.header.title.line1": {
|
"common.pages.header.title.line1": {
|
||||||
"defaultMessage": "Climate and Economic Justice",
|
"defaultMessage": "Climate and Economic Justice",
|
||||||
"description": "Navigate to the about page. This is Title in nav header line 1 of 2"
|
"description": "Navigate to the about page. This is Title in nav header line 1 of 2"
|
||||||
|
@ -179,6 +191,10 @@
|
||||||
"defaultMessage": "Screening Tool",
|
"defaultMessage": "Screening Tool",
|
||||||
"description": "Navigate to the about page. This is Title in nav header line 2 of 2"
|
"description": "Navigate to the about page. This is Title in nav header line 2 of 2"
|
||||||
},
|
},
|
||||||
|
"common.pages.header.tsd": {
|
||||||
|
"defaultMessage": "Technical Support Document",
|
||||||
|
"description": "Navigate to the about page. This is Header navigate item to the technical support document page"
|
||||||
|
},
|
||||||
"contact.page.census.tract.feedback.para1": {
|
"contact.page.census.tract.feedback.para1": {
|
||||||
"defaultMessage": "To provide feedback about a specific census tract, either select the send feedback button after selecting a census tract on the <link1>Explore the tool</link1> page or use the email address provided above. Please include the census tract ID, county, and state or territory information, in addition to your feedback.",
|
"defaultMessage": "To provide feedback about a specific census tract, either select the send feedback button after selecting a census tract on the <link1>Explore the tool</link1> page or use the email address provided above. Please include the census tract ID, county, and state or territory information, in addition to your feedback.",
|
||||||
"description": "Navigate to the contact page, this is the census tract feedback section"
|
"description": "Navigate to the contact page, this is the census tract feedback section"
|
||||||
|
@ -219,6 +235,30 @@
|
||||||
"defaultMessage": "Contact",
|
"defaultMessage": "Contact",
|
||||||
"description": "Navigate to the contact page, this is the contact page title text"
|
"description": "Navigate to the contact page, this is the contact page title text"
|
||||||
},
|
},
|
||||||
|
"downloads.page.csv.link": {
|
||||||
|
"defaultMessage": "<link1>CSV file </link1> (.csv {csvFileSize} unzipped)",
|
||||||
|
"description": "On the downloads page, the description of the csv link"
|
||||||
|
},
|
||||||
|
"downloads.page.excel.link": {
|
||||||
|
"defaultMessage": "<link1>Excel file</link1> (.xlxs {excelFileSize} unzipped)",
|
||||||
|
"description": "On the downloads page, the description of the excel link"
|
||||||
|
},
|
||||||
|
"downloads.page.heading1.text": {
|
||||||
|
"defaultMessage": "The dataset used in the tool, along with a data dictionary and information about how to use the list of communities (.pdf) are available in the following file formats:",
|
||||||
|
"description": "Navigate to the the Downloads page, this will be the page heading1 text"
|
||||||
|
},
|
||||||
|
"downloads.page.heading2.text": {
|
||||||
|
"defaultMessage": "File formats",
|
||||||
|
"description": "Navigate to the the Downloads page, this will be the page heading2 text"
|
||||||
|
},
|
||||||
|
"downloads.page.shape.link": {
|
||||||
|
"defaultMessage": "<link1>Shapefiles </link1> (Codebook included with geojson {shapeFileSize} unzipped)",
|
||||||
|
"description": "On the downloads page, the description of the shapefiles link"
|
||||||
|
},
|
||||||
|
"downloads.page.title.text": {
|
||||||
|
"defaultMessage": "Downloads",
|
||||||
|
"description": "Navigate to the the Downloads page, this will be the page title text"
|
||||||
|
},
|
||||||
"explore.page.side.panel.at.or.above.at.least.one": {
|
"explore.page.side.panel.at.or.above.at.least.one": {
|
||||||
"defaultMessage": "At or above at least one threshold?",
|
"defaultMessage": "At or above at least one threshold?",
|
||||||
"description": "Navigate to the explore the tool page. When the map is in view, click on the map. Click on a category to expand. This is the first question text around thresholds."
|
"description": "Navigate to the explore the tool page. When the map is in view, click on the map. Click on a category to expand. This is the first question text around thresholds."
|
||||||
|
|
143
client/src/pages/about.tsx
Normal file
143
client/src/pages/about.tsx
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
import * as React from 'react';
|
||||||
|
import {useIntl} from 'gatsby-plugin-intl';
|
||||||
|
|
||||||
|
import AboutCard from '../components/AboutCard/AboutCard';
|
||||||
|
import AboutCardsContainer from '../components/AboutCard/AboutCardsContainer';
|
||||||
|
import J40MainGridContainer from '../components/J40MainGridContainer';
|
||||||
|
import Layout from '../components/layout';
|
||||||
|
|
||||||
|
import * as ABOUT_COPY from '../data/copy/about';
|
||||||
|
import * as COMMON_COPY from '../data/copy/common';
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
|
import aboutUSMapImg from '../images/about-usmap-1.svg';
|
||||||
|
// @ts-ignore
|
||||||
|
import aboutJ40Img from '../images/about-j40-1.svg';
|
||||||
|
import accountBalanceIcon // @ts-ignore
|
||||||
|
from '/node_modules/uswds/dist/img/usa-icons/account_balance.svg';
|
||||||
|
|
||||||
|
import groupsIcon from // @ts-ignore
|
||||||
|
'/node_modules/uswds/dist/img/usa-icons/groups.svg';
|
||||||
|
|
||||||
|
import commentIcon from // @ts-ignore
|
||||||
|
'/node_modules/uswds/dist/img/usa-icons/comment.svg';
|
||||||
|
|
||||||
|
import githubIcon from // @ts-ignore
|
||||||
|
'/node_modules/uswds/dist/img/usa-icons/github.svg';
|
||||||
|
|
||||||
|
interface IAboutPageProps {
|
||||||
|
location: Location;
|
||||||
|
}
|
||||||
|
|
||||||
|
// markup
|
||||||
|
const AboutPage = ({location}: IAboutPageProps) => {
|
||||||
|
const intl = useIntl();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Layout location={location} title={intl.formatMessage(ABOUT_COPY.PAGE.TILE)}>
|
||||||
|
|
||||||
|
<J40MainGridContainer>
|
||||||
|
<h1 data-cy={'about-page-heading'}>{intl.formatMessage(ABOUT_COPY.PAGE.HEADING)}</h1>
|
||||||
|
|
||||||
|
<AboutCardsContainer>
|
||||||
|
<AboutCard
|
||||||
|
size={'large'}
|
||||||
|
imgSrc={aboutUSMapImg}
|
||||||
|
header={intl.formatMessage(ABOUT_COPY.PAGE.HEADING_1)}>
|
||||||
|
<>
|
||||||
|
<p>
|
||||||
|
{ABOUT_COPY.HEADING_1.DESCRIPTION_1}
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
{intl.formatMessage(ABOUT_COPY.PAGE.HEADING1_DESCRIPTION2)}
|
||||||
|
</p>
|
||||||
|
</>
|
||||||
|
</AboutCard>
|
||||||
|
</AboutCardsContainer>
|
||||||
|
|
||||||
|
<AboutCardsContainer>
|
||||||
|
<AboutCard
|
||||||
|
size={'large'}
|
||||||
|
imgSrc={aboutJ40Img}
|
||||||
|
header={intl.formatMessage(ABOUT_COPY.PAGE.HEADING_2)}>
|
||||||
|
<>
|
||||||
|
<p>
|
||||||
|
{intl.formatMessage(ABOUT_COPY.PAGE.HEADING2_DESCRIPTION1)}
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
{ABOUT_COPY.HEADING_2.DESCRIPTION_2}
|
||||||
|
</p>
|
||||||
|
</>
|
||||||
|
</AboutCard>
|
||||||
|
</AboutCardsContainer>
|
||||||
|
</J40MainGridContainer>
|
||||||
|
|
||||||
|
<J40MainGridContainer
|
||||||
|
fullWidth={true}
|
||||||
|
blueBackground={true}>
|
||||||
|
<J40MainGridContainer>
|
||||||
|
<h2>
|
||||||
|
{intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.TITLE)}
|
||||||
|
</h2>
|
||||||
|
<AboutCardsContainer>
|
||||||
|
<AboutCard
|
||||||
|
size={'small'}
|
||||||
|
imgSrc={accountBalanceIcon}
|
||||||
|
header={intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.FEDERAL_PM_HEADING)}
|
||||||
|
linkText={intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.FEDERAL_PM_LINK_TEXT)}
|
||||||
|
url={'/methodology'}
|
||||||
|
internal={true}>
|
||||||
|
<p>
|
||||||
|
{intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.FEDERAL_PM_INFO)}
|
||||||
|
</p>
|
||||||
|
</AboutCard>
|
||||||
|
|
||||||
|
<AboutCard
|
||||||
|
size={'small'}
|
||||||
|
imgSrc={groupsIcon}
|
||||||
|
header={intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.COMMUNITY_MEMBERS_HEADING)}
|
||||||
|
linkText={intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.COMMUNITY_MEMBERS_LINK_TEXT)}
|
||||||
|
url={'/'}
|
||||||
|
internal={true}>
|
||||||
|
<p>
|
||||||
|
{intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.COMMUNITY_MEMBERS_INFO)}
|
||||||
|
</p>
|
||||||
|
</AboutCard>
|
||||||
|
</AboutCardsContainer>
|
||||||
|
</J40MainGridContainer>
|
||||||
|
</J40MainGridContainer>
|
||||||
|
|
||||||
|
<J40MainGridContainer>
|
||||||
|
<h2>{intl.formatMessage(ABOUT_COPY.GET_INVOLVED.TITLE)}</h2>
|
||||||
|
<AboutCardsContainer>
|
||||||
|
<AboutCard
|
||||||
|
size={'small'}
|
||||||
|
imgSrc={commentIcon}
|
||||||
|
header={intl.formatMessage(ABOUT_COPY.GET_INVOLVED.SEND_FEEDBACK_HEADING)}
|
||||||
|
linkText={`Email: ${COMMON_COPY.FEEDBACK_EMAIL}`}
|
||||||
|
url={`mailto:${COMMON_COPY.FEEDBACK_EMAIL}`}
|
||||||
|
openUrlNewTab={true}
|
||||||
|
internal={false}>
|
||||||
|
<p>
|
||||||
|
{intl.formatMessage(ABOUT_COPY.GET_INVOLVED.SEND_FEEDBACK_INFO)}
|
||||||
|
</p>
|
||||||
|
</AboutCard>
|
||||||
|
|
||||||
|
<AboutCard
|
||||||
|
size={'small'}
|
||||||
|
imgSrc={githubIcon}
|
||||||
|
header={intl.formatMessage(ABOUT_COPY.GET_INVOLVED.JOIN_OSC_HEADING)}
|
||||||
|
linkText={intl.formatMessage(ABOUT_COPY.GET_INVOLVED.JOIN_OSC_LINK_TEXT)}
|
||||||
|
url={ABOUT_COPY.GITHUB_LINK}
|
||||||
|
openUrlNewTab={true}
|
||||||
|
internal={false}>
|
||||||
|
<p>
|
||||||
|
{intl.formatMessage(ABOUT_COPY.GET_INVOLVED.JOIN_OSC_INFO)}
|
||||||
|
</p>
|
||||||
|
</AboutCard>
|
||||||
|
</AboutCardsContainer>
|
||||||
|
</J40MainGridContainer>
|
||||||
|
</Layout>);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default AboutPage;
|
|
@ -1,77 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import {useIntl} from 'gatsby-plugin-intl';
|
|
||||||
import {Grid} from '@trussworks/react-uswds';
|
|
||||||
|
|
||||||
import HowYouCanHelp from '../components/HowYouCanHelp';
|
|
||||||
import J40MainGridContainer from '../components/J40MainGridContainer';
|
|
||||||
import Layout from '../components/layout';
|
|
||||||
import MapWrapper from '../components/MapWrapper';
|
|
||||||
import PublicEngageButton from '../components/PublicEngageButton';
|
|
||||||
|
|
||||||
import * as EXPLORE_COPY from '../data/copy/explore';
|
|
||||||
|
|
||||||
interface IMapPageProps {
|
|
||||||
location: Location;
|
|
||||||
}
|
|
||||||
|
|
||||||
const CEJSTPage = ({location}: IMapPageProps) => {
|
|
||||||
// We temporarily removed MapControls, which would enable you to `setFeatures` also, for now
|
|
||||||
// We will bring back later when we have interactive controls.
|
|
||||||
const intl = useIntl();
|
|
||||||
|
|
||||||
|
|
||||||
return (<Layout location={location} title={intl.formatMessage(EXPLORE_COPY.PAGE_INTRO.PAGE_TILE)}>
|
|
||||||
|
|
||||||
<J40MainGridContainer>
|
|
||||||
|
|
||||||
<section className={'page-heading'}>
|
|
||||||
<h1>{intl.formatMessage(EXPLORE_COPY.PAGE_INTRO.PAGE_HEADING)}</h1>
|
|
||||||
<PublicEngageButton />
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<Grid row gap className={'j40-mb5-mt3'}>
|
|
||||||
|
|
||||||
{/* Gradually increase width of the Grid as the width decreases from desktop to mobile*/}
|
|
||||||
{/* desktop = 7 columns, tablet = 10 columns and mobile = 12 columns (full width) */}
|
|
||||||
<Grid desktop={{col: 7}} tablet={{col: 10}} col={12}>
|
|
||||||
<section>
|
|
||||||
<p>
|
|
||||||
{EXPLORE_COPY.PAGE_DESCRIPTION}
|
|
||||||
</p>
|
|
||||||
</section>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
</J40MainGridContainer>
|
|
||||||
|
|
||||||
<J40MainGridContainer>
|
|
||||||
<MapWrapper location={location}/>
|
|
||||||
</J40MainGridContainer>
|
|
||||||
|
|
||||||
<J40MainGridContainer>
|
|
||||||
<Grid desktop={{col: 7}} tablet={{col: 10}} col={12}>
|
|
||||||
<h2>{EXPLORE_COPY.NOTE_ON_TERRITORIES.INTRO}</h2>
|
|
||||||
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_1}</p>
|
|
||||||
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_2}</p>
|
|
||||||
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_3}</p>
|
|
||||||
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_4}</p>
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
<Grid desktop={{col: 7}} tablet={{col: 10}} col={12}>
|
|
||||||
<h2>{EXPLORE_COPY.NOTE_ON_TRIBAL_NATIONS.INTRO}</h2>
|
|
||||||
<p>{EXPLORE_COPY.NOTE_ON_TRIBAL_NATIONS.PARA_1}</p>
|
|
||||||
</Grid>
|
|
||||||
</J40MainGridContainer>
|
|
||||||
|
|
||||||
<J40MainGridContainer>
|
|
||||||
<Grid row>
|
|
||||||
<Grid col>
|
|
||||||
<section>
|
|
||||||
<HowYouCanHelp/>
|
|
||||||
</section>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
</J40MainGridContainer>
|
|
||||||
</Layout>);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default CEJSTPage;
|
|
|
@ -5,7 +5,6 @@ import {useIntl, FormattedMessage} from 'gatsby-plugin-intl';
|
||||||
import J40MainGridContainer from '../components/J40MainGridContainer';
|
import J40MainGridContainer from '../components/J40MainGridContainer';
|
||||||
import Layout from '../components/layout';
|
import Layout from '../components/layout';
|
||||||
import LinkTypeWrapper from '../components/LinkTypeWrapper';
|
import LinkTypeWrapper from '../components/LinkTypeWrapper';
|
||||||
import PublicEngageButton from '../components/PublicEngageButton';
|
|
||||||
import RequestForInfo from '../components/RequestForInfo';
|
import RequestForInfo from '../components/RequestForInfo';
|
||||||
|
|
||||||
import * as CONTACT_COPY from '../data/copy/contact';
|
import * as CONTACT_COPY from '../data/copy/contact';
|
||||||
|
@ -22,10 +21,7 @@ const ContactPage = ({location}: IContactPageProps) => {
|
||||||
|
|
||||||
<J40MainGridContainer>
|
<J40MainGridContainer>
|
||||||
|
|
||||||
<section className={'page-heading'}>
|
<h1>{intl.formatMessage(CONTACT_COPY.PAGE_INTRO.PAGE_HEADING)}</h1>
|
||||||
<h1>{intl.formatMessage(CONTACT_COPY.PAGE_INTRO.PAGE_HEADING)}</h1>
|
|
||||||
<PublicEngageButton />
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<Grid row gap={6}>
|
<Grid row gap={6}>
|
||||||
|
|
||||||
|
|
45
client/src/pages/downloads.tsx
Normal file
45
client/src/pages/downloads.tsx
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
import * as React from 'react';
|
||||||
|
import {Grid} from '@trussworks/react-uswds';
|
||||||
|
import {useIntl} from 'gatsby-plugin-intl';
|
||||||
|
|
||||||
|
import J40MainGridContainer from '../components/J40MainGridContainer';
|
||||||
|
import Layout from '../components/layout';
|
||||||
|
|
||||||
|
import * as DOWNLOADS_COPY from '../data/copy/downloads';
|
||||||
|
|
||||||
|
interface IDownloadsPageProps {
|
||||||
|
location: Location;
|
||||||
|
}
|
||||||
|
|
||||||
|
const DownloadsPage = ({location}: IDownloadsPageProps) => {
|
||||||
|
const intl = useIntl();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Layout location={location} title={intl.formatMessage(DOWNLOADS_COPY.PAGE_INTRO.PAGE_TILE)}>
|
||||||
|
|
||||||
|
<J40MainGridContainer>
|
||||||
|
|
||||||
|
<h1>{intl.formatMessage(DOWNLOADS_COPY.PAGE_INTRO.PAGE_HEADING1)}</h1>
|
||||||
|
|
||||||
|
<Grid desktop={{col: 8}}>
|
||||||
|
<h2>{intl.formatMessage(DOWNLOADS_COPY.PAGE_INTRO.PAGE_HEADING2)}</h2>
|
||||||
|
<p>
|
||||||
|
{intl.formatMessage(DOWNLOADS_COPY.PAGE_INTRO.PAGE_DESCRIPTION1)}
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
{DOWNLOADS_COPY.DOWNLOAD_LINKS.EXCEL}
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
{DOWNLOADS_COPY.DOWNLOAD_LINKS.CSV}
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
{DOWNLOADS_COPY.DOWNLOAD_LINKS.SHAPE}
|
||||||
|
</p>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</J40MainGridContainer>
|
||||||
|
</Layout>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default DownloadsPage;
|
|
@ -1,147 +1,73 @@
|
||||||
import * as React from 'react';
|
import React from 'react';
|
||||||
import {useIntl} from 'gatsby-plugin-intl';
|
import {useIntl} from 'gatsby-plugin-intl';
|
||||||
|
import {Grid} from '@trussworks/react-uswds';
|
||||||
|
|
||||||
import AboutCard from '../components/AboutCard/AboutCard';
|
import HowYouCanHelp from '../components/HowYouCanHelp';
|
||||||
import AboutCardsContainer from '../components/AboutCard/AboutCardsContainer';
|
|
||||||
import J40MainGridContainer from '../components/J40MainGridContainer';
|
import J40MainGridContainer from '../components/J40MainGridContainer';
|
||||||
import Layout from '../components/layout';
|
import Layout from '../components/layout';
|
||||||
import PublicEngageButton from '../components/PublicEngageButton';
|
import MapWrapper from '../components/MapWrapper';
|
||||||
|
|
||||||
import * as ABOUT_COPY from '../data/copy/about';
|
import * as EXPLORE_COPY from '../data/copy/explore';
|
||||||
import * as COMMON_COPY from '../data/copy/common';
|
|
||||||
|
|
||||||
// @ts-ignore
|
interface IMapPageProps {
|
||||||
import aboutUSMapImg from '../images/about-usmap-1.svg';
|
|
||||||
// @ts-ignore
|
|
||||||
import aboutJ40Img from '../images/about-j40-1.svg';
|
|
||||||
import accountBalanceIcon // @ts-ignore
|
|
||||||
from '/node_modules/uswds/dist/img/usa-icons/account_balance.svg';
|
|
||||||
|
|
||||||
import groupsIcon from // @ts-ignore
|
|
||||||
'/node_modules/uswds/dist/img/usa-icons/groups.svg';
|
|
||||||
|
|
||||||
import commentIcon from // @ts-ignore
|
|
||||||
'/node_modules/uswds/dist/img/usa-icons/comment.svg';
|
|
||||||
|
|
||||||
import githubIcon from // @ts-ignore
|
|
||||||
'/node_modules/uswds/dist/img/usa-icons/github.svg';
|
|
||||||
|
|
||||||
interface IndexPageProps {
|
|
||||||
location: Location;
|
location: Location;
|
||||||
}
|
}
|
||||||
|
|
||||||
// markup
|
const ExporeToolPage = ({location}: IMapPageProps) => {
|
||||||
const IndexPage = ({location}: IndexPageProps) => {
|
// We temporarily removed MapControls, which would enable you to `setFeatures` also, for now
|
||||||
|
// We will bring back later when we have interactive controls.
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
|
|
||||||
return (
|
|
||||||
<Layout location={location} title={intl.formatMessage(ABOUT_COPY.PAGE.TILE)}>
|
|
||||||
|
|
||||||
<J40MainGridContainer>
|
return (<Layout location={location} title={intl.formatMessage(EXPLORE_COPY.PAGE_INTRO.PAGE_TILE)}>
|
||||||
<section className={'page-heading'}>
|
|
||||||
<h1 data-cy={'about-page-heading'}>{intl.formatMessage(ABOUT_COPY.PAGE.HEADING)}</h1>
|
|
||||||
<PublicEngageButton />
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<AboutCardsContainer>
|
<J40MainGridContainer>
|
||||||
<AboutCard
|
|
||||||
size={'large'}
|
|
||||||
imgSrc={aboutUSMapImg}
|
|
||||||
header={intl.formatMessage(ABOUT_COPY.PAGE.HEADING_1)}>
|
|
||||||
<>
|
|
||||||
<p>
|
|
||||||
{ABOUT_COPY.HEADING_1.DESCRIPTION_1}
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
{intl.formatMessage(ABOUT_COPY.PAGE.HEADING1_DESCRIPTION2)}
|
|
||||||
</p>
|
|
||||||
</>
|
|
||||||
</AboutCard>
|
|
||||||
</AboutCardsContainer>
|
|
||||||
|
|
||||||
<AboutCardsContainer>
|
<h1>{intl.formatMessage(EXPLORE_COPY.PAGE_INTRO.PAGE_HEADING)}</h1>
|
||||||
<AboutCard
|
|
||||||
size={'large'}
|
|
||||||
imgSrc={aboutJ40Img}
|
|
||||||
header={intl.formatMessage(ABOUT_COPY.PAGE.HEADING_2)}>
|
|
||||||
<>
|
|
||||||
<p>
|
|
||||||
{intl.formatMessage(ABOUT_COPY.PAGE.HEADING2_DESCRIPTION1)}
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
{ABOUT_COPY.HEADING_2.DESCRIPTION_2}
|
|
||||||
</p>
|
|
||||||
</>
|
|
||||||
</AboutCard>
|
|
||||||
</AboutCardsContainer>
|
|
||||||
</J40MainGridContainer>
|
|
||||||
|
|
||||||
<J40MainGridContainer
|
<Grid row gap className={'j40-mb5-mt3'}>
|
||||||
fullWidth={true}
|
|
||||||
blueBackground={true}>
|
|
||||||
<J40MainGridContainer>
|
|
||||||
<h2>
|
|
||||||
{intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.TITLE)}
|
|
||||||
</h2>
|
|
||||||
<AboutCardsContainer>
|
|
||||||
<AboutCard
|
|
||||||
size={'small'}
|
|
||||||
imgSrc={accountBalanceIcon}
|
|
||||||
header={intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.FEDERAL_PM_HEADING)}
|
|
||||||
linkText={intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.FEDERAL_PM_LINK_TEXT)}
|
|
||||||
url={'/methodology'}
|
|
||||||
internal={true}>
|
|
||||||
<p>
|
|
||||||
{intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.FEDERAL_PM_INFO)}
|
|
||||||
</p>
|
|
||||||
</AboutCard>
|
|
||||||
|
|
||||||
<AboutCard
|
{/* Gradually increase width of the Grid as the width decreases from desktop to mobile*/}
|
||||||
size={'small'}
|
{/* desktop = 7 columns, tablet = 10 columns and mobile = 12 columns (full width) */}
|
||||||
imgSrc={groupsIcon}
|
<Grid desktop={{col: 7}} tablet={{col: 10}} col={12}>
|
||||||
header={intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.COMMUNITY_MEMBERS_HEADING)}
|
<section>
|
||||||
linkText={intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.COMMUNITY_MEMBERS_LINK_TEXT)}
|
|
||||||
url={'/cejst'}
|
|
||||||
internal={true}>
|
|
||||||
<p>
|
|
||||||
{intl.formatMessage(ABOUT_COPY.HOW_TO_GET_STARTED.COMMUNITY_MEMBERS_INFO)}
|
|
||||||
</p>
|
|
||||||
</AboutCard>
|
|
||||||
</AboutCardsContainer>
|
|
||||||
</J40MainGridContainer>
|
|
||||||
</J40MainGridContainer>
|
|
||||||
|
|
||||||
<J40MainGridContainer>
|
|
||||||
<h2>{intl.formatMessage(ABOUT_COPY.GET_INVOLVED.TITLE)}</h2>
|
|
||||||
<AboutCardsContainer>
|
|
||||||
<AboutCard
|
|
||||||
size={'small'}
|
|
||||||
imgSrc={commentIcon}
|
|
||||||
header={intl.formatMessage(ABOUT_COPY.GET_INVOLVED.SEND_FEEDBACK_HEADING)}
|
|
||||||
linkText={`Email: ${COMMON_COPY.FEEDBACK_EMAIL}`}
|
|
||||||
url={`mailto:${COMMON_COPY.FEEDBACK_EMAIL}`}
|
|
||||||
openUrlNewTab={true}
|
|
||||||
internal={false}>
|
|
||||||
<p>
|
<p>
|
||||||
{intl.formatMessage(ABOUT_COPY.GET_INVOLVED.SEND_FEEDBACK_INFO)}
|
{EXPLORE_COPY.PAGE_DESCRIPTION}
|
||||||
</p>
|
</p>
|
||||||
</AboutCard>
|
</section>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</J40MainGridContainer>
|
||||||
|
|
||||||
<AboutCard
|
<J40MainGridContainer>
|
||||||
size={'small'}
|
<MapWrapper location={location}/>
|
||||||
imgSrc={githubIcon}
|
</J40MainGridContainer>
|
||||||
header={intl.formatMessage(ABOUT_COPY.GET_INVOLVED.JOIN_OSC_HEADING)}
|
|
||||||
linkText={intl.formatMessage(ABOUT_COPY.GET_INVOLVED.JOIN_OSC_LINK_TEXT)}
|
<J40MainGridContainer>
|
||||||
url={ABOUT_COPY.GITHUB_LINK}
|
<Grid desktop={{col: 7}} tablet={{col: 10}} col={12}>
|
||||||
openUrlNewTab={true}
|
<h2>{EXPLORE_COPY.NOTE_ON_TERRITORIES.INTRO}</h2>
|
||||||
internal={false}>
|
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_1}</p>
|
||||||
<p>
|
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_2}</p>
|
||||||
{intl.formatMessage(ABOUT_COPY.GET_INVOLVED.JOIN_OSC_INFO)}
|
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_3}</p>
|
||||||
</p>
|
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_4}</p>
|
||||||
</AboutCard>
|
</Grid>
|
||||||
</AboutCardsContainer>
|
|
||||||
</J40MainGridContainer>
|
<Grid desktop={{col: 7}} tablet={{col: 10}} col={12}>
|
||||||
</Layout>);
|
<h2>{EXPLORE_COPY.NOTE_ON_TRIBAL_NATIONS.INTRO}</h2>
|
||||||
|
<p>{EXPLORE_COPY.NOTE_ON_TRIBAL_NATIONS.PARA_1}</p>
|
||||||
|
</Grid>
|
||||||
|
</J40MainGridContainer>
|
||||||
|
|
||||||
|
<J40MainGridContainer>
|
||||||
|
<Grid row>
|
||||||
|
<Grid col>
|
||||||
|
<section>
|
||||||
|
<HowYouCanHelp/>
|
||||||
|
</section>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</J40MainGridContainer>
|
||||||
|
</Layout>);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default IndexPage;
|
export default ExporeToolPage;
|
||||||
|
|
|
@ -8,7 +8,6 @@ import DownloadPacket from '../components/DownloadPacket';
|
||||||
import J40MainGridContainer from '../components/J40MainGridContainer';
|
import J40MainGridContainer from '../components/J40MainGridContainer';
|
||||||
import MethodologyFormula from '../components/MethodologyFormula';
|
import MethodologyFormula from '../components/MethodologyFormula';
|
||||||
import Layout from '../components/layout';
|
import Layout from '../components/layout';
|
||||||
import PublicEngageButton from '../components/PublicEngageButton';
|
|
||||||
|
|
||||||
import * as METHODOLOGY_COPY from '../data/copy/methodology';
|
import * as METHODOLOGY_COPY from '../data/copy/methodology';
|
||||||
|
|
||||||
|
@ -24,10 +23,7 @@ const IndexPage = ({location}: MethodPageProps) => {
|
||||||
|
|
||||||
<J40MainGridContainer>
|
<J40MainGridContainer>
|
||||||
|
|
||||||
<section className={'page-heading'}>
|
<h1>{intl.formatMessage(METHODOLOGY_COPY.PAGE.HEADING)}</h1>
|
||||||
<h1>{intl.formatMessage(METHODOLOGY_COPY.PAGE.HEADING)}</h1>
|
|
||||||
<PublicEngageButton />
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<Grid row gap className={'j40-mb5-mt3'}>
|
<Grid row gap className={'j40-mb5-mt3'}>
|
||||||
|
|
||||||
|
|
|
@ -218,22 +218,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
<ul
|
<ul
|
||||||
class="usa-nav__primary usa-accordion"
|
class="usa-nav__primary usa-accordion"
|
||||||
>
|
>
|
||||||
<li
|
|
||||||
class="usa-nav__primary-item"
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
data-cy="nav-link-about"
|
|
||||||
href="/en/"
|
|
||||||
>
|
|
||||||
About
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
data-cy="nav-link-explore-the-tool"
|
data-cy="nav-link-explore-the-tool"
|
||||||
href="/en/cejst"
|
href="/en/"
|
||||||
>
|
>
|
||||||
Explore the tool
|
Explore the tool
|
||||||
</a>
|
</a>
|
||||||
|
@ -241,12 +231,106 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
>
|
>
|
||||||
<a
|
<button
|
||||||
data-cy="nav-link-methodology"
|
aria-controls="methMenu"
|
||||||
href="/en/methodology"
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-methodology"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
>
|
>
|
||||||
Methodology & data
|
<span>
|
||||||
</a>
|
Methodology & data
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="methMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-methodology"
|
||||||
|
href="/en/methodology"
|
||||||
|
>
|
||||||
|
Methodology & data
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-downloads"
|
||||||
|
href="/en/downloads"
|
||||||
|
>
|
||||||
|
Downloads
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-technical-support-docs"
|
||||||
|
href="/en/technical-support-docs"
|
||||||
|
>
|
||||||
|
Technical Support Document
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
aria-controls="aboutMenu"
|
||||||
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-about"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
About
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="aboutMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-about"
|
||||||
|
href="/en/about"
|
||||||
|
>
|
||||||
|
About
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-faqs"
|
||||||
|
href="/en/faqs"
|
||||||
|
>
|
||||||
|
FAQs
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-public-engagement"
|
||||||
|
href="/en/public-engagement"
|
||||||
|
>
|
||||||
|
Public Engagement
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
|
@ -310,36 +394,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
class="grid-container-desktop-lg"
|
class="grid-container-desktop-lg"
|
||||||
data-testid="gridContainer"
|
data-testid="gridContainer"
|
||||||
>
|
>
|
||||||
<section
|
<h1
|
||||||
class="page-heading"
|
data-cy="about-page-heading"
|
||||||
>
|
>
|
||||||
<h1
|
About
|
||||||
data-cy="about-page-heading"
|
</h1>
|
||||||
>
|
|
||||||
About
|
|
||||||
</h1>
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
<span
|
|
||||||
class="usa-tag"
|
|
||||||
data-testid="tag"
|
|
||||||
>
|
|
||||||
UPDATED
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<a
|
|
||||||
href="/en/public-engagement"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="usa-button usa-button--icon"
|
|
||||||
data-testid="button"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
Public Engagement
|
|
||||||
</button>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<div
|
<div
|
||||||
class="grid-row grid-gap-lg j40-aboutcard-container "
|
class="grid-row grid-gap-lg j40-aboutcard-container "
|
||||||
data-testid="grid"
|
data-testid="grid"
|
||||||
|
@ -584,7 +643,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
class="j40-aboutcard-sm-link"
|
class="j40-aboutcard-sm-link"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
href="/en/cejst"
|
href="/en/"
|
||||||
>
|
>
|
||||||
Explore the tool
|
Explore the tool
|
||||||
</a>
|
</a>
|
|
@ -218,22 +218,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
<ul
|
<ul
|
||||||
class="usa-nav__primary usa-accordion"
|
class="usa-nav__primary usa-accordion"
|
||||||
>
|
>
|
||||||
<li
|
|
||||||
class="usa-nav__primary-item"
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
data-cy="nav-link-about"
|
|
||||||
href="/en/"
|
|
||||||
>
|
|
||||||
About
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
data-cy="nav-link-explore-the-tool"
|
data-cy="nav-link-explore-the-tool"
|
||||||
href="/en/cejst"
|
href="/en/"
|
||||||
>
|
>
|
||||||
Explore the tool
|
Explore the tool
|
||||||
</a>
|
</a>
|
||||||
|
@ -241,12 +231,106 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
>
|
>
|
||||||
<a
|
<button
|
||||||
data-cy="nav-link-methodology"
|
aria-controls="methMenu"
|
||||||
href="/en/methodology"
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-methodology"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
>
|
>
|
||||||
Methodology & data
|
<span>
|
||||||
</a>
|
Methodology & data
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="methMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-methodology"
|
||||||
|
href="/en/methodology"
|
||||||
|
>
|
||||||
|
Methodology & data
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-downloads"
|
||||||
|
href="/en/downloads"
|
||||||
|
>
|
||||||
|
Downloads
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-technical-support-docs"
|
||||||
|
href="/en/technical-support-docs"
|
||||||
|
>
|
||||||
|
Technical Support Document
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
aria-controls="aboutMenu"
|
||||||
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-about"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
About
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="aboutMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-about"
|
||||||
|
href="/en/about"
|
||||||
|
>
|
||||||
|
About
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-faqs"
|
||||||
|
href="/en/faqs"
|
||||||
|
>
|
||||||
|
FAQs
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-public-engagement"
|
||||||
|
href="/en/public-engagement"
|
||||||
|
>
|
||||||
|
Public Engagement
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
|
@ -310,34 +394,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
class="grid-container-desktop-lg"
|
class="grid-container-desktop-lg"
|
||||||
data-testid="gridContainer"
|
data-testid="gridContainer"
|
||||||
>
|
>
|
||||||
<section
|
<h1>
|
||||||
class="page-heading"
|
Contact
|
||||||
>
|
</h1>
|
||||||
<h1>
|
|
||||||
Contact
|
|
||||||
</h1>
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
<span
|
|
||||||
class="usa-tag"
|
|
||||||
data-testid="tag"
|
|
||||||
>
|
|
||||||
UPDATED
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<a
|
|
||||||
href="/en/public-engagement"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="usa-button usa-button--icon"
|
|
||||||
data-testid="button"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
Public Engagement
|
|
||||||
</button>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<div
|
<div
|
||||||
class="grid-row grid-gap-6"
|
class="grid-row grid-gap-6"
|
||||||
data-testid="grid"
|
data-testid="grid"
|
642
client/src/pages/tests/__snapshots__/downloads.test.tsx.snap
Normal file
642
client/src/pages/tests/__snapshots__/downloads.test.tsx.snap
Normal file
|
@ -0,0 +1,642 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`rendering of the DatasetContainer checks if various text fields are visible 1`] = `
|
||||||
|
<DocumentFragment>
|
||||||
|
<header
|
||||||
|
class="usa-header usa-header--basic"
|
||||||
|
data-testid="header"
|
||||||
|
role="banner"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<section
|
||||||
|
class="usa-banner"
|
||||||
|
data-testid="govBanner"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="usa-accordion"
|
||||||
|
>
|
||||||
|
<header
|
||||||
|
class="usa-banner__header"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="usa-banner__inner"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-col-auto"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
alt="U.S. flag"
|
||||||
|
class="usa-banner__header-flag"
|
||||||
|
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAMAAABBPP0LAAAAG1BMVEUdM7EeNLIeM7HgQCDaPh/bPh/bPx/////bPyBEby41AAAAUElEQVQI123MNw4CABDEwD3jC/9/MQ1BQrgeOSkIqYe2o2FZtthXgQLgbHVMZdlsfUQFQnHtjP1+8BUhBDKOqtmfot6ojqPzR7TjdU+f6vkED+IDPhTBcMAAAAAASUVORK5CYII="
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-col-fill tablet:grid-col-auto"
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="usa-banner__header-text"
|
||||||
|
>
|
||||||
|
An official website of the United States government
|
||||||
|
</p>
|
||||||
|
<p
|
||||||
|
aria-hidden="true"
|
||||||
|
class="usa-banner__header-action"
|
||||||
|
>
|
||||||
|
Here’s how you know
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
aria-controls="gov-banner"
|
||||||
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-banner__button"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="usa-banner__button-text"
|
||||||
|
>
|
||||||
|
Here’s how you know
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div
|
||||||
|
class="usa-banner__content usa-accordion__content"
|
||||||
|
hidden=""
|
||||||
|
id="gov-banner"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-row grid-gap-lg"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="usa-banner__guidance tablet:grid-col-6"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
alt=""
|
||||||
|
aria-hidden="true"
|
||||||
|
class="usa-banner__icon usa-media-block__img"
|
||||||
|
role="img"
|
||||||
|
src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiB2aWV3Qm94PSIwIDAgNjQgNjQiPjx0aXRsZT5pY29uLWRvdC1nb3Y8L3RpdGxlPjxwYXRoIGZpbGw9IiMyMzc4QzMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDBjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMyIDAgMTcuNjczLTE0LjMyNyAzMi0zMiAzMkMxNC4zMjcgNjQgMCA0OS42NzMgMCAzMiAwIDE0LjMyNyAxNC4zMjcgMCAzMiAwem0wIDEuMjA4QzE0Ljk5NCAxLjIwOCAxLjIwOCAxNC45OTQgMS4yMDggMzJTMTQuOTk0IDYyLjc5MiAzMiA2Mi43OTIgNjIuNzkyIDQ5LjAwNiA2Mi43OTIgMzIgNDkuMDA2IDEuMjA4IDMyIDEuMjA4em0xMC41OSAzOC44NThhLjg1Ny44NTcgMCAwIDEgLjg4Mi44MjJ2MS42NDJIMTguODg2di0xLjY0MmEuODU3Ljg1NyAwIDAgMSAuODgyLS44MjJINDIuNTl6TTI1LjQ0MyAyNy43NzR2OS44MjloMS42NDJ2LTkuODNoMy4yNzN2OS44M0gzMnYtOS44M2gzLjI3MnY5LjgzaDEuNjQzdi05LjgzaDMuMjcydjkuODNoLjc2YS44NTcuODU3IDAgMCAxIC44ODIuODIxdi44MjFoLTIxLjN2LS44MDlhLjg1Ny44NTcgMCAwIDEgLjg4LS44MmguNzYydi05Ljg0MmgzLjI3MnptNS43MzYtOC4xODhsMTIuMjkzIDQuOTE1djEuNjQyaC0xLjYzYS44NTcuODU3IDAgMCAxLS44ODIuODIySDIxLjQxYS44NTcuODU3IDAgMCAxLS44ODItLjgyMmgtMS42NDJ2LTEuNjQybDEyLjI5My00LjkxNXoiLz48L3N2Zz4="
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
class="usa-media-block__body"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<strong>
|
||||||
|
Official websites use .gov
|
||||||
|
</strong>
|
||||||
|
<br />
|
||||||
|
A
|
||||||
|
<strong>
|
||||||
|
.gov
|
||||||
|
</strong>
|
||||||
|
website belongs to an official government organization in the United States.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="usa-banner__guidance tablet:grid-col-6"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
alt=""
|
||||||
|
aria-hidden="true"
|
||||||
|
class="usa-banner__icon usa-media-block__img"
|
||||||
|
role="img"
|
||||||
|
src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiB2aWV3Qm94PSIwIDAgNjQgNjQiPjx0aXRsZT5pY29uLWh0dHBzPC90aXRsZT48cGF0aCBmaWxsPSIjNzE5RjJBIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMiAwYzE3LjY3MyAwIDMyIDE0LjMyNyAzMiAzMiAwIDE3LjY3My0xNC4zMjcgMzItMzIgMzJDMTQuMzI3IDY0IDAgNDkuNjczIDAgMzIgMCAxNC4zMjcgMTQuMzI3IDAgMzIgMHptMCAxLjIwOEMxNC45OTQgMS4yMDggMS4yMDggMTQuOTk0IDEuMjA4IDMyUzE0Ljk5NCA2Mi43OTIgMzIgNjIuNzkyIDYyLjc5MiA0OS4wMDYgNjIuNzkyIDMyIDQ5LjAwNiAxLjIwOCAzMiAxLjIwOHptMCAxOC44ODZhNy4yNDUgNy4yNDUgMCAwIDEgNy4yNDUgNy4yNDV2My4xMDNoLjUyYy44NiAwIDEuNTU3LjY5OCAxLjU1NyAxLjU1OHY5LjMyMmMwIC44Ni0uNjk3IDEuNTU4LTEuNTU3IDEuNTU4aC0xNS41M2MtLjg2IDAtMS41NTctLjY5Ny0xLjU1Ny0xLjU1OFYzMmMwLS44Ni42OTctMS41NTggMS41NTctMS41NThoLjUyVjI3LjM0QTcuMjQ1IDcuMjQ1IDAgMCAxIDMyIDIwLjA5NHptMCAzLjEwM2E0LjE0MiA0LjE0MiAwIDAgMC00LjE0MiA0LjE0MnYzLjEwM2g4LjI4NFYyNy4zNEE0LjE0MiA0LjE0MiAwIDAgMCAzMiAyMy4xOTd6Ii8+PC9zdmc+"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
class="usa-media-block__body"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<strong>
|
||||||
|
Secure .gov websites use HTTPS
|
||||||
|
</strong>
|
||||||
|
<br />
|
||||||
|
A
|
||||||
|
<strong>
|
||||||
|
lock (
|
||||||
|
<span
|
||||||
|
class="icon-lock"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
alt="lock"
|
||||||
|
class="usa-banner__lock-image"
|
||||||
|
role="img"
|
||||||
|
src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjUyIiBoZWlnaHQ9IjY0IiB2aWV3Qm94PSIwIDAgNTIgNjQiPjx0aXRsZT5sb2NrPC90aXRsZT48cGF0aCBmaWxsPSIjMUIxQjFCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNiAwYzEwLjQ5MyAwIDE5IDguNTA3IDE5IDE5djloM2E0IDQgMCAwIDEgNCA0djI4YTQgNCAwIDAgMS00IDRINGE0IDQgMCAwIDEtNC00VjMyYTQgNCAwIDAgMSA0LTRoM3YtOUM3IDguNTA3IDE1LjUwNyAwIDI2IDB6bTAgOGMtNS45NzkgMC0xMC44NDMgNC43Ny0xMC45OTYgMTAuNzEyTDE1IDE5djloMjJ2LTljMC02LjA3NS00LjkyNS0xMS0xMS0xMXoiLz48L3N2Zz4="
|
||||||
|
title="Lock"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
)
|
||||||
|
</strong>
|
||||||
|
or
|
||||||
|
<strong>
|
||||||
|
https://
|
||||||
|
</strong>
|
||||||
|
means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<div />
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
This is a beta site.
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
It is an early, in-progress version of the tool with limited datasets that will
|
||||||
|
be regularly updated.
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-container-desktop-lg"
|
||||||
|
data-testid="gridContainer"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-row"
|
||||||
|
data-testid="grid"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-col-1"
|
||||||
|
data-testid="grid"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
alt="Climate and Economic Justice Screening Tool"
|
||||||
|
src="test-file-stub"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-col-6"
|
||||||
|
data-testid="grid"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
Climate and Economic Justice
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
Screening Tool
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
BETA
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-col-fill"
|
||||||
|
data-testid="grid"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
class="usa-menu-btn"
|
||||||
|
data-testid="navMenuButton"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
Menu
|
||||||
|
</button>
|
||||||
|
<nav
|
||||||
|
class="usa-nav"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
class="usa-nav__close"
|
||||||
|
data-testid="navCloseButton"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
alt="close"
|
||||||
|
src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiB2aWV3Qm94PSIwIDAgNjQgNjQiPjx0aXRsZT5jbG9zZTwvdGl0bGU+PHBhdGggZmlsbD0iIzU2NUM2NSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNTcuMDQyIDEuMTVsNS44MDkgNS44MDhhNCA0IDAgMCAxIDAgNS42NTdMNDMuNDY1IDMybDE5LjM4NiAxOS4zODVhNCA0IDAgMCAxIDAgNS42NTdsLTUuODA5IDUuODA5YTQgNCAwIDAgMS01LjY1NyAwTDMyIDQzLjQ2NSAxMi42MTUgNjIuODUxYTQgNCAwIDAgMS01LjY1NyAwbC01LjgwOS01LjgwOWE0IDQgMCAwIDEgMC01LjY1N0wyMC41MzUgMzIgMS4xNDkgMTIuNjE1YTQgNCAwIDAgMSAwLTUuNjU3bDUuODA5LTUuODA5YTQgNCAwIDAgMSA1LjY1NyAwTDMyIDIwLjUzNSA1MS4zODUgMS4xNDlhNCA0IDAgMCAxIDUuNjU3IDB6Ii8+PC9zdmc+"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__primary usa-accordion"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-explore-the-tool"
|
||||||
|
href="/en/"
|
||||||
|
>
|
||||||
|
Explore the tool
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
aria-controls="methMenu"
|
||||||
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-methodology"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
Methodology & data
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="methMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-methodology"
|
||||||
|
href="/en/methodology"
|
||||||
|
>
|
||||||
|
Methodology & data
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-downloads"
|
||||||
|
href="/en/downloads"
|
||||||
|
>
|
||||||
|
Downloads
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-technical-support-docs"
|
||||||
|
href="/en/technical-support-docs"
|
||||||
|
>
|
||||||
|
Technical Support Document
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
aria-controls="aboutMenu"
|
||||||
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-about"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
About
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="aboutMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-about"
|
||||||
|
href="/en/about"
|
||||||
|
>
|
||||||
|
About
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-faqs"
|
||||||
|
href="/en/faqs"
|
||||||
|
>
|
||||||
|
FAQs
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-public-engagement"
|
||||||
|
href="/en/public-engagement"
|
||||||
|
>
|
||||||
|
Public Engagement
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-contact"
|
||||||
|
href="/en/contact"
|
||||||
|
>
|
||||||
|
Contact
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<div />
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-container-desktop-lg"
|
||||||
|
data-testid="gridContainer"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="usa-alert usa-alert--info"
|
||||||
|
data-testid="alert"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="usa-alert__body"
|
||||||
|
>
|
||||||
|
<h4
|
||||||
|
class="usa-alert__heading"
|
||||||
|
>
|
||||||
|
Improvements to the map on the Explore the tool page
|
||||||
|
</h4>
|
||||||
|
<p
|
||||||
|
class="usa-alert__text"
|
||||||
|
>
|
||||||
|
View improvements made to the display of the information for each census tract and
|
||||||
|
<a
|
||||||
|
class="usa-link usa-link--external"
|
||||||
|
data-cy=""
|
||||||
|
href="mailto:Screeningtool-Support@omb.eop.gov"
|
||||||
|
rel="noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
send feedback
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<main
|
||||||
|
id="main-content"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-container-desktop-lg"
|
||||||
|
data-testid="gridContainer"
|
||||||
|
>
|
||||||
|
<h1>
|
||||||
|
Downloads
|
||||||
|
</h1>
|
||||||
|
<div
|
||||||
|
class="desktop:grid-col-8"
|
||||||
|
data-testid="grid"
|
||||||
|
>
|
||||||
|
<h2>
|
||||||
|
File formats
|
||||||
|
</h2>
|
||||||
|
<p>
|
||||||
|
The dataset used in the tool, along with a data dictionary and information about how to use the list of communities (.pdf) are available in the following file formats:
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="/about"
|
||||||
|
>
|
||||||
|
Excel file
|
||||||
|
</a>
|
||||||
|
(.xlxs 54MB unzipped)
|
||||||
|
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="/csv"
|
||||||
|
>
|
||||||
|
CSV file
|
||||||
|
</a>
|
||||||
|
(.csv 52MB unzipped)
|
||||||
|
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="/shape"
|
||||||
|
>
|
||||||
|
Shapefiles
|
||||||
|
</a>
|
||||||
|
(Codebook included with geojson 110MB unzipped)
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
<footer
|
||||||
|
class="j40-footer"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="usa-footer__primary-section pb2"
|
||||||
|
data-cy="footer-primary-block"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-container-desktop-lg"
|
||||||
|
data-testid="gridContainer"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-row tablet-lg:grid-col4"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="mobile-lg:grid-col-12 desktop:grid-col-4"
|
||||||
|
>
|
||||||
|
<section>
|
||||||
|
<div
|
||||||
|
class="j40-h4"
|
||||||
|
>
|
||||||
|
Contact
|
||||||
|
</div>
|
||||||
|
<ul
|
||||||
|
class="usa-list usa-list--unstyled"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-footer__secondary-link"
|
||||||
|
>
|
||||||
|
<address
|
||||||
|
class="usa-footer__address j40-footer-address"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="usa-footer__contact-info grid-row grid-gap"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-col-auto"
|
||||||
|
>
|
||||||
|
Council on Environmental Quality
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-col-auto"
|
||||||
|
>
|
||||||
|
730 Jackson Pl NW
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-col-auto"
|
||||||
|
>
|
||||||
|
Washington, D.C. 20506
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-col-auto"
|
||||||
|
>
|
||||||
|
(202) 395-5750
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</address>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="mobile-lg:grid-col-12 desktop:grid-col-4"
|
||||||
|
>
|
||||||
|
<section>
|
||||||
|
<div
|
||||||
|
class="j40-h4"
|
||||||
|
>
|
||||||
|
More information
|
||||||
|
</div>
|
||||||
|
<ul
|
||||||
|
class="usa-list usa-list--unstyled"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-footer__secondary-link"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
class="usa-link usa-link--external footer-link-first-child"
|
||||||
|
data-cy="whitehouse-gov"
|
||||||
|
href="https://www.whitehouse.gov/"
|
||||||
|
rel="noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
Whitehouse.gov
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-footer__secondary-link"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
class="usa-link usa-link--external"
|
||||||
|
data-cy="freedom-of-information-act-(foia)"
|
||||||
|
href="https://www.whitehouse.gov/ceq/foia"
|
||||||
|
rel="noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
Freedom of Information Act (FOIA)
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-footer__secondary-link"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
class="usa-link usa-link--external"
|
||||||
|
data-cy="privacy-policy"
|
||||||
|
href="https://www.whitehouse.gov/privacy/"
|
||||||
|
rel="noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
Privacy Policy
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="mobile-lg:grid-col-12 desktop:grid-col-4"
|
||||||
|
>
|
||||||
|
<section>
|
||||||
|
<div
|
||||||
|
class="j40-h4"
|
||||||
|
>
|
||||||
|
Have a question about government services?
|
||||||
|
</div>
|
||||||
|
<ul
|
||||||
|
class="usa-list usa-list--unstyled"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-footer__secondary-link"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
class="usa-link usa-link--external footer-link-first-child"
|
||||||
|
data-cy="find-a-contact-at-usa-gov"
|
||||||
|
href="https://www.usa.gov/"
|
||||||
|
rel="noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
Find a contact at USA.gov
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="usa-footer__secondary-section"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="grid-container-desktop-lg"
|
||||||
|
data-testid="gridContainer"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="usa-footer__logo grid-row mobile-lg:grid-col-6 mobile-lg:grid-gap-2"
|
||||||
|
data-testid="footerLogo"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="mobile-lg:grid-col-auto"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
alt="Whitehouse logo"
|
||||||
|
class="usa-footer__logo-img"
|
||||||
|
src="test-file-stub"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="mobile-lg:grid-col-auto"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="j40-footer-ceq-font"
|
||||||
|
>
|
||||||
|
Council on Environmental Quality
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="grid-container-desktop-lg"
|
||||||
|
data-testid="gridContainer"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
class="usa-button"
|
||||||
|
data-testid="button"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
Help improve the site & data
|
||||||
|
<img
|
||||||
|
alt="launch icon"
|
||||||
|
src="test-file-stub"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</DocumentFragment>
|
||||||
|
`;
|
|
@ -218,22 +218,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
<ul
|
<ul
|
||||||
class="usa-nav__primary usa-accordion"
|
class="usa-nav__primary usa-accordion"
|
||||||
>
|
>
|
||||||
<li
|
|
||||||
class="usa-nav__primary-item"
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
data-cy="nav-link-about"
|
|
||||||
href="/en/"
|
|
||||||
>
|
|
||||||
About
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
data-cy="nav-link-explore-the-tool"
|
data-cy="nav-link-explore-the-tool"
|
||||||
href="/en/cejst"
|
href="/en/"
|
||||||
>
|
>
|
||||||
Explore the tool
|
Explore the tool
|
||||||
</a>
|
</a>
|
||||||
|
@ -241,12 +231,106 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
>
|
>
|
||||||
<a
|
<button
|
||||||
data-cy="nav-link-methodology"
|
aria-controls="methMenu"
|
||||||
href="/en/methodology"
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-methodology"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
>
|
>
|
||||||
Methodology & data
|
<span>
|
||||||
</a>
|
Methodology & data
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="methMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-methodology"
|
||||||
|
href="/en/methodology"
|
||||||
|
>
|
||||||
|
Methodology & data
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-downloads"
|
||||||
|
href="/en/downloads"
|
||||||
|
>
|
||||||
|
Downloads
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-technical-support-docs"
|
||||||
|
href="/en/technical-support-docs"
|
||||||
|
>
|
||||||
|
Technical Support Document
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__primary-item"
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
aria-controls="aboutMenu"
|
||||||
|
aria-expanded="false"
|
||||||
|
class="usa-accordion__button usa-nav__link"
|
||||||
|
data-cy="nav-dropdown-about"
|
||||||
|
data-testid="navDropDownButton"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
About
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul
|
||||||
|
class="usa-nav__submenu"
|
||||||
|
hidden=""
|
||||||
|
id="aboutMenu"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-about"
|
||||||
|
href="/en/about"
|
||||||
|
>
|
||||||
|
About
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-faqs"
|
||||||
|
href="/en/faqs"
|
||||||
|
>
|
||||||
|
FAQs
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li
|
||||||
|
class="usa-nav__submenu-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
data-cy="nav-link-public-engagement"
|
||||||
|
href="/en/public-engagement"
|
||||||
|
>
|
||||||
|
Public Engagement
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
class="usa-nav__primary-item"
|
class="usa-nav__primary-item"
|
||||||
|
@ -310,34 +394,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
||||||
class="grid-container-desktop-lg"
|
class="grid-container-desktop-lg"
|
||||||
data-testid="gridContainer"
|
data-testid="gridContainer"
|
||||||
>
|
>
|
||||||
<section
|
<h1>
|
||||||
class="page-heading"
|
Methodology
|
||||||
>
|
</h1>
|
||||||
<h1>
|
|
||||||
Methodology
|
|
||||||
</h1>
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
<span
|
|
||||||
class="usa-tag"
|
|
||||||
data-testid="tag"
|
|
||||||
>
|
|
||||||
UPDATED
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<a
|
|
||||||
href="/en/public-engagement"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="usa-button usa-button--icon"
|
|
||||||
data-testid="button"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
Public Engagement
|
|
||||||
</button>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<div
|
<div
|
||||||
class="grid-row grid-gap j40-mb5-mt3"
|
class="grid-row grid-gap j40-mb5-mt3"
|
||||||
data-testid="grid"
|
data-testid="grid"
|
1079
client/src/pages/tests/__snapshots__/publicEng.test.tsx.snap
Normal file
1079
client/src/pages/tests/__snapshots__/publicEng.test.tsx.snap
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,12 +1,12 @@
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import {render} from '@testing-library/react';
|
import {render} from '@testing-library/react';
|
||||||
import {LocalizedComponent} from '../test/testHelpers';
|
import {LocalizedComponent} from '../../test/testHelpers';
|
||||||
import Index from './index';
|
import AboutPage from '../about';
|
||||||
|
|
||||||
describe('rendering of the DatasetContainer', () => {
|
describe('rendering of the DatasetContainer', () => {
|
||||||
const {asFragment} = render(
|
const {asFragment} = render(
|
||||||
<LocalizedComponent>
|
<LocalizedComponent>
|
||||||
<Index location={window.location}/>
|
<AboutPage location={window.location}/>
|
||||||
</LocalizedComponent>,
|
</LocalizedComponent>,
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import {render} from '@testing-library/react';
|
import {render} from '@testing-library/react';
|
||||||
import {LocalizedComponent} from '../test/testHelpers';
|
import {LocalizedComponent} from '../../test/testHelpers';
|
||||||
import Contact from './contact';
|
import Contact from '../contact';
|
||||||
|
|
||||||
describe('rendering of the DatasetContainer', () => {
|
describe('rendering of the DatasetContainer', () => {
|
||||||
const {asFragment} = render(
|
const {asFragment} = render(
|
16
client/src/pages/tests/downloads.test.tsx
Normal file
16
client/src/pages/tests/downloads.test.tsx
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
import * as React from 'react';
|
||||||
|
import {render} from '@testing-library/react';
|
||||||
|
import {LocalizedComponent} from '../../test/testHelpers';
|
||||||
|
import DownloadsPage from '../downloads';
|
||||||
|
|
||||||
|
describe('rendering of the DatasetContainer', () => {
|
||||||
|
const {asFragment} = render(
|
||||||
|
<LocalizedComponent>
|
||||||
|
<DownloadsPage location={window.location}/>
|
||||||
|
</LocalizedComponent>,
|
||||||
|
);
|
||||||
|
|
||||||
|
it('checks if various text fields are visible', () => {
|
||||||
|
expect(asFragment()).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
|
@ -1,7 +1,7 @@
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import {render} from '@testing-library/react';
|
import {render} from '@testing-library/react';
|
||||||
import {LocalizedComponent} from '../test/testHelpers';
|
import {LocalizedComponent} from '../../test/testHelpers';
|
||||||
import Meth from './methodology';
|
import Meth from '../methodology';
|
||||||
|
|
||||||
describe('rendering of the DatasetContainer', () => {
|
describe('rendering of the DatasetContainer', () => {
|
||||||
const {asFragment} = render(
|
const {asFragment} = render(
|
16
client/src/pages/tests/publicEng.test.tsx
Normal file
16
client/src/pages/tests/publicEng.test.tsx
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
import * as React from 'react';
|
||||||
|
import {render} from '@testing-library/react';
|
||||||
|
import {LocalizedComponent} from '../../test/testHelpers';
|
||||||
|
import PublicEngagementPage from '../public-engagement';
|
||||||
|
|
||||||
|
describe('rendering of the DatasetContainer', () => {
|
||||||
|
const {asFragment} = render(
|
||||||
|
<LocalizedComponent>
|
||||||
|
<PublicEngagementPage location={window.location}/>
|
||||||
|
</LocalizedComponent>,
|
||||||
|
);
|
||||||
|
|
||||||
|
it('checks if various text fields are visible', () => {
|
||||||
|
expect(asFragment()).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
|
@ -124,15 +124,6 @@ components include:
|
||||||
border-top: 0; // The main content has border this removes it
|
border-top: 0; // The main content has border this removes it
|
||||||
min-height: 60vh; // Contact page's content is not enough to fill page so this keeps the footer low
|
min-height: 60vh; // Contact page's content is not enough to fill page so this keeps the footer low
|
||||||
|
|
||||||
.page-heading {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
@include at-media-max("tablet"){
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.j40-mb5-mt3 {
|
.j40-mb5-mt3 {
|
||||||
@include u-margin-bottom(5);
|
@include u-margin-bottom(5);
|
||||||
@include u-margin-top(3);
|
@include u-margin-top(3);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue