- Download the data sources used in the CEJST (.csv, .xlxs,
-
- .pdf
-
- that describes how to use the list, and a
-
- codebook
-
- , 53MB unzipped), the shapefile, along with a
-
- codebook
-
- (.zip, 742MB unzipped) or the technical support document (.pdf, 2.5MB unzipped).
-
- );
-};
+import HowYouCanHelp from './HowYouCanHelp';
export default HowYouCanHelp;
diff --git a/client/src/components/HowYouCanHelp/tests/__snapshots__/howYouCanHelp.test.tsx.snap b/client/src/components/HowYouCanHelp/tests/__snapshots__/howYouCanHelp.test.tsx.snap
index d40c188f..e94d6bb3 100644
--- a/client/src/components/HowYouCanHelp/tests/__snapshots__/howYouCanHelp.test.tsx.snap
+++ b/client/src/components/HowYouCanHelp/tests/__snapshots__/howYouCanHelp.test.tsx.snap
@@ -30,17 +30,7 @@ exports[`rendering of the HowYouCanHelp checks if various text fields are visibl
.
- Respond to our Request for Information on
-
- federalregister.gov
-
- .
+ The Request for Information on the Federal Register is now closed.
diff --git a/client/src/components/J40Header/J40Header.tsx b/client/src/components/J40Header/J40Header.tsx
index 011e127b..e8a87b66 100644
--- a/client/src/components/J40Header/J40Header.tsx
+++ b/client/src/components/J40Header/J40Header.tsx
@@ -5,14 +5,14 @@ import {
NavMenuButton,
PrimaryNav,
Grid,
- Alert,
- // NavDropDownButton,
- // Menu,
+ NavDropDownButton,
+ Menu,
} from '@trussworks/react-uswds';
import BetaBanner from '../BetaBanner';
import J40MainGridContainer from '../J40MainGridContainer';
import GovernmentBanner from '../GovernmentBanner';
import Language from '../Language';
+import {useWindowSize} from 'react-use';
// @ts-ignore
import siteLogo from '../../images/j40-logo-v2.png';
@@ -20,73 +20,79 @@ import * as styles from './J40Header.module.scss';
import * as COMMON_COPY from '../../data/copy/common';
import {PAGES_ENDPOINTS} from '../../data/constants';
+/**
+ * The J40Header component will control how the header looks for both mobile and desktop
+ *
+ * The Header is defined as
+ * 1. Two rows of Banners (ie, official gov website and beta site)
+ * 2. Logo and Nav Links Row
+ * 3. Any Alerts
+ *
+ * @return {JSX.Element}
+ */
const J40Header = () => {
const intl = useIntl();
+ const {width} = useWindowSize();
- const titleL1 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_1);
- const titleL2 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_2);
+ // Logo text
+ const logoLine1 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_1);
+ const logoLine2 = intl.formatMessage(COMMON_COPY.HEADER.TITLE_LINE_2);
/**
- * State variable to control the mobile menu toggle
+ * State variable to control the toggling of mobile menu button
*/
const [mobileNavOpen, setMobileNavOpen] = useState(false);
const toggleMobileNav = (): void =>
setMobileNavOpen((prevOpen) => !prevOpen);
+ /**
+ * State variable to hold the open/close state of each nav dropdown. This will allow for two
+ * dropdown that are being used, each corresponding to an index in the state array:
+ *
+ * index 0 = Data & Methodology dropdown (being used)
+ * index 1 = About dropdown (removed for now)
+ */
+ const [isOpen, setIsOpen] = useState([true]);
+ const onToggle = (index: number): void => {
+ setIsOpen((prevIsOpen) => {
+ const newIsOpen = [true];
+ newIsOpen[index] = !prevIsOpen[index];
+ return newIsOpen;
+ });
+ };
/**
- * The original work of this release called for creating a download page, a FAQ page and TSD page. These
- * were to be embedded in dropdown menus in the navigation bar of the header. These were all completed.
- * After discovering that the dropdown component from USWDS was not operating as expected, we decided to
- * revert to another design.
- *
- * It was also decided that some more design was needed and that these pages along with their designs will
- * be used in the near future. Rather than deleted the code or moving it to another branch, the assumption
- * was made that since this will be added back in the near term, let's comment it out for now.
- *
- * If for some reason we haven't integrated this logic in the near future, this code will be deleted.
+ * On mobile, the Methodology & Data page should have two sub-nav links. This defines
+ * the array that will hold these links
*/
+ const methPageSubNavLinks = [
+
+ {intl.formatMessage(COMMON_COPY.HEADER.METHODOLOGY)}
+ ,
+
+ {intl.formatMessage(COMMON_COPY.HEADER.DOWNLOADS)}
+ ,
+ //
+ // {intl.formatMessage(COMMON_COPY.HEADER.TSD)}
+ // ,
+ ];
/**
- * 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
+ * In the future, we may want to add sub-pages to the About page. This array will
+ * define the sub-pages for the About page.
*/
- // 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 = [
- //
- // {intl.formatMessage(COMMON_COPY.HEADER.METHODOLOGY)}
- // ,
- //
- // {intl.formatMessage(COMMON_COPY.HEADER.DOWNLOADS)}
- // ,
- //
- // {intl.formatMessage(COMMON_COPY.HEADER.TSD)}
- // ,
- // ];
-
// const aboutSubNavLinks = [
// {
// ,
// ];
+
+ /**
+ * This is the array that holds the navigation links and eventually is the one
+ * that is passed to the render function. It only defines Explore, About and
+ * Contact.
+ *
+ * The Methodology & Data link is passed in depending on screen size.
+ *
+ * For mobile: the Methodology & Data link should have sub-pages
+ * For desktop: the Methodology & Data link should NOT have sub-pages
+ */
const navLinks = [
{
data-cy={'nav-link-explore-the-map'}>
{intl.formatMessage(COMMON_COPY.HEADER.EXPLORE)}
,
-
- {intl.formatMessage(COMMON_COPY.HEADER.METHODOLOGY)}
- ,
{
data-cy={'nav-link-about'}>
{intl.formatMessage(COMMON_COPY.HEADER.ABOUT)}
,
- // <>
- // onToggle(0)}
- // data-cy={'nav-dropdown-methodology'}
- // className={styles.navDropDownBtn}
- // >
- //
- //
- // >,
- // <>
- // onToggle(1)}
- // data-cy={'nav-dropdown-about'}
- // >
- //
- //
- // >,
{
,
];
+ // For mobile: the Methodology & Data link should have sub-pages
+ const MethPageNavWithSubPages = () =>
+ <>
+ onToggle(0)}
+ data-cy={'nav-dropdown-methodology'}
+ >
+
+
+ >;
+
+ // For desktop: the Methodology & Data link should NOT have sub-pages
+ const MethPageNav = () =>
+
+ {intl.formatMessage(COMMON_COPY.HEADER.METHODOLOGY)}
+ ;
+
+ // Modify navLinks to choose the appropriate Methodology & Data nav link depending on screen size
+ navLinks.splice(1, 0, width > 1024 ? : );
+
return (
@@ -196,15 +203,15 @@ const J40Header = () => {
{/* Logo */}
-
+
{/* Logo Title */}
diff --git a/client/src/components/SubPageNav/SubPageNav.module.scss b/client/src/components/SubPageNav/SubPageNav.module.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/client/src/components/SubPageNav/SubPageNav.module.scss.d.ts b/client/src/components/SubPageNav/SubPageNav.module.scss.d.ts
new file mode 100644
index 00000000..e69de29b
diff --git a/client/src/components/SubPageNav/SubPageNav.test.tsx b/client/src/components/SubPageNav/SubPageNav.test.tsx
new file mode 100644
index 00000000..48e52516
--- /dev/null
+++ b/client/src/components/SubPageNav/SubPageNav.test.tsx
@@ -0,0 +1,35 @@
+import * as React from 'react';
+import {render} from '@testing-library/react';
+import {LocalizedComponent} from '../../test/testHelpers';
+import SubPageNav from './SubPageNav';
+
+describe('rendering of the SubPageNav', () => {
+ const firstLinkActive = 1;
+ const secondLinkIndex = 2;
+
+ it('checks if the first link is active', () => {
+ const {container} = render(
+
+
+ ,
+ );
+
+ const firstLink = container.querySelector(`.usa-sidenav li:nth-child(${firstLinkActive}) a`);
+ const secondLink = container.querySelector(`.usa-sidenav li:nth-child(${secondLinkIndex}) a`);
+ expect(firstLink?.className).toBe('usa-current');
+ expect(secondLink?.className).not.toBe('usa-current');
+ });
+
+ it('checks if the second link is active', () => {
+ const {container} = render(
+
+
+ ,
+ );
+
+ const firstLink = container.querySelector(`.usa-sidenav li:nth-child(${firstLinkActive}) a`);
+ const secondLink = container.querySelector(`.usa-sidenav li:nth-child(${secondLinkIndex}) a`);
+ expect(secondLink?.className).toBe('usa-current');
+ expect(firstLink?.className).not.toBe('usa-current');
+ });
+});
diff --git a/client/src/components/SubPageNav/SubPageNav.tsx b/client/src/components/SubPageNav/SubPageNav.tsx
new file mode 100644
index 00000000..3f79401c
--- /dev/null
+++ b/client/src/components/SubPageNav/SubPageNav.tsx
@@ -0,0 +1,39 @@
+import React from 'react';
+import {SideNav} from '@trussworks/react-uswds';
+import {useIntl} from 'gatsby-plugin-intl';
+
+import LinkTypeWrapper from '../LinkTypeWrapper';
+import {PAGES_ENDPOINTS} from '../../data/constants';
+import * as COMMON_COPY from '../../data/copy/common';
+
+// This prop is used to set which sub-page navigation is active
+interface ISubPageNav {
+ activeSubPageIndex?: number;
+}
+
+const SubPageNav = ({activeSubPageIndex}:ISubPageNav) => {
+ const intl = useIntl();
+
+ const subPages = [
+ ,
+ ,
+ ];
+
+ return (
+
+ );
+};
+
+export default SubPageNav;
diff --git a/client/src/components/SubPageNav/index.tsx b/client/src/components/SubPageNav/index.tsx
new file mode 100644
index 00000000..27d560f7
--- /dev/null
+++ b/client/src/components/SubPageNav/index.tsx
@@ -0,0 +1,3 @@
+import SubPageNav from './SubPageNav';
+
+export default SubPageNav;
diff --git a/client/src/data/copy/common.tsx b/client/src/data/copy/common.tsx
index 48b8703f..0e28b248 100644
--- a/client/src/data/copy/common.tsx
+++ b/client/src/data/copy/common.tsx
@@ -4,6 +4,7 @@ import React from 'react';
import {FormattedDate, FormattedMessage} from 'gatsby-plugin-intl';
import {defineMessages} from 'react-intl';
import LinkTypeWrapper from '../../components/LinkTypeWrapper';
+import DownloadLink from '../../components/DownloadLink';
export interface IDefineMessage {
id: string,
@@ -20,6 +21,8 @@ export interface IDefineMessage {
export const italicFn = (str:string) => {str};
export const boldFn = (str:string) => {str};
export const simpleLink = (href:string) => (str:string) => {str};
+// export const downloadLink = (href:string) => (str:string) => {str};
+export const downloadLink = (href:string) => (str:string) => ;
// eslint-disable-next-line max-len
export const linkFn = (to:string | IDefineMessage, isInternal:boolean, isOpenNewTab:boolean) => (str:string) => ;
@@ -51,7 +54,7 @@ export const TSD = defineMessages({
// Alerts
// Expiration month is zero-based: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth
-const ALERT_1_EXPIRATION_DATE= new Date(2022, 4, 25, 11, 59, 59); // May 25
+export const RFI_EXPIRATION_DATE= new Date(2022, 4, 25, 11, 59, 59); // May 25
export const ALERTS = {
ALERT_1_TITLE: defineMessages({
TITLE: {
@@ -60,7 +63,7 @@ export const ALERTS = {
description: 'Alert title that appears on landing page.',
},
}),
- EXPIRATION_DATE: ALERT_1_EXPIRATION_DATE,
+ EXPIRATION_DATE: RFI_EXPIRATION_DATE,
ALERT_1_DESCRIPTION: sending feedback via the Request for Information has been extended to {expDate1}.`}
@@ -68,7 +71,7 @@ export const ALERTS = {
values={{
link1: linkFn('https://www.federalregister.gov/documents/2022/04/25/2022-08774/climate-and-economic-justice-screening-tool-beta-version', false, true),
expDate1: federalregister.gov.`}
+ defaultMessage={`The Request for Information on the Federal Register for the public beta period closed on {rfiExpDate}`}
description={'Navigate to the contact page, this is the body of the request for information box'}
values={{
- link1: COMMON_COPY.linkFn(FOOTER.RFI_LINK.defaultMessage, false, true),
+ rfiExpDate: ,
}}
/>;
diff --git a/client/src/data/copy/downloads.tsx b/client/src/data/copy/downloads.tsx
index aef40cbe..d17934d4 100644
--- a/client/src/data/copy/downloads.tsx
+++ b/client/src/data/copy/downloads.tsx
@@ -2,7 +2,7 @@
import React from 'react';
import {defineMessages} from 'react-intl';
import {FormattedMessage, FormattedNumber} from 'gatsby-plugin-intl';
-import {simpleLink} from './common';
+import * as COMMON_COPY from './common';
export const PAGE_INTRO = defineMessages({
PAGE_TILE: {
@@ -27,53 +27,129 @@ export const PAGE_INTRO = defineMessages({
},
});
-export const DOWNLOAD_LINKS = {
- EXCEL: Excel file (.xlxs {excelFileSize} unzipped)
- `}
- description={'On the downloads page, the description of the excel link'}
- values={{
- link1: (str:string) => {str},
- excelFileSize: ,
- }}
- />,
- CSV: CSV file (.csv {csvFileSize} unzipped)
- `}
- description={'On the downloads page, the description of the csv link'}
- values={{
- link1: simpleLink('/csv'),
- csvFileSize: ,
- }}
- />,
- SHAPE: Shapefiles (Codebook included with geojson {shapeFileSize} unzipped)
- `}
- description={'On the downloads page, the description of the shapefiles link'}
- values={{
- link1: simpleLink('/shape'),
- shapeFileSize: ,
- }}
- />,
+const getDownloadFileUrl = (filePath:string | undefined) => {
+ return [
+ process.env.GATSBY_CDN_TILES_BASE_URL,
+ process.env.GATSBY_DATA_PIPELINE_SCORE_PATH,
+ filePath,
+ ].join('/');
+};
+
+// Define meta data on dowload files
+export const DOWNLOAD_FILES = {
+ SCREENING_TOOL_DATA_ZIP: {
+ SIZE: 53.7, // MB
+ URL: getDownloadFileUrl(process.env.GATSBY_FILE_DL_PATH_SCREENING_TOOL_DATA_ZIP),
+ LAST_UPDATED: new Date('5/4/2022').getTime(),
+ },
+ COMMUNITIES_LIST_CSV: {
+ SIZE: 28.1, // MB
+ URL: getDownloadFileUrl(process.env.GATSBY_FILE_DL_PATH_COMMUNITIES_LIST_CSV),
+ LAST_UPDATED: new Date('5/4/2022').getTime(),
+ },
+ COMMUNITIES_LIST_XLS: {
+ SIZE: 24.9, // MB
+ URL: getDownloadFileUrl(process.env.GATSBY_FILE_DL_PATH_COMMUNITIES_LIST_XLS),
+ LAST_UPDATED: new Date('5/4/2022').getTime(),
+ },
+ SHAPE_FILE: {
+ SIZE: 741, // MB
+ URL: getDownloadFileUrl(process.env.GATSBY_FILE_DL_PATH_SHAPE_FILE_ZIP),
+ LAST_UPDATED: new Date('5/4/2022').getTime(),
+ },
+ TSD: {
+ SIZE: 2.5, // MB
+ URL: getDownloadFileUrl(process.env.GATSBY_FILE_DL_PATH_TSD_PDF),
+ LAST_UPDATED: new Date('5/4/2022').getTime(),
+ },
+ HOW_TO_COMMUNITIES: {
+ SIZE: 674, // KB
+ URL: getDownloadFileUrl(process.env.GATSBY_FILE_DL_PATH_HOW_TO_COMMUNITIES_PDF),
+ LAST_UPDATED: new Date('5/4/2022').getTime(),
+ },
+};
+
+// If this is not a function, it will cause a circular dependency
+export const getDownloadIconAltTag = () => defineMessages({
+ ALT_TAG: {
+ id: 'downloads.page.download.icon.alt.tag',
+ defaultMessage: 'The icon used to indicate that the file is downloadable',
+ description: 'Navigate to the Downloads page, this is the icon used to indicate that the file is downloadable',
+ },
+});
+
+export const DOWNLOAD_LINKS = {
+ LINK1: Communities list data (.xlsx {cldXlsFileSize})
+ `}
+ description={'Navigate to the download page. This is first download file link'}
+ values={{
+ link1: COMMON_COPY.downloadLink(DOWNLOAD_FILES.COMMUNITIES_LIST_XLS.URL),
+ cldXlsFileSize: ,
+ }}
+ />,
+ LINK2: Communities list data (.csv {cldCsvFileSize})`}
+ description={'Navigate to the download page. This is second download file link'}
+ values={{
+ link2: COMMON_COPY.downloadLink(DOWNLOAD_FILES.COMMUNITIES_LIST_CSV.URL),
+ cldCsvFileSize: ,
+ }}
+ />,
+ LINK3: Shapefile (Codebook included with geojson {shapeFileSize} unzipped)`}
+ description={'Navigate to the download page. This is third download file link'}
+ values={{
+ link3: COMMON_COPY.downloadLink(DOWNLOAD_FILES.SHAPE_FILE.URL),
+ shapeFileSize: ,
+ }}
+ />,
+ LINK4: Technical support document (.pdf {tsdFileSize})`}
+ description={'Navigate to the download page. This is fourth download file link'}
+ values={{
+ link4: COMMON_COPY.linkFn(DOWNLOAD_FILES.TSD.URL, false, true),
+ tsdFileSize: ,
+ }}
+ />,
+ LINK5: How to use the list of communities (.pdf {howToCommFileSize})`}
+ description={'Navigate to the download page. This is fifth download file link'}
+ values={{
+ link5: COMMON_COPY.linkFn(DOWNLOAD_FILES.HOW_TO_COMMUNITIES.URL, false, true),
+ howToCommFileSize: ,
+ }}
+ />,
+ // };
};
diff --git a/client/src/data/copy/explore.tsx b/client/src/data/copy/explore.tsx
index 61238dcf..150718a7 100644
--- a/client/src/data/copy/explore.tsx
+++ b/client/src/data/copy/explore.tsx
@@ -5,8 +5,8 @@ import {defineMessages} from 'react-intl';
import {FormattedDate, FormattedMessage, FormattedNumber} from 'gatsby-plugin-intl';
import * as COMMON_COPY from './common';
+import * as DOWNLOADS_COPY from './downloads';
import * as METHODOLOGY_COPY from './methodology';
-import {simpleLink, linkFn} from './common';
import {PAGES_ENDPOINTS} from '../constants';
export const PAGE_INTRO = defineMessages({
@@ -32,7 +32,7 @@ export const PAGE_DESCRIPTION = ;
@@ -777,15 +777,15 @@ export const DOWNLOAD_DRAFT = {
map that will download the data packet
`}
values={{
- link1: simpleLink(METHODOLOGY_COPY.DOWNLOAD_ZIP_URL),
+ link1: COMMON_COPY.downloadLink(DOWNLOADS_COPY.DOWNLOAD_FILES.SHAPE_FILE.URL),
downloadFileSize: ,
dateUpdated: ,
PARA_2: ,
};
@@ -884,7 +884,7 @@ export const HOW_YOU_CAN_HELP_LIST_ITEMS = {
`}
defaultMessage={`View the Methodology & data page and send feedback.`}
values={{
- link1: linkFn(PAGES_ENDPOINTS.METHODOLOGY, true, false),
+ link1: COMMON_COPY.linkFn(PAGES_ENDPOINTS.METHODOLOGY, true, false),
}}
/>,
LIST_ITEM_2: share your feedback.`}
values={{
- link1: linkFn(`mailto:${COMMON_COPY.FEEDBACK_EMAIL}`, false, true),
+ link1: COMMON_COPY.linkFn(`mailto:${COMMON_COPY.FEEDBACK_EMAIL}`, false, true),
}}
/>,
LIST_ITEM_3: federalregister.gov.`}
- values={{
- link1: linkFn(`https://www.federalregister.gov/d/2022-03920`, false, true),
- }}
+ description={`Navigate to the explore the map page. Under the map, you will see RFI is expired`}
+ defaultMessage={`The Request for Information on the Federal Register is now closed.`}
/>,
};
diff --git a/client/src/data/copy/methodology.tsx b/client/src/data/copy/methodology.tsx
index 66a14484..dcdf505d 100644
--- a/client/src/data/copy/methodology.tsx
+++ b/client/src/data/copy/methodology.tsx
@@ -1,9 +1,10 @@
/* eslint-disable max-len */
import React from 'react';
import {defineMessages} from 'react-intl';
-import {FormattedDate, FormattedMessage, FormattedNumber} from 'gatsby-plugin-intl';
+import {FormattedMessage} from 'gatsby-plugin-intl';
import {boldFn, linkFn, simpleLink} from './common';
-import * as styles from '../../components/DownloadPacket/downloadPacket.module.scss';
+
+export const VERSION_NUMBER = 0.1;
export const PAGE = defineMessages({
TILE: {
@@ -40,7 +41,6 @@ export const PAGE = defineMessages({
});
-
export const FORMULA = {
INTRO: ,
};
-// Download Package
-export const DOWNLOAD_FILE_SIZE = 53;
-export const DOWNLOAD_SHAPE_FILE_SIZE = 742;
-export const DOWNLOAD_TSD_FILE_SIZE = 2.5;
-export const DOWNLOAD_ZIP_LAST_UPDATED = new Date('5/4/2022').getTime();
-export const DOWNLOAD_SHAPE_LAST_UPDATED = new Date('4/26/2022').getTime();
-export const DOWNLOAD_TSD_LAST_UPDATED = new Date('4/19/2022').getTime();
-export const VERSION_NUMBER = 0.1;
-
-export const DOWNLOAD_ZIP_URL = [
- process.env.GATSBY_CDN_TILES_BASE_URL,
- process.env.GATSBY_DATA_PIPELINE_SCORE_PATH,
- process.env.GATSBY_SCORE_DOWNLOAD_FILE_PATH,
-].join('/');
-
-export const DOWNLOAD_SHAPEFILE_URL = [
- process.env.GATSBY_CDN_TILES_BASE_URL,
- process.env.GATSBY_DATA_PIPELINE_SCORE_PATH,
- process.env.GATSBY_SHAPE_FILE_PATH,
-].join('/');
-
-// TSD = Tech Support Document
-export const DOWNLOAD_TSD_URL = [
- process.env.GATSBY_CDN_TILES_BASE_URL,
- process.env.GATSBY_DATA_PIPELINE_SCORE_PATH,
- process.env.GATSBY_TSD_DOWNLOAD_FILE_PATH,
-].join('/');
-
-const newCalloutFontColorFn = (str: string) => {str};
-
-export const DOWNLOAD_PACKAGE = {
- TITLE: NEW files available for download`}
- description={'Navigate to the methodology page. This is the download packet header text'}
- values={{
- callout: newCalloutFontColorFn,
- }}
- />,
- DESCRIPTION1: .pdf that describes how to use the list, and a codebook, {downloadFileSize} unzipped), the shapefile, along with a codebook (.zip, {shapefileSize} unzipped) or the technical support document (.pdf, {tsdFileSize} unzipped).`}
- description={'Navigate to the methodology page. This is the download packet info text'}
- values={{
- callout: newCalloutFontColorFn,
- downloadFileSize: ,
- shapefileSize: ,
- tsdFileSize: ,
- }}
- />,
- ZIP_LAST_UPDATED: ,
- }}
- />,
- SHAPE_LAST_UPDATED: ,
- }}
- />,
- TSD_LAST_UPDATED: ,
- }}
- />,
- BUTTON_TEXT1: ,
- BUTTON_TEXT2: ,
- BUTTON_TEXT3: ,
- NEW_TAG: NEW`}
- description={'Navigate to the methodology page. This is the new tag text'}
- values={{
- boldtag: boldFn,
- }}
- />,
- UPDATED_TAG: Updated`}
- description={'Navigate to the methodology page. This is the update callout tag text that overlaps the button'}
- values={{
- boldtag: boldFn,
- }}
- />,
-};
-
export const CATEGORY = {
HEADING: federalregister.gov.",
+ "defaultMessage": "The Request for Information on the Federal Register for the public beta period closed on {rfiExpDate}",
"description": "Navigate to the contact page, this is the body of the request for information box"
},
"contact.page.request.for.info.box.title": {
@@ -287,17 +287,33 @@
"defaultMessage": "Contact",
"description": "Navigate to the contact page, this is the contact page title text"
},
- "downloads.page.csv.link": {
- "defaultMessage": "CSV file (.csv {csvFileSize} unzipped)",
- "description": "On the downloads page, the description of the csv link"
+ "download.page.download.file.1": {
+ "defaultMessage": "Communities list data (.xlsx {cldXlsFileSize})",
+ "description": "Navigate to the download page. This is first download file link"
+ },
+ "download.page.download.file.2": {
+ "defaultMessage": "Communities list data (.csv {cldCsvFileSize})",
+ "description": "Navigate to the download page. This is second download file link"
+ },
+ "download.page.download.file.3": {
+ "defaultMessage": "Shapefile (Codebook included with geojson {shapeFileSize} unzipped)",
+ "description": "Navigate to the download page. This is third download file link"
+ },
+ "download.page.download.file.4": {
+ "defaultMessage": "Technical support document (.pdf {tsdFileSize})",
+ "description": "Navigate to the download page. This is fourth download file link"
+ },
+ "download.page.download.file.5": {
+ "defaultMessage": "How to use the list of communities (.pdf {howToCommFileSize})",
+ "description": "Navigate to the download page. This is fifth download file link"
},
"downloads.page.description1.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 Downloads page, this will be the page description1 text"
},
- "downloads.page.excel.link": {
- "defaultMessage": "Excel file (.xlxs {excelFileSize} unzipped)",
- "description": "On the downloads page, the description of the excel link"
+ "downloads.page.download.icon.alt.tag": {
+ "defaultMessage": "The icon used to indicate that the file is downloadable",
+ "description": "Navigate to the Downloads page, this is the icon used to indicate that the file is downloadable"
},
"downloads.page.heading1.text": {
"defaultMessage": "Downloads",
@@ -307,10 +323,6 @@
"defaultMessage": "File formats",
"description": "Navigate to the Downloads page, this will be the page heading2 text"
},
- "downloads.page.shape.link": {
- "defaultMessage": "Shapefiles (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 Downloads page, this will be the page title text"
@@ -816,8 +828,8 @@
"description": "Navigate to the explore the map page. Under the map, you will see share your feedback"
},
"explore.map.page.under.map.how.you.can.help.list.item.3": {
- "defaultMessage": "Respond to our Request for Information on federalregister.gov.",
- "description": "Navigate to the explore the map page. Under the map, you will see share your feedback"
+ "defaultMessage": "The Request for Information on the Federal Register is now closed.",
+ "description": "Navigate to the explore the map page. Under the map, you will see RFI is expired"
},
"explore.map.page.under.map.note.on.territories.intro": {
"defaultMessage": "A note on the U.S. territories",
@@ -1235,46 +1247,6 @@
"defaultMessage": "All categories",
"description": "Navigate to the methodology page. Navigate to the dataset section. This is the portion of the dataset card Used In text for all methodologies"
},
- "methodology.page.downloadPacket.button1.text": {
- "defaultMessage": "Download data sources",
- "description": "Navigate to the methodology page. This is the download packet button text"
- },
- "methodology.page.downloadPacket.button2.text": {
- "defaultMessage": "Download shapefile",
- "description": "Navigate to the methodology page. This is the download shapefiles text"
- },
- "methodology.page.downloadPacket.button3.text": {
- "defaultMessage": "Download technical support document",
- "description": "Navigate to the methodology page. This is the download technical support document spreadsheet"
- },
- "methodology.page.downloadPacket.header.text": {
- "defaultMessage": "NEW files available for download",
- "description": "Navigate to the methodology page. This is the download packet header text"
- },
- "methodology.page.downloadPacket.info.shape.last.updated": {
- "defaultMessage": "Last updated: {shapeLastUpdated}",
- "description": "Navigate to the methodology page. This is the download packet info last updated"
- },
- "methodology.page.downloadPacket.info.text1": {
- "defaultMessage": "Download the data sources used in the CEJST (.csv, .xlxs, .pdf that describes how to use the list, and a codebook, {downloadFileSize} unzipped), the shapefile, along with a codebook (.zip, {shapefileSize} unzipped) or the technical support document (.pdf, {tsdFileSize} unzipped).",
- "description": "Navigate to the methodology page. This is the download packet info text"
- },
- "methodology.page.downloadPacket.info.tsd.last.updated": {
- "defaultMessage": "Last updated: {tsdLastUpdated}",
- "description": "Navigate to the methodology page. This is the download packet info last updated"
- },
- "methodology.page.downloadPacket.info.zip.last.updated": {
- "defaultMessage": "Last updated: {downloadLastUpdated}",
- "description": "Navigate to the methodology page. This is the download packet info last updated"
- },
- "methodology.page.downloadPacket.new.tag.text": {
- "defaultMessage": "NEW",
- "description": "Navigate to the methodology page. This is the new tag text"
- },
- "methodology.page.downloadPacket.updated.tag.text": {
- "defaultMessage": "Updated",
- "description": "Navigate to the methodology page. This is the update callout tag text that overlaps the button"
- },
"methodology.page.formula.first": {
"defaultMessage": "IF the census tract is above the threshold for one or more environmental or climate indicators",
"description": "Navigate to the methodology page. This is the first part of the formula used in the methodology"
diff --git a/client/src/intl/es.json b/client/src/intl/es.json
index 11c2a6b0..34c24fba 100644
--- a/client/src/intl/es.json
+++ b/client/src/intl/es.json
@@ -67,12 +67,17 @@
"contact.page.fab.survey.text": "Ayude a mejorar el sitio web y los datos",
"contact.page.general": "Para comentarios generales, envíe un correo eléctronico a {general_email_address}.",
"contact.page.header.text": "Contacto",
- "contact.page.request.for.info.box.body": "Durante el periodo beta, se pueden enviar comentarios sobre la Herramienta para la evaluación de la justicia climática y económica mediante la Solicitud de información del CEQ que se encuentra disponible en federalregister.gov.",
+ "contact.page.request.for.info.box.body": "La Solicitud de Información en el Registro Federal para el período beta público cerró el {rfiExpDate}",
"contact.page.request.for.info.box.title": "Solicitud de información",
"contact.page.sub.header.text": "Envíenos un correo electrónico",
"contact.page.title.text": "Contacto",
- "downloads.page.csv.link": "Archivo CSV (.csv {csvFileSize} descomprimido)",
+ "download.page.download.file.1": "Datos de la lista de comunidades (.xlsx {cldXlsFileSize})",
+ "download.page.download.file.2": "Datos de la lista de comunidades (.csv {cldCsvFileSize})",
+ "download.page.download.file.3": "Archivo de forma (Libro de códigos incluido con geojson {shapeFileSize} descomprimido)",
+ "download.page.download.file.4": "Documento de soporte técnico (.pdf {tsdFileSize})",
+ "download.page.download.file.5": "Cómo utilizar la lista de comunidades (.pdf {howToCommFileSize})",
"downloads.page.description1.text": "Los conjuntos de datos que se utilizan en la herramienta, junto con un diccionario de datos e información sobre cómo utilizar la lista de comunidades (.pdf) están disponibles en los siguientes formatos del archivo:",
+ "downloads.page.download.icon.alt.tag": "El icono utilizado para indicar que el archivo se puede descargar",
"downloads.page.excel.link": "Archivo Excel (.xlxs {excelFileSize} descomprimido)",
"downloads.page.heading1.text": "Descargas",
"downloads.page.heading2.text": "Formatos del archivo",
@@ -205,7 +210,7 @@
"explore.map.page.under.map.how.you.can.help.heading": "Contribuya a mejorar la herramienta",
"explore.map.page.under.map.how.you.can.help.list.item.1": "Vaya a la página Metodología y datos y envíe sus comentarios.",
"explore.map.page.under.map.how.you.can.help.list.item.2": "Use la herramienta para buscar comunidades y enviar sus comentarios.",
- "explore.map.page.under.map.how.you.can.help.list.item.3": "En federalregister.gov, responda a nuestra Solicitud de información.",
+ "explore.map.page.under.map.how.you.can.help.list.item.3": "La Solicitud de Información en el Registro Federal ya está cerrada.",
"explore.map.page.under.map.note.on.territories.intro": "Observaciones sobre los territorios de los Estados Unidos",
"explore.map.page.under.map.note.on.territories.para.1": "Las fuentes de datos que se describen en la página Metodología y datos se usan para identificar las comunidades desfavorecidas en los cincuenta estados y el Distrito de Columbia. No obstante, no todas estas fuentes de datos están disponibles actualmente para los territorios de los EE. UU.",
"explore.map.page.under.map.note.on.territories.para.2": "Para Puerto Rico, se usan los datos de la Encuesta sobre la Comunidad Estadounidense (ACS, por sus siglas en inglés) de 2015 a 2019 de la Oficina del Censo para la tasa de inscripción en educación superior y los demás campos de la categoría Capacitación y desarrollo de la fuerza laboral a fin de identificar las comunidades desfavorecidas. Por ahora, no se dispone de datos en las demás categorías.",
diff --git a/client/src/pages/downloads.tsx b/client/src/pages/downloads.tsx
index fbd5b3f7..7c8bc3e5 100644
--- a/client/src/pages/downloads.tsx
+++ b/client/src/pages/downloads.tsx
@@ -4,37 +4,64 @@ import {useIntl} from 'gatsby-plugin-intl';
import J40MainGridContainer from '../components/J40MainGridContainer';
import Layout from '../components/layout';
+import PublicEngageButton from '../components/PublicEngageButton';
+import SubPageNav from '../components/SubPageNav';
+import {useWindowSize} from 'react-use';
import * as DOWNLOADS_COPY from '../data/copy/downloads';
-
+import * as CONSTANTS from '../data/constants';
interface IDownloadsPageProps {
location: Location;
}
const DownloadsPage = ({location}: IDownloadsPageProps) => {
const intl = useIntl();
+ const {width} = useWindowSize();
return (
-
+
+
+ {/* Second column */}
+
+ {/* Spacer column */}
+
+
+ {/* Third column - Only show the SubPagNav component on desktop width */}
+ {width > CONSTANTS.USWDS_BREAKPOINTS.DESKTOP ?
+
+
+ : ''}
diff --git a/client/src/pages/methodology.tsx b/client/src/pages/methodology.tsx
index b1797253..7a13d839 100644
--- a/client/src/pages/methodology.tsx
+++ b/client/src/pages/methodology.tsx
@@ -4,12 +4,14 @@ import {useIntl} from 'gatsby-plugin-intl';
import Categories from '../components/Categories';
import DatasetContainer from '../components/DatasetContainer';
-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 SubPageNav from '../components/SubPageNav';
+import {useWindowSize} from 'react-use';
+import * as CONSTANTS from '../data/constants';
import * as METHODOLOGY_COPY from '../data/copy/methodology';
interface MethodPageProps {
@@ -18,6 +20,7 @@ interface MethodPageProps {
const IndexPage = ({location}: MethodPageProps) => {
const intl = useIntl();
+ const {width} = useWindowSize();
return (
@@ -51,9 +54,15 @@ const IndexPage = ({location}: MethodPageProps) => {
{/* Second column */}
-
-
+
+ {/* Spacer column */}
+
+ {/* Third column */}
+ {width > CONSTANTS.USWDS_BREAKPOINTS.DESKTOP ?
+
+
+ : ''}
diff --git a/client/src/pages/tests/__snapshots__/about.test.tsx.snap b/client/src/pages/tests/__snapshots__/about.test.tsx.snap
index 42cd4da3..e028de3e 100644
--- a/client/src/pages/tests/__snapshots__/about.test.tsx.snap
+++ b/client/src/pages/tests/__snapshots__/about.test.tsx.snap
@@ -247,12 +247,43 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
- The public comment period for
-
- sending feedback
-
- via the Request for Information has been extended to May 25, 2022.
+ The Request for Information on the Federal Register for the public beta period closed on May 25, 2022
diff --git a/client/src/pages/tests/__snapshots__/downloads.test.tsx.snap b/client/src/pages/tests/__snapshots__/downloads.test.tsx.snap
index c289baae..4e06dc5d 100644
--- a/client/src/pages/tests/__snapshots__/downloads.test.tsx.snap
+++ b/client/src/pages/tests/__snapshots__/downloads.test.tsx.snap
@@ -247,12 +247,43 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
- 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:
-
+ 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:
+
diff --git a/client/src/pages/tests/__snapshots__/freqAskedQuestions.test.tsx.snap b/client/src/pages/tests/__snapshots__/freqAskedQuestions.test.tsx.snap
index 9139b428..6e63debc 100644
--- a/client/src/pages/tests/__snapshots__/freqAskedQuestions.test.tsx.snap
+++ b/client/src/pages/tests/__snapshots__/freqAskedQuestions.test.tsx.snap
@@ -247,12 +247,43 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
- Download the data sources used in the CEJST (.csv, .xlxs,
-
- .pdf
-
- that describes how to use the list, and a
-
- codebook
-
- , 53MB unzipped), the shapefile, along with a
-
- codebook
-
- (.zip, 742MB unzipped) or the technical support document (.pdf, 2.5MB unzipped).
-
- The public comment period for
-
- sending feedback
-
- via the Request for Information has been extended to May 25, 2022.
-
-
-
-
Date: Thu, 26 May 2022 18:33:22 -0400
Subject: [PATCH 3/6] Changes criteria to criterion (#1655)
* Update copy
- update snapshots
* Add period to RFI box body (en and es)
- update snapshots
---
.../RequestForInfo/__snapshots__/RequestForInfo.test.tsx.snap | 2 +-
.../SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap | 2 +-
.../src/components/__snapshots__/mapInfoPanel.test.tsx.snap | 2 +-
client/src/data/copy/contact.tsx | 2 +-
client/src/data/copy/explore.tsx | 2 +-
client/src/intl/en.json | 4 ++--
client/src/intl/es.json | 2 +-
client/src/pages/tests/__snapshots__/contact.test.tsx.snap | 2 +-
8 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/client/src/components/RequestForInfo/__snapshots__/RequestForInfo.test.tsx.snap b/client/src/components/RequestForInfo/__snapshots__/RequestForInfo.test.tsx.snap
index 9bad589b..6f9c8c18 100644
--- a/client/src/components/RequestForInfo/__snapshots__/RequestForInfo.test.tsx.snap
+++ b/client/src/components/RequestForInfo/__snapshots__/RequestForInfo.test.tsx.snap
@@ -18,7 +18,7 @@ exports[`rendering of the RequestForInfo checks if component renders 1`] = `
class="usa-summary-box__text"
>
- The Request for Information on the Federal Register for the public beta period closed on May 25, 2022
+ The Request for Information on the Federal Register for the public beta period closed on May 25, 2022.
diff --git a/client/src/components/SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap b/client/src/components/SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap
index 28c93686..5754d52f 100644
--- a/client/src/components/SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap
+++ b/client/src/components/SidePanelInfo/__snapshots__/SidePanelInfo.test.tsx.snap
@@ -47,7 +47,7 @@ exports[`rendering of the component expects the render to match snapshot 1`] = `
tabindex="0"
>
- The tool ranks each census tract using percentiles that show how much burden each tract experiences relative to all other tracts, for each criteria.
+ The tool ranks each census tract using percentiles that show how much burden each tract experiences relative to all other tracts, for each criterion.
- The tool ranks each census tract using percentiles that show how much burden each tract experiences relative to all other tracts, for each criteria.
+ The tool ranks each census tract using percentiles that show how much burden each tract experiences relative to all other tracts, for each criterion.
- The Request for Information on the Federal Register for the public beta period closed on May 25, 2022
+ The Request for Information on the Federal Register for the public beta period closed on May 25, 2022.
From 6ba17b544d154732ee3227b9ea681993bd6d99d0 Mon Sep 17 00:00:00 2001
From: Vim <86254807+vim-usds@users.noreply.github.com>
Date: Fri, 27 May 2022 18:17:17 -0400
Subject: [PATCH 4/6] Update documentation from OS contributors (#1657)
* Update documentation from OS contributors
* Disable markdown links checks for certain links
* Disable expired links
---
CODE_OF_CONDUCT.md | 8 ++--
COMMUNITY_GUIDELINES.md | 43 ++++++++++---------
CONTRIBUTING-es.md | 2 +
CONTRIBUTING.md | 3 +-
DATASETS.md | 2 +
INSTALLATION-es.md | 4 +-
INSTALLATION.md | 34 ++++++++++++---
README.md | 6 +--
client/README.md | 13 ++++++
client/VIEW_MAP_DATA.md | 8 +++-
.../0002-mapping-visualization-library.md | 4 +-
docs/decisions/0008-nominatim.md | 4 +-
12 files changed, 90 insertions(+), 41 deletions(-)
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 6bf52d0f..aeb28c98 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,15 +1,15 @@
# Contributor Code of Conduct
-*[¡Lea esto en español!](CODE_OF_CONDUCT-es.md)*
+_[¡Lea esto en español!](CODE_OF_CONDUCT-es.md)_
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
-We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
+We are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity, expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
-Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct.
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers at justice40open@usds.gov.
-This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
+This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
\ No newline at end of file
diff --git a/COMMUNITY_GUIDELINES.md b/COMMUNITY_GUIDELINES.md
index 691a7342..4b398c81 100644
--- a/COMMUNITY_GUIDELINES.md
+++ b/COMMUNITY_GUIDELINES.md
@@ -1,34 +1,35 @@
# Justice40 Open Source Community Guidelines
-This document contains principles and guidelines for participating in the Justice40 open source community.
+This document contains principles and guidelines for participating in the Justice40 open source community.
## Principles
-These principles guide our data, product, and process decisions, architecture, and approach. We discussed and developed these principles on the Open Source Community Kickoff on May 10, 2021.
-* Open means transparent and participatory.
-* We take a modular and modern approach to software development.
-* We build open source software and open source process.
-* We value ease of implementation.
-* Fostering community includes building capacity and making our software and processes accessible to participants with diverse backgrounds and skill sets.
-* Data (and data science) is as important as software and process. We build open data sets where possible.
-* We strive for transparency for algorithms and places we might be introducing bias.
-* We prioritize data sets that address community vulnerabilities for programs in Justice40.
+These principles guide our data, product, and process decisions, architecture, and approach. We discussed and developed these principles at the Open Source Community Kickoff on May 10, 2021.
+
+- Open means transparent and participatory.
+- We take a modular and modern approach to software development.
+- We build open-source software and open-source process.
+- We value ease of implementation.
+- Fostering community includes building capacity and making our software and processes accessible to participants with diverse backgrounds and skillsets.
+- Data (and data science) is as important as software and process. We build open data sets where possible.
+- We strive for transparency for algorithms and places we might be introducing bias.
+- We prioritize data sets that address community vulnerabilities for programs in Justice40.
## Community Guidelines
All community members are expected to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md).
-Information on contributing to this repository are available in our [Contributing file](CONTRIBUTING.md).
+Information on contributing to this repository is available in our [Contributing file](CONTRIBUTING.md).
When participating in Justice40 open source community conversations and spaces, we ask individuals to follow the following guidelines:
-* When joining a conversation for the first time, please introduce yourself by providing a brief intro that includes:
- * your related organization (if applicable)
- * your pronouns
- * disclosure of any current or potential financial interest in this work
- * your superpower, and how you hope to use it for Justice 40
-* Embrace a culture of learning, and educate each other. We are all entering this conversation from different starting points and with different backgrounds. There are no dumb questions.
-* Take space and give space. We strive to create an equitable environment in which all are welcome and able to participate. We hope individuals feel comfortable voicing their opinions and providing contributions, and will do our best to recognize and make space for individuals who may be struggling to find space here. Likewise we expect individuals to recognize when they are taking up significant space and take a step back to allow room for others.
-* Be present when joining synchronous conversations such as our community chat. Why be here if you're not going to _be here_?
-* Be respectful.
-* Default to positive. Assume others' contributions are legitimate and valuable and that they are made with good intention.
+- When joining a conversation for the first time, please introduce yourself by providing a brief intro that includes:
+ - your related organization (if applicable)
+ - your pronouns
+ - disclosure of any current or potential financial interest in this work
+ - your superpower, and how you hope to use it for Justice 40
+- Embrace a culture of learning, and educate each other. We are all entering this conversation from different starting points and with different backgrounds. There are no dumb questions.
+- Take space and give space. We strive to create an equitable environment in which all are welcome and able to participate. We hope individuals feel comfortable voicing their opinions and providing contributions and will do our best to recognize and make space for individuals who may be struggling to find space here. Likewise, we expect individuals to recognize when they are taking up significant space and take a step back to allow room for others.
+- Be present when joining synchronous conversations such as our community chat. Why be here if you're not going to _be here_?
+- Be respectful.
+- Default to positive. Assume others' contributions are legitimate and valuable and that they are made with good intention.
\ No newline at end of file
diff --git a/CONTRIBUTING-es.md b/CONTRIBUTING-es.md
index f65c05e2..989fa384 100644
--- a/CONTRIBUTING-es.md
+++ b/CONTRIBUTING-es.md
@@ -35,7 +35,9 @@ Abra [aquí](https://github.com/usds/justice40-tool/issues/new/choose) un proble
En el problema, describa la función que desea, por qué la necesita y cómo debería funcionar esta. Los integrantes del equipo responderán a este lo antes posible.
### Colaboraciones con código
+
Si desea colaborar con alguna parte del código base, bifurque el repositorio siguiendo la [siguiente metodología de GitHub para hacer la bifurcación](https://docs.github.com/es/get-started/quickstart/fork-a-repo) *(en inglés)*. Luego, haga los cambios en el código de su propia copia del repositorio (incluya pruebas, si corresponde) y, por último, [envíe una solicitud para incorporar los cambios en el repositorio precedente](https://docs.github.com/es/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) *(en inglés)*. Para poder fusionar una solicitud de incorporación de cambios, las siguientes opciones en este repositorio deben estar habilitadas:
+
* No se permiten las fusiones al proyecto principal `main`; abra una solicitud de incorporación de cambios desde una rama.
* Al menos un revisor autorizado debe aprobar la confirmación (en [CODEOWNERS](https://github.com/usds/justice40-tool/tree/main/.github/CODEOWNERS), en inglés, consulte la lista más reciente de estos revisores).
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9c8bb08e..2cab15f4 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -40,8 +40,9 @@ Please open an issue of type "Feature request" [here](https://github.com/usds/ju
In the issue, please describe the feature you would like to see, why you need it, and how it should work. Team members will respond to the issue as soon as possible.
### Code contributions
-
+
If you would like to contribute to any part of the codebase, please fork the repository [following the Github forking methodology](https://docs.github.com/en/github/getting-started-with-github/quickstart/fork-a-repo). Then, make changes to the code in your own copy of the repository, including tests if applicable, and finally [submit a pull request against the upstream repo.](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) In order for us to merge a pull request, the following checks are enabled within this repo:
+
- Merges to `main` are prohibited - please open a pull request from a branch
- Please create a branch name in the format of ``/``-``. For example vimusds/1069-fix-territory-on-mobile
diff --git a/DATASETS.md b/DATASETS.md
index a3b47795..af5a0445 100644
--- a/DATASETS.md
+++ b/DATASETS.md
@@ -2,6 +2,8 @@
This page contains web links to the datasets that are uploaded as part of our data pipeline, if you want to access them directly. Note that this is just a quick reference and the [Data Pipeline README](/data/data-pipeline/README.md) has the comprehensive documentation on all these datasets.
+This page contains web links to the datasets that are uploaded as part of our data pipeline if you want to access them directly. Note that this is just a quick reference and the [Data Pipeline README](/data/data-pipeline/README.md) has comprehensive documentation on all these datasets.
+
> Note: These currently aren't updated on any specific cadence, so be aware of this if you know that the dataset you are using might change frequently.
- Census data, generated by the [Generate Census Github Action](https://github.com/usds/justice40-tool/blob/main/.github/workflows/generate-census.yml):
diff --git a/INSTALLATION-es.md b/INSTALLATION-es.md
index 9403ea2b..aa614a1a 100644
--- a/INSTALLATION-es.md
+++ b/INSTALLATION-es.md
@@ -49,8 +49,10 @@ Si bien se puede usar cualquier IDE, describimos cómo configurar VS Code
5. [Live Share Extention Pack](https://github.com/MicrosoftDocs/live-share)
## Ejecuta el código
-
+
1. Bifurcar este repositorio y crear un clon local. [Más información](https://docs.github.com/es/github/getting-started-with-github/quickstart/fork-a-repo)
+
+
1. Si está usando una Mac y Homebrew, abra la terminal y escriba `brew update` y `brew doctor`.
Para el desarrollo de front-end, lea el [Client README](client/README.md).
diff --git a/INSTALLATION.md b/INSTALLATION.md
index 73c018b0..b20101f7 100644
--- a/INSTALLATION.md
+++ b/INSTALLATION.md
@@ -1,12 +1,12 @@
# Justice40 Tool Installation
-*[¡Lea esto en español!](INSTALLATION-es.md)*
+_[¡Lea esto en español!](INSTALLATION-es.md)_
This page documents the installation steps for some of the software needed to work with this project.
-> **NOTE: If you all you want to do is quickly run everything locally to try out the application, go straight to [`QUICKSTART.md`](QUICKSTART.md).**
+> **NOTE: If all you want to do is quickly run everything locally to try out the application, go straight to [`QUICKSTART.md`](QUICKSTART.md).**
-After the generic installation steps on this page, continue on to one of the following, depending on what you are trying to do:
+After the generic installation steps on this page, continue to one of the following, depending on what you are trying to do:
- If you are working with the frontend, see [`client/README.md`](client/README.md).
- If you are working with the data pipeline, see [`data/data-pipeline/README.md`](data/data-pipeline/README.md).
@@ -25,10 +25,10 @@ Download from [website](https://git-scm.com/download/win)
## Install Homebrew (MacOS only)
-Homebrew is an easy way to manage software downloads on MacOS. You don't *have* to use it, but we recommend it.
+Homebrew is an easy way to manage software downloads on MacOS. You don't _have_ to use it, but we recommend it.
-1. First, open your terminal and run `brew -v` to determine whether you have Homebrew installed. If you get a resopnse that looks something like `Homebrew 3.1.9`, you've already got it! If you get nothing back, or an error, continue.
-2. Open the terminal and copy / paste this command and hit RETURN. Go through the prompts (you will need to grant `sudo` access).
+1. First, open your terminal and run `brew -v` to determine whether you have Homebrew installed. If you get a response that looks something like `Homebrew 3.1.9`, you've already got it! If you get nothing back, or an error, continue.
+2. Open the terminal and copy/paste this command and hit RETURN. Go through the prompts (you will need to grant `sudo` access).
`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"`
@@ -36,6 +36,28 @@ Homebrew is an easy way to manage software downloads on MacOS. You don't *have*
You should regularly run `brew update` and `brew doctor` to make sure your packages are up to date and in good condition.
+### Install Node using NVM
+
+This will work for both MacOS and Win10. Follow instructions on this [link](https://medium.com/@nodesource/installing-node-js-tutorial-using-nvm-5c6ff5925dd8). Be sure to read through the whole doc to find the sections within each step relevant to you (e.g. if you're using Homebrew, when you get to Step 2 look for the section, "Install NVM with Homebrew").
+
+If you install NVM using Homebrew, make sure to read the output in terminal after you run `brew install nvm`. You will need to add a few lines to your ~/.bash_profile and perhaps complete a couple other tasks.
+
+Once you install NVM, don't forget to install Node! This is included in the linked tutorial above.
+
+After you've downloaded the nvm and the latest node (using the above steps) also install node version 14 by:
+
+`brew install node@14`
+
+You should then be able to switch to that version of node by:
+
+`nvm use 14`
+
+To validate you are using node 14, type:
+
+`node -v`
+
+This should return *Now using node 14.x.x (npm v6.x.x)*
+
## IDE set up (Optional)
While any IDE can be used, we're outlining how to set up VS Code
diff --git a/README.md b/README.md
index 0aadee73..bd62dc27 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ The Justice40 team is taking a community-first and open source approach to the p
We know that we can learn from a wide variety of communities, including those who will use or will be impacted by the tool, who are experts in data science or technology, or who have experience in climate, economic,or environmental justice work. We are dedicated to creating forums for continuous conversation and feedback to help shape the design and development of the tool.
-We also recognize capacity building as a key part of involving a diverse open source community. We are doing our best to use accessible language, provide technical and process documents in multiple languages, and offer support to our community members of a wide variety of background and skillsets, directly or in the form of group chats and training. If you have ideas for how we can improve or add to our capacity building efforts and methods for welcoming folks into our community, please let use know in the [Google Group](https://groups.google.com/u/4/g/justice40-open-source) or email us at justice40open@usds.gov.
+We also recognize capacity building as a key part of involving a diverse open source community. We are doing our best to use accessible language, provide technical and process documents in multiple languages, and offer support to our community members of a wide variety of backgrounds and skillsets, directly or in the form of group chats and training. If you have ideas for how we can improve or add to our capacity building efforts and methods for welcoming folks into our community, please let us know in the [Google Group](https://groups.google.com/u/4/g/justice40-open-source) or email us at justice40open@usds.gov.
### Community Guidelines
Principles and guidelines for participating in our open source community are available [here](COMMUNITY_GUIDELINES.md). Please read them before joining or starting a conversation in this repo or one of the channels listed below.
@@ -35,7 +35,7 @@ Our [Google Group](https://groups.google.com/u/4/g/justice40-open-source) is ope
The core team uses the group to post updates on the program and tech/data issues, and to share the agenda and call for community participation in the community chat.
-Curious about whether to ask a question here as a Github issue or in the Google Group? The general rule of thumb is that issues are for actionable topics related to the tool or data itself (e.g. questions about a specific data set in use, or suggestion for a new tool feature), and the Google Group is for more general topics or questions. If you can't decide, use the google group and we'll discuss there before moving to Github if appropriate!
+Curious about whether to ask a question here as a Github issue or in the Google Group? The general rule of thumb is that issues are for actionable topics related to the tool or data itself (e.g. questions about a specific data set in use, or suggestion for a new tool feature), and the Google Group is for more general topics or questions. If you can't decide, use the google group and we'll discuss it there before moving to Github if appropriate!
## Contributing
@@ -55,7 +55,7 @@ If you want to run the entire application locally, see [QUICKSTART.md](QUICKSTAR
### Advanced Guides
-If you have software experience or more specific use cases, start at [INSTALLATION.md](INSTALLATION.md) for more in depth documentation of how to work with this project.
+If you have software experience or more specific use cases, start at [INSTALLATION.md](INSTALLATION.md) for more in-depth documentation of how to work with this project.
### Project Documentation
diff --git a/client/README.md b/client/README.md
index 185793d4..0de01ff2 100644
--- a/client/README.md
+++ b/client/README.md
@@ -26,6 +26,19 @@ If you install NVM using Homebrew, make sure to read the output in terminal afte
Once you install NVM, don't forget to install Node! This is included in the linked tutorial above. This will also install `npm` which you need for the steps below.
+After you've downloaded the nvm and the latest node (using the above steps) also install node version 14 by:
+
+`brew install node@14`
+
+You should then be able to switch to that version of node by:
+
+`nvm use 14`
+
+To validate you are using node 14, type:
+
+`node -v`
+
+This should return *Now using node 14.x.x (npm v6.x.x)*
#### Install Yarn
Install yarn if you do not have it yet. Open your terminal and run `sudo npm install -global yarn`. This works on MacOS and Win10. To confirm it is installed, run `yarn -v`. A version number should be returned.
diff --git a/client/VIEW_MAP_DATA.md b/client/VIEW_MAP_DATA.md
index 7e7a0e23..616c7fe8 100644
--- a/client/VIEW_MAP_DATA.md
+++ b/client/VIEW_MAP_DATA.md
@@ -51,7 +51,13 @@ If the file is super big we can just look at the head of the file:
In order to see the json file in a pretty format, pipe to jq:
-- `tippecanoe-decode d3_313.pbf 3 1 3 | head -40 | jq`
+- `tippecanoe-decode d3_313.pbf 3 1 3 | jq`
+
+While to view just a portion of the feature tile (note we're using a high zoom tile in this example):
+
+- `tippecanoe-decode d3_9_138_206.pbf 9 138 206 | jq .features | head -100`
+
+This will filter the decoded pbf by the `features` key and then show the first element in the feature array.
When the map is clicked, the data (aka features - which are sets of properties in the geojson file ) of the map are able to be accessed via the MapEvent. See [j40Map.tsx](https://github.com/usds/justice40-tool/blob/main/client/src/components/J40Map.tsx)'s `onClick` method for more details.
diff --git a/docs/decisions/0002-mapping-visualization-library.md b/docs/decisions/0002-mapping-visualization-library.md
index 14c010b4..4081e846 100644
--- a/docs/decisions/0002-mapping-visualization-library.md
+++ b/docs/decisions/0002-mapping-visualization-library.md
@@ -42,11 +42,11 @@ We provide more detail on these factors below.
5. [ArcGIS API for Javascript](https://developers.arcgis.com/javascript/latest/) - v4.18 (12/2020)
## Not Considered Options
-
+
- Non-ArcGIS-JS-API Esri [products](https://www.esri.com/en-us/arcgis/products/index) - The focus of this investigation is web APIs that can be incorporated into a website and rendered as part of a cloud-based, modular web-development flow. Additionally, these are not open source.
- [Google Maps Platform](https://developers.google.com/maps)/[Bing Maps APIs](https://www.microsoft.com/en-us/maps/choose-your-bing-maps-api) - These mapping are also closed source and proprietary, and do not allow for significant customization or visualization of the sort we would need for this product
- [d3.js](https://d3js.org/) - though impressive in its offerings and performance, d3 appears more oriented to more general-purpose infographic use than a mapping-specific product requiring significant GIS-adjacent features. We may consider aspects of D3 for particular chart renderings.
-
+
## Decision Outcome
**OpenLayers** ([Source](https://github.com/openlayers/openlayers) - v6.5.0 (12/27/20)). This library is completely free and open-source, modular, and modern. As a modern, well-typed and well-documented javascript library, it is approachable, yet offers a full-featured and familiar interface as well for those with a background in GIS systems. As it is free to use, anyone could clone our source and run our project locally without payment or registration. Additionally, it has relatively good performance for large feature sets, despite not using WebGL for rendering.
diff --git a/docs/decisions/0008-nominatim.md b/docs/decisions/0008-nominatim.md
index 8bea1b40..59f2ccef 100644
--- a/docs/decisions/0008-nominatim.md
+++ b/docs/decisions/0008-nominatim.md
@@ -100,7 +100,7 @@ Others providers:
- Many are not open source
### Data Science Toolkit
-
+
Data-science-oriented search framework that combines osm with geoip data.
An overall good option, but if we went down this path we would want to host ourselves -- it is notable that it does give this option.
@@ -120,7 +120,7 @@ An overall good option, but if we went down this path we would want to host ours
- Cons:
- Recommended that you host your own given these limitations
- Not recommended for production use
-
+
### Census Geocoding Services
Geocoding service provided directly by the census. More info [here](https://www.census.gov/programs-surveys/geography/technical-documentation/complete-technical-documentation/census-geocoder.html).
From 7c808eb2e00f10132ec1e14127806899ab7134b8 Mon Sep 17 00:00:00 2001
From: Kameron Kerger <77702996+KameronKerger@users.noreply.github.com>
Date: Tue, 31 May 2022 10:19:01 -0700
Subject: [PATCH 5/6] Add files via upload (#1656)
updated TSD (new - naming convention) and new TSD-es
---
.../cejst-technical-support-document-es.pdf | Bin 0 -> 5001896 bytes
.../cejst-technical-support-document.pdf | Bin 0 -> 2472584 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 data/data-pipeline/data_pipeline/files/cejst-technical-support-document-es.pdf
create mode 100644 data/data-pipeline/data_pipeline/files/cejst-technical-support-document.pdf
diff --git a/data/data-pipeline/data_pipeline/files/cejst-technical-support-document-es.pdf b/data/data-pipeline/data_pipeline/files/cejst-technical-support-document-es.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..92ff73fbb3fc4da05e8268714410f232f066db61
GIT binary patch
literal 5001896
zcmbTdb9ALm(>@w|Vspo~ZQHhOPi)(^HL-0wnP_5rqKVGT^FFW6?_1~lt@F?Bd)K|Y
zx>ogGRaaltMXDeoM$1UY3`06}cz1YScAq~tGy=l{U;x+~S;6q|0O(~*?aW;)0Ia`7
zN&tE>OB)wcr{ANEp^K@AsjGJcMnmK<_(Hn^m6O-o~
zj%8t2Zvy{#@4?x0P(l`D#r@78go~Eutg{zGGhDNBOiC8FXE(ZZO;d|gcLJXo6{!xn93%`kML}zwW{&b
z*8Q;vp_k*q%Z=g)=w%)ae)X(kq@&~*DH}=jq2&COYC{iNUXw^dY*J7-mxx~r%ERi{
zRj&;$nvcF8i$ho&+hND{vx^FOxPw3kL8N7)EZ*Gr%TCI-;%A8QVJsBiaq`yi+wcq$
z&>e)2)W=vv!Hj>f{>t{hou@oj$SdOC@?9}~VX!$AMn=DtlD)z}MRm^lIwvb@x)ZD+
zPTu6?YKymbasLjq(G=Q;;}Y?e1;QGX#Zi*3n+|O_IWh6IAH=M34z-;8V5gSR;FO78
zQM>+|5O^Ve!1fQ35Ho-1@8X>#)GS~MJ{f80Ztb0M+HmD6rG?I-oF?EcH6-0hTA@=q
z=Am!d;0Ym9i+^?{C0Q!7F@xD06##E;*cC4gdHFv9jS;2>f&K3@8aWPk+0
zp(2MRY^ILr?9E_S0xoB%FOZH-nN1COMyO3y#*0zW@;k|5s68I$EX^kq(5;DOgcRwBDmA=qoTc_
zBz()?YaDcWeOXyQS+KT0uV
z*%rFmnw^RC9D96Hpwpv^ESmv(xZ*)y^vxIS?*exCrrShkYde-YfU&{BL|xaH?F=@9
z7}YdDAd~Ewap_J>PJ!Pe`{e{sjB!B?ZclN6J0->7HoSVGD@4Ojc)X!ZX^M08=C}G2
zbA>kRPU$&e+C&_`IkKe&cfKaS|sAQ&7MHy|lHNXL`Oc
z1DF=j%?uR;Sx7$5f`R0=rEuGODJf@}ZEqV1Cn}z=H^BlZmHh;GI0SAH4x)?fTcPzG
zNf@+bgy`2_7#e}&+L*Ay0W9hcNYm*zqPr0lC(%#sP2@NJTJs2(>Cur`9hgwP#yt7%
zpyr7ZP&Hq@8$CwvnevAT9N&E9TNOER96triu1J;~!MozZ<_KQ73jC`KZtz$p-rv2U
zx?`ZMTKB?dbK&DyW+-s{am3o3ds?PW2VlO79tYgmB)hlqf+$1-b!;?m*wM1Yd=qhx
z(k*0v<=xrrR|Ep-q7hb7?8v{NT+s`BcW~})e>vXy^zBZ0^7~;DKc@)iB@h`Upxv?|
zv7+tM#(a0V)&{q!e>{t29aMn)zMray20JTv`Ad{yyuFa^*n
z7@Gg}>11l>0$~0}tW`2~ws&i4TbDI0NM<{
z1#FB=0Cr9$U6|kT`0sW8%=>2?S8%d7RyK73X#ZYJL<~T$V(Q@npqI4$y|B>VqwwFO
zBtREHFKlmP@1*QtXlx4jlLmyH83F8nmi?{%cliHp$zNg>6&3&^<3G$%QDI~QF#T=(
z?=KtxroXd>iV710fa$O4zZX_v0&xDN>GvZWfbriGSO84_R>cHh{OebLCNMGp82>e!
z1HkwXwSNrJkT0^k`xqHn0Q3^3mgW{N0CvXTPWrtKP7d~eQXq_rlk4w|`wwURZKtxV
zp|drB`On7u-YFqV7iR@iCt-VA2Yb6eTg>r4rqVxK_pelXsUvHTBZ@hbKo$@<1no#+
zYgAS_R3Z-MgpBQ1?6@iAEtIdcQ6O{%3{9xIH2whsAI|3Z(jjhzivb;>Y|oodVu!4x
zy4P2iPbyh*n4xRlwf>U3