mirror of
https://github.com/DOI-DO/j40-cejst-2.git
synced 2025-07-31 10:11:17 -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
|
||||
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
|
||||
Then I see "About" in the title
|
||||
|
||||
Scenario: About page open when navigating from 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
|
||||
Then I see "About" in the title
|
||||
|
||||
Scenario: About page open when navigating from 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
|
||||
Then I see "About" in the title
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
export const ENDPOINTS = {
|
||||
ABOUT: 'en/',
|
||||
EXPLORE_THE_TOOL: '/en/cejst',
|
||||
EXPLORE_THE_TOOL: 'en/',
|
||||
ABOUT: '/en/about',
|
||||
METHODOLOGY: '/en/methodology',
|
||||
CONTACT: 'en/contact',
|
||||
PUBLIC: 'en/public-engagement',
|
||||
DOWNLOAD: 'en/downloads',
|
||||
};
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
// / <reference types="Cypress" />
|
||||
|
||||
describe('Does the Census Block Group packet download?', () => {
|
||||
const filename = `Screening_Tool_Data.zip`;
|
||||
it('validate file download', () => {
|
||||
cy.visit('localhost:8000/en/methodology');
|
||||
// describe('Does the Census Block Group packet download?', () => {
|
||||
// const filename = `Screening_Tool_Data.zip`;
|
||||
// it('validate file download', () => {
|
||||
// cy.visit('localhost:8000/en/methodology');
|
||||
|
||||
cy.get('[data-cy="download-link"]').invoke('attr', 'target', '_blank');
|
||||
cy.intercept('GET', '/data-pipeline/data/score/downloadable/Screening_Tool_Data.zip',
|
||||
{
|
||||
hostname: 'https://d3jqyw10j8e7p9.cloudfront.net',
|
||||
body: 'success',
|
||||
headers: {
|
||||
'Content-Type': 'text/html; charset=utf-8',
|
||||
'Content-Disposition': 'attachment',
|
||||
},
|
||||
},
|
||||
).as('downloadRequest');
|
||||
cy.get('button[class*="downloadPacket"]').click();
|
||||
cy.wait('@downloadRequest');
|
||||
cy.readFile(`cypress/downloads/${filename}`).should('exist');
|
||||
});
|
||||
});
|
||||
// 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',
|
||||
// {
|
||||
// hostname: 'https://d3jqyw10j8e7p9.cloudfront.net',
|
||||
// body: 'success',
|
||||
// headers: {
|
||||
// 'Content-Type': 'text/html; charset=utf-8',
|
||||
// 'Content-Disposition': 'attachment',
|
||||
// },
|
||||
// },
|
||||
// ).as('downloadRequest');
|
||||
// cy.get('button[class*="downloadPacket"]').click();
|
||||
// cy.wait('@downloadRequest');
|
||||
// cy.readFile(`cypress/downloads/${filename}`).should('exist');
|
||||
// });
|
||||
// });
|
||||
|
|
|
@ -4,7 +4,7 @@ describe('Translation Test', () => {
|
|||
it('Sets default language to /en and redirects', () => {
|
||||
cy.visit('http://localhost:8000');
|
||||
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
|
||||
|
|
|
@ -2,15 +2,18 @@ Feature: The Methodology page will open from all other pages
|
|||
|
||||
Scenario: Methodology page open when navigating from 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
|
||||
Then I see "Methodology" in the title
|
||||
|
||||
Scenario: Methodology page open when navigating from 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
|
||||
Then I see "Methodology" in the title
|
||||
|
||||
Scenario: Methodology page open when navigating from 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
|
||||
Then I see "Methodology" in the title
|
|
@ -13,6 +13,11 @@ Given('I am on the {string} page', (page) => {
|
|||
});
|
||||
|
||||
// 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) => {
|
||||
const pageHyphenCase = hyphenizeString(page);
|
||||
cy.get(`[data-cy="nav-link-${pageHyphenCase}"]`).click();
|
||||
|
|
|
@ -83,11 +83,12 @@ module.exports = {
|
|||
options: {
|
||||
excludes: [
|
||||
'/',
|
||||
'/cejst',
|
||||
'/about',
|
||||
'/contact',
|
||||
'/methodology',
|
||||
'/404',
|
||||
'public-engagement',
|
||||
'/public-engagement',
|
||||
'/downloads',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
|
|
@ -6,6 +6,8 @@ import {
|
|||
PrimaryNav,
|
||||
Grid,
|
||||
Alert,
|
||||
NavDropDownButton,
|
||||
Menu,
|
||||
} from '@trussworks/react-uswds';
|
||||
import BetaBanner from '../BetaBanner';
|
||||
import J40MainGridContainer from '../J40MainGridContainer';
|
||||
|
@ -21,29 +23,34 @@ const isAlertValid = new Date < COMMON_COPY.ALERTS.EXPIRATION_DATE;
|
|||
|
||||
const J40Header = () => {
|
||||
const intl = useIntl();
|
||||
const [mobileNavOpen, setMobileNavOpen] = useState(false);
|
||||
|
||||
const titleL1 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_1);
|
||||
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 =>
|
||||
setMobileNavOpen((prevOpen) => !prevOpen);
|
||||
|
||||
const navLinks = [
|
||||
<Link
|
||||
to={'/'}
|
||||
key={'about'}
|
||||
activeClassName="usa-current"
|
||||
data-cy={'nav-link-about'}>
|
||||
{intl.formatMessage(COMMON_COPY.HEADER.ABOUT)}
|
||||
</Link>,
|
||||
<Link
|
||||
to={'/cejst'}
|
||||
key={'cejst'}
|
||||
activeClassName="usa-current"
|
||||
data-cy={'nav-link-explore-the-tool'}>
|
||||
{intl.formatMessage(COMMON_COPY.HEADER.EXPLORE)}
|
||||
</Link>,
|
||||
/**
|
||||
* State variable to hold the open/close state of each nav dropdown. There are currently two
|
||||
* dropdowns that are being used, each corresponding to an index in the state array:
|
||||
*
|
||||
* index 0 = Data & Methodology dropdown
|
||||
* index 1 = About dropdown
|
||||
*/
|
||||
const [isOpen, setIsOpen] = useState([false, false]);
|
||||
const onToggle = (index: number): void => {
|
||||
setIsOpen((prevIsOpen) => {
|
||||
const newIsOpen = [false, false];
|
||||
newIsOpen[index] = !prevIsOpen[index];
|
||||
return newIsOpen;
|
||||
});
|
||||
};
|
||||
|
||||
const methPageSubNavLinks = [
|
||||
<Link
|
||||
to={'/methodology'}
|
||||
key={'methodology'}
|
||||
|
@ -51,6 +58,90 @@ const J40Header = () => {
|
|||
data-cy={'nav-link-methodology'}>
|
||||
{intl.formatMessage(COMMON_COPY.HEADER.METHODOLOGY)}
|
||||
</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
|
||||
to={'/contact'}
|
||||
key={'contact'}
|
||||
|
@ -93,6 +184,7 @@ const J40Header = () => {
|
|||
|
||||
{/* Nav links */}
|
||||
<Grid col={'fill'} className={styles.navLinks}>
|
||||
|
||||
<NavMenuButton
|
||||
key={'mobileMenuButton'}
|
||||
onClick={toggleMobileNav}
|
||||
|
@ -102,7 +194,8 @@ const J40Header = () => {
|
|||
items={navLinks}
|
||||
mobileExpanded={mobileNavOpen}
|
||||
onToggleMobileNav={toggleMobileNav}
|
||||
/>
|
||||
>
|
||||
</PrimaryNav>
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
|
|
|
@ -218,22 +218,12 @@ exports[`rendering of the J40Header checks if component renders 1`] = `
|
|||
<ul
|
||||
class="usa-nav__primary usa-accordion"
|
||||
>
|
||||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-about"
|
||||
href="/en/"
|
||||
>
|
||||
About
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-explore-the-tool"
|
||||
href="/en/cejst"
|
||||
href="/en/"
|
||||
>
|
||||
Explore the tool
|
||||
</a>
|
||||
|
@ -241,12 +231,106 @@ exports[`rendering of the J40Header checks if component renders 1`] = `
|
|||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-methodology"
|
||||
href="/en/methodology"
|
||||
<button
|
||||
aria-controls="methMenu"
|
||||
aria-expanded="false"
|
||||
class="usa-accordion__button usa-nav__link"
|
||||
data-cy="nav-dropdown-methodology"
|
||||
data-testid="navDropDownButton"
|
||||
type="button"
|
||||
>
|
||||
Methodology & data
|
||||
</a>
|
||||
<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"
|
||||
|
|
|
@ -89,6 +89,26 @@ export const HEADER = defineMessages({
|
|||
defaultMessage: 'Contact',
|
||||
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
|
||||
|
|
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",
|
||||
"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": {
|
||||
"defaultMessage": "Explore the tool",
|
||||
"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": {
|
||||
"defaultMessage": "Methodology & data",
|
||||
"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": {
|
||||
"defaultMessage": "Climate and Economic Justice",
|
||||
"description": "Navigate to the about page. This is Title in nav header line 1 of 2"
|
||||
|
@ -179,6 +191,10 @@
|
|||
"defaultMessage": "Screening Tool",
|
||||
"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": {
|
||||
"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"
|
||||
|
@ -219,6 +235,30 @@
|
|||
"defaultMessage": "Contact",
|
||||
"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": {
|
||||
"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."
|
||||
|
|
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 Layout from '../components/layout';
|
||||
import LinkTypeWrapper from '../components/LinkTypeWrapper';
|
||||
import PublicEngageButton from '../components/PublicEngageButton';
|
||||
import RequestForInfo from '../components/RequestForInfo';
|
||||
|
||||
import * as CONTACT_COPY from '../data/copy/contact';
|
||||
|
@ -22,10 +21,7 @@ const ContactPage = ({location}: IContactPageProps) => {
|
|||
|
||||
<J40MainGridContainer>
|
||||
|
||||
<section className={'page-heading'}>
|
||||
<h1>{intl.formatMessage(CONTACT_COPY.PAGE_INTRO.PAGE_HEADING)}</h1>
|
||||
<PublicEngageButton />
|
||||
</section>
|
||||
<h1>{intl.formatMessage(CONTACT_COPY.PAGE_INTRO.PAGE_HEADING)}</h1>
|
||||
|
||||
<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 {Grid} from '@trussworks/react-uswds';
|
||||
|
||||
import AboutCard from '../components/AboutCard/AboutCard';
|
||||
import AboutCardsContainer from '../components/AboutCard/AboutCardsContainer';
|
||||
import HowYouCanHelp from '../components/HowYouCanHelp';
|
||||
import J40MainGridContainer from '../components/J40MainGridContainer';
|
||||
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 COMMON_COPY from '../data/copy/common';
|
||||
import * as EXPLORE_COPY from '../data/copy/explore';
|
||||
|
||||
// @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 IndexPageProps {
|
||||
interface IMapPageProps {
|
||||
location: Location;
|
||||
}
|
||||
|
||||
// markup
|
||||
const IndexPage = ({location}: IndexPageProps) => {
|
||||
const ExporeToolPage = ({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(ABOUT_COPY.PAGE.TILE)}>
|
||||
|
||||
<J40MainGridContainer>
|
||||
<section className={'page-heading'}>
|
||||
<h1 data-cy={'about-page-heading'}>{intl.formatMessage(ABOUT_COPY.PAGE.HEADING)}</h1>
|
||||
<PublicEngageButton />
|
||||
</section>
|
||||
return (<Layout location={location} title={intl.formatMessage(EXPLORE_COPY.PAGE_INTRO.PAGE_TILE)}>
|
||||
|
||||
<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>
|
||||
<J40MainGridContainer>
|
||||
|
||||
<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>
|
||||
<h1>{intl.formatMessage(EXPLORE_COPY.PAGE_INTRO.PAGE_HEADING)}</h1>
|
||||
|
||||
<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>
|
||||
<Grid row gap className={'j40-mb5-mt3'}>
|
||||
|
||||
<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={'/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}>
|
||||
{/* 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>
|
||||
{intl.formatMessage(ABOUT_COPY.GET_INVOLVED.SEND_FEEDBACK_INFO)}
|
||||
{EXPLORE_COPY.PAGE_DESCRIPTION}
|
||||
</p>
|
||||
</AboutCard>
|
||||
</section>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</J40MainGridContainer>
|
||||
|
||||
<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>);
|
||||
<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 IndexPage;
|
||||
export default ExporeToolPage;
|
||||
|
|
|
@ -8,7 +8,6 @@ import DownloadPacket from '../components/DownloadPacket';
|
|||
import J40MainGridContainer from '../components/J40MainGridContainer';
|
||||
import MethodologyFormula from '../components/MethodologyFormula';
|
||||
import Layout from '../components/layout';
|
||||
import PublicEngageButton from '../components/PublicEngageButton';
|
||||
|
||||
import * as METHODOLOGY_COPY from '../data/copy/methodology';
|
||||
|
||||
|
@ -24,10 +23,7 @@ const IndexPage = ({location}: MethodPageProps) => {
|
|||
|
||||
<J40MainGridContainer>
|
||||
|
||||
<section className={'page-heading'}>
|
||||
<h1>{intl.formatMessage(METHODOLOGY_COPY.PAGE.HEADING)}</h1>
|
||||
<PublicEngageButton />
|
||||
</section>
|
||||
<h1>{intl.formatMessage(METHODOLOGY_COPY.PAGE.HEADING)}</h1>
|
||||
|
||||
<Grid row gap className={'j40-mb5-mt3'}>
|
||||
|
||||
|
|
|
@ -218,22 +218,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
<ul
|
||||
class="usa-nav__primary usa-accordion"
|
||||
>
|
||||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-about"
|
||||
href="/en/"
|
||||
>
|
||||
About
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-explore-the-tool"
|
||||
href="/en/cejst"
|
||||
href="/en/"
|
||||
>
|
||||
Explore the tool
|
||||
</a>
|
||||
|
@ -241,12 +231,106 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-methodology"
|
||||
href="/en/methodology"
|
||||
<button
|
||||
aria-controls="methMenu"
|
||||
aria-expanded="false"
|
||||
class="usa-accordion__button usa-nav__link"
|
||||
data-cy="nav-dropdown-methodology"
|
||||
data-testid="navDropDownButton"
|
||||
type="button"
|
||||
>
|
||||
Methodology & data
|
||||
</a>
|
||||
<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"
|
||||
|
@ -310,36 +394,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
class="grid-container-desktop-lg"
|
||||
data-testid="gridContainer"
|
||||
>
|
||||
<section
|
||||
class="page-heading"
|
||||
<h1
|
||||
data-cy="about-page-heading"
|
||||
>
|
||||
<h1
|
||||
data-cy="about-page-heading"
|
||||
>
|
||||
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>
|
||||
About
|
||||
</h1>
|
||||
<div
|
||||
class="grid-row grid-gap-lg j40-aboutcard-container "
|
||||
data-testid="grid"
|
||||
|
@ -584,7 +643,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
class="j40-aboutcard-sm-link"
|
||||
>
|
||||
<a
|
||||
href="/en/cejst"
|
||||
href="/en/"
|
||||
>
|
||||
Explore the tool
|
||||
</a>
|
|
@ -218,22 +218,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
<ul
|
||||
class="usa-nav__primary usa-accordion"
|
||||
>
|
||||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-about"
|
||||
href="/en/"
|
||||
>
|
||||
About
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-explore-the-tool"
|
||||
href="/en/cejst"
|
||||
href="/en/"
|
||||
>
|
||||
Explore the tool
|
||||
</a>
|
||||
|
@ -241,12 +231,106 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-methodology"
|
||||
href="/en/methodology"
|
||||
<button
|
||||
aria-controls="methMenu"
|
||||
aria-expanded="false"
|
||||
class="usa-accordion__button usa-nav__link"
|
||||
data-cy="nav-dropdown-methodology"
|
||||
data-testid="navDropDownButton"
|
||||
type="button"
|
||||
>
|
||||
Methodology & data
|
||||
</a>
|
||||
<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"
|
||||
|
@ -310,34 +394,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
class="grid-container-desktop-lg"
|
||||
data-testid="gridContainer"
|
||||
>
|
||||
<section
|
||||
class="page-heading"
|
||||
>
|
||||
<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>
|
||||
<h1>
|
||||
Contact
|
||||
</h1>
|
||||
<div
|
||||
class="grid-row grid-gap-6"
|
||||
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
|
||||
class="usa-nav__primary usa-accordion"
|
||||
>
|
||||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-about"
|
||||
href="/en/"
|
||||
>
|
||||
About
|
||||
</a>
|
||||
</li>
|
||||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-explore-the-tool"
|
||||
href="/en/cejst"
|
||||
href="/en/"
|
||||
>
|
||||
Explore the tool
|
||||
</a>
|
||||
|
@ -241,12 +231,106 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
<li
|
||||
class="usa-nav__primary-item"
|
||||
>
|
||||
<a
|
||||
data-cy="nav-link-methodology"
|
||||
href="/en/methodology"
|
||||
<button
|
||||
aria-controls="methMenu"
|
||||
aria-expanded="false"
|
||||
class="usa-accordion__button usa-nav__link"
|
||||
data-cy="nav-dropdown-methodology"
|
||||
data-testid="navDropDownButton"
|
||||
type="button"
|
||||
>
|
||||
Methodology & data
|
||||
</a>
|
||||
<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"
|
||||
|
@ -310,34 +394,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
|
|||
class="grid-container-desktop-lg"
|
||||
data-testid="gridContainer"
|
||||
>
|
||||
<section
|
||||
class="page-heading"
|
||||
>
|
||||
<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>
|
||||
<h1>
|
||||
Methodology
|
||||
</h1>
|
||||
<div
|
||||
class="grid-row grid-gap j40-mb5-mt3"
|
||||
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 {render} from '@testing-library/react';
|
||||
import {LocalizedComponent} from '../test/testHelpers';
|
||||
import Index from './index';
|
||||
import {LocalizedComponent} from '../../test/testHelpers';
|
||||
import AboutPage from '../about';
|
||||
|
||||
describe('rendering of the DatasetContainer', () => {
|
||||
const {asFragment} = render(
|
||||
<LocalizedComponent>
|
||||
<Index location={window.location}/>
|
||||
<AboutPage location={window.location}/>
|
||||
</LocalizedComponent>,
|
||||
);
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import * as React from 'react';
|
||||
import {render} from '@testing-library/react';
|
||||
import {LocalizedComponent} from '../test/testHelpers';
|
||||
import Contact from './contact';
|
||||
import {LocalizedComponent} from '../../test/testHelpers';
|
||||
import Contact from '../contact';
|
||||
|
||||
describe('rendering of the DatasetContainer', () => {
|
||||
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 {render} from '@testing-library/react';
|
||||
import {LocalizedComponent} from '../test/testHelpers';
|
||||
import Meth from './methodology';
|
||||
import {LocalizedComponent} from '../../test/testHelpers';
|
||||
import Meth from '../methodology';
|
||||
|
||||
describe('rendering of the DatasetContainer', () => {
|
||||
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
|
||||
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 {
|
||||
@include u-margin-bottom(5);
|
||||
@include u-margin-top(3);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue