* Re-order nav links, update download box to include shapefiles, squishy pages (#1536)
* 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
* Make all page endpoints constants
- fix all cypress tests
- refactor all test to use LegacyTests/constants/PAGES_ENDPOINTS
- gatsby-config to use PAGES_ENDPOINTS
- remove ScoreStepList component
- update J40Header to use constants.PAGES_ENDPOINTS
- update snapshots
- there are 3 locations to update PAGES_ENDPOINTS, namely
1. LegacyTests/constants.tsx
2. constants.tsx
3. gatsby-config
* Add two placeholder pages
- FAQs
- TSD
* remove dropdown from navigation menu
- remove dropdown from gherkin tests
- update snapshots
* Add back public engagement button to all pages
- add send button in area detail alt tag to i18n
- modify public engagement button to have same CSS as send feedback button
- update snapshots
* Update download box to include shapefile downloads
- refator download packet scss
- add shapefile URL to .env files
- update tests
- index forwarding pattern
- update snapshots
* Add FAQ link to About page
* Update footer
- add PEC
- add RFI
- add github link
* Update the staging link URL and title
* Update download Box to match design sync
- update FAQ link copy
* Add comment for reason of commented code
* will replace mapbox logo (#1477)
* Replace maplibre logo with mapbox
* change the logo go to mapbox
* Add CodeQL and modify mapbox logo via useRef()
* Make side panel formula more apparent (#1481)
* Add ExceedBurden and CategorySpacer
- create ExceedBurden component that is used twice
- create a .categorySpacer class for the AND component
- modify indicator styling to work with background higlighting
- add BE stubs for Burden booleans
- remove Indicators header
- add copy to intl
* Add comments on disadv. indicator
- darken bg color
- add a border
- bold the text
* Adds indicator arrow and sub text to sidepanel
- add threshold to IndicatorInfo
- update SASS for indicatorValueCol
- update tests
- add constants to intl
* Make disadv indicators bold
- add 1px margin between indicators
* Add BE signals for new sidepanel
- tested with staging backend
* Add staging hash to URL
* Fix poverty backend signal
- refactor backend signals in constants file
* Make exceed burden value bold
* Refactor indicator values
- remove arrows and subtext when value is N/A
- Show -- when value is N/A
- intl alt tags in indicator
- fix alignment of arrows
- update snapshots
* Revert settings.json file
* revert settings file again
* Refactor what is displayed when data unavailable
- add an unavailable icon
- add data is not available subtext
- modify low income threshold
- update snapshots
- factor out rendered logic to JSX functions
- update image alt tags and intl
* Refactor Indicator component to unit test
- Add unit test for Indicator value icon
- Add unit test for Indicator value sub-text
- update snapshots
* Add de-coupled BE signals
* Rebase hotfix
* Fix indicator value 0 shows N/A icon
- remove coercion of 0 as null
- make components check null / failure case first and default all else
- update unit test to account for this use case
- update snapshots
* Add null check for percentage suffix
- update unit tests
- update snapshots
* remove cypress zoom test
- intermittent failure continue
* revert cypress to 8.3.0
* Revert cypress-cucumber
* Add Chrome to frontend deploy action
* Update logo css classname after update to maplibre (#1482)
* Add new wording to the map panel that appears upon load when no tract is selected and Outstanding CEQ changes to sidepanel (#1483)
* Add new side panel unselected tract
- add new icons
- refactor old component
- follow component folder pattern
- update snapshot tests
- add to intl
* Add bold to text, add spacing and correct typos
* Add tabindex to sidepanel content to pass a11y
* Refactor i18n anti-patterns on explore tool page
- add i18n patterns for nesting
- add i18n pattern for partial strings
- add i18n rich-text functions
- add i18n pattern for minimal context
- add i18n pattern for dates
- add i18n pattern for numbers
- add i18n pattern for centralizing rich text functions
- add i18n patter for description
- add i18n pattern for ids
- see shared drive file J40 Localization Patterns for status on refactor
* Remove links of expired public engagement sessions
- allow cypress tests to pass
* Update snapshots for public enagement page
* Copy updates to non-selected side panel
- update snapshots
* Updates to side panel copy
- ag loss and building loss text
- clean transit
- NPL RMP sites
- proportion to percent
- update snapshots
- updates to es.json
* Updates from QA
- make title smaller
- make margins above icons smaller
- add bottom margin on container
- add census before tracts in copy
- update snapshots
* Update snapshot after rebase
* disable max-len on description fields on i18n copy (#1487)
* Remove color key from Explore the tool page (#1484)
* Remove color key
* Add comment to Language component
* Move tribal note copy to meth page
- adjust responsive sizing props on Grid to allow for proper mobile viewing on Explore page
* Add responsive size to text under map
- reduce z-index of territory focus control so that it doesn't go over the survey button on mobile
* Rewrite the two "notes about" the "low" datasets (#1489)
* Refactor all copy to adhere to recommended patterns
- remove LowIncome component
- add intl README
- update snapshots
* Fix key error missing in datasetCard
- update type in IIndicators
- update snapshots
* Add two notes on low dataset cards
- refactor DatasetCard to standard component pattern
- add a note to the interface
- update snapshots
* Add function comment to force re-build
* Update missing sass module file name
* Update sidepanel non-selected copy (#1495)
* Update sidepanel non-selected copy
- update snapshots
* Update URL in deploy FE for cypress test
* removing trailing slash
* Add wording to UI that calls out improvements to display of census tract information (#1492)
* Adds census tract alert on all pages
- add i18n text
- updates snapshots
- makes public engagement page a fast link
* Style the Alert to have more space around it
* Update copy on Alert
- update snapshots
* Swap gerkhin order
* Set Alert to expire on Apr 15th 2022
* Add WHEJAC meetings (#1501)
* Add WHEJAC meetings
- add expired icons
- automatically load expired icons when event has passed
- update snapshots
* Update public engagement button
* Remove public eng gherkin tests
- need to troubleshoot why these are failing
* Remove the before CEQ in copy
* Make the count of thresholds exceeded on the side panel more clear (#1503)
* Update category / thrsh count in side panel
- connect BE signal of CC to side panel
- i18n functions to call from AreaDetail component
- update snapshots
-
* Update send feedback - color and icon
- update snapshots
* Update both exceed statements in sidepanel
- update snapshots
* Update copy for higher ed and high school (#1502)
* Update copy for higher ed and high school
- update dataset cards
- update taskforce card AND
- update side panel indicator titles
- add i18n for dataset cards title
- update snapshots
* Update threshold values for Higher ed and HS.
- update snapshots
* Update AND clause
- missing 'of' in copy
- update BE signal for non-higher ed enrollment signal
* Add public engagement page
- modifies sitemap config
- creates PublicEvent component
- adds SVGs for dates
- all copy is in intl
* Add Public Engagement button to each page
- create new PublicEng component
- add to each page
- update snapshots
- modify CEJST and Meth page to give button more space
* Make mobile compliant and fix DOM validation error
- transform each <p>'s descendent into a <CollectionDescription>
- fix a mobile rendering issue with <Collection> library
- format registration links so they render on mobile
- update snapshots
* Add spacing to descriptions and fix links
* Add Gherkin tests for testing links
- all zoom links should be functional
- ensure all legacy tests, test the new page
- add data-cy tag for cypress
- update snapshots
* Refactor to pass accessibility on all pages
- update snapshots
* Correct registration links
* Make registration links into buttons
* Make new tag bold
* Update copy based on feedback from Corey
* Modify copy
- update snapshots
* Fix failing cypress tests
- commented out lat/lng in URL test as it is intermittent
* Removes test on EO link
* Update copy for launch
- adds 404 page verbiage
- fixes survey button to be bottom sticky
* Update copy
* Move survey button to header
- remove SurveyFab component as it's no longer a FAB
- place button in heading
- add tests
- add pageStyles module
* Add retry and timeout to failing test
* Move survey button to bottom of page
* Fix surveyButton failing a11y
- udpate snapshots
* Align survey button to Contact nav link
* Add new BetaBanner and remove legacy Alerts
- add BetaBanner component and test
- update AboutCard test
- remove AlertWrapper component, copy and tests
- remove AlertWrapper from all pages
- add BetaBanner copy and intl
- update logo and color
- add styles using USWDS tokens to globals.scss
* Add Beta pill to header
- refactor Header to use Grid and USWDS
- refactor global.scss to use Grid and USWDS
- updates snapshots
* Move styles from global to modules
- move BetaBanner styles from global to modules
- move J40Header to a folder component and module styles
- add J40Header unit test
- add a design-system.scss file that allows USWDS styles in modules
- updates snapshots
* Update en.json file
* Trigger Build
* Add initial Spanish content
- add README for translation team
- add createSpanishJson script
- add initial version of es.json
- add a spanish string variable to test translation
* Add retry and timeout config to stalled test
* Remove redundant test cases for AboutCard
- update snapshot
* Update BetaBanner description
* Fix all failing cypress tests
- update test name to be more appropriate
- update download packet tests to CDN
- update data-cy tag on About heading
* Update snapshot
* Add a11y tests in cypress for methodology page
- update cypress to version 8.5
- add HTML lang the <head> element
- change process list headings to h4
- add alt tag to download image icon
- move <GovBanner> into <Header>
- add documentation around a11y testing
* Add cypress a11y tests for cejst page
- add alt icon for mapIntro page
- change legend to be a normal div
- add a class that mimics the h4 styles
- remove superfluous styles
* Add cypress a11y tests for contact and 404 page
* Update snapshots
* Move static text in footer to copy folder
* Add cypress a11y test to About page
- add required h1 tag
- updates snapshot
* Add site_url.xml and modify robots.txt file
- adds plugins for robots.txt and sitemap
- remove env.local and will add env.production
- modifiy all yml files (docker and GHA) to specify new env variables
- refactor env variables to either DATA_SOURCE, SITE_URL or PATH_PREFIX
- set defaults for env variables in gatsby-config
- remove timeline component
- will add blank index page
- update README on info on env variables
* Add plugin to allow custom env vars
- allows system env vars, ie, DATA_SOURCE on client-side application
* Update displayed URLs in GHA to new CDN (d29)
- also updates the blank index.html
* Correct spacing
* Set SITE_URL to new CDN for robots.txt
* Remove SITE_URL as this is set by GHA
* Update README around docker and env vars
* Open external links in new tabs
- allow contact page mailto link opens in new tab
- allow about page mailto link opens in new tab
- comment against opening external links in same tab
* Update snapshots
* Update version number on frontend
- add verion to download packet
- add verison to side panel
- update snaphots
- add version to constant file
* Add minor UI changes from QA
- adjust copy in download package
- update tests
* Refactor all intl code and will add page tests
- remove all copy app wide and place into respective data/copy folder
- adds tests for each page
- allow product to make copy changes in one place
- prepare for spanish language effort
* Update copy on site based on living copy document
* Updates copy from living doc v2
- updates shots
* Update styling to sidepanel
- make indicator heading white
- change bg color of add'nl indicators 'FAFAFA'
* Separate dataset cards sections by style
- abstract out additional cards color to utils
- create a baseCard mixin
- add datasetCardAdditional style block
- add additionalIndicator prop to DatasetCard
- lower abstaction of GridContainer from methodology to DatasetContainer
- updates snapshot
* Swap resolution and source in dataset cards
- update snapshots
* Update SVGs on About page
- re-center the SVGs to content vertically
* Add basic accordion in AreaDetail
* Refactor AreaDetail to use a Grid layout
- adds useWindowSize to detect window resizes for mobile view
- Map and AreaDetail to use Grid
- removes some component styling from J40
- updates snapshot
- MapWrapper to use Grid
* Add custom Accordion styling
- make J40 map a 9:3 Grid layout split
- override native Accordion heading styles
- make the Accordion multi-selectable
- add some dummy data for indicators
* Update AreaDetail to match design
- remove styles in AreaDetail
- increase height of MapInfoPanel
- add Accordian items (indicators)
- updates snapshot
* Add a Beta Tag to the logo
* Change the line height on indicators descriptions
* Update package-lock after the rebase
* Remove threshold from MapLegend
- move feature selected border color to utils
- remove all tooltip logic
- remove all styles associated with tooltips
- add legend label and descript to constants
- refactor tests to be snapshots
* Add borders between additional indicators
* Modify copy and update styles
- add the ordinal superscript back
- update the copy
- update the snapshots
* Add additional indicators keys
* Connect indicator keys to the UI
- update the areaDetail snapshot
* Render additional indicators accordion open onLoad
- update snapshot
* Update copy on About page
* Update copy on indicator descriptions
- update snapshots
* Update the "How you can help section"
- update the snapshot
* Add a comma to "ZIP file will contain..."
* Add the Datasets section to the methodology page
- update snapshot
* Update Methodology process list to trussworks
- remove custom process list
- remove custom CSS from global file
- change copy
* Modify layout of Methodology to using Grid
- modify Dataset section to use Grid
- remove outdated component CSS
- update the snapshot
* Update copy based on product feedback
- update snapshots
* Remove Accordions
- updates snapshots
- white CBG groups will show "Not community of focus"
* integrate gherkin/cucumber w/ cypress
- change cypress.json config from e2e back to standard integration
- add cypress-cucumber-preprocessor
- add integration test of about page
* add a title to each page
* add intl to the 404 page
* Refactor explore tool page
- add intl to static strings
- replace component css with <Grid> layout
* Add title to contact page
* add intl to title of page
* Add gherkin tests for nav to about page
- navigate from any page to the about page
- ensure each link has the title correct on that page
* Revert "dockerize front end (#558)"
This reverts commit 89c23faf7a.
* cleans up global.scss file
* removes all unused styles
* adds h1 and h2 via tokens
* adds design to developer pipeline
* adds headers to about page
* removes heading from logo
* adds headings to HowYouHelp and MapLegend
* adds headers to explore tool page
* updates about page with p tags
* add margin-bottom spacers
* updates areaDetail with p and h tags
* update p.secondary margin-top
* sticky footer on contact page
* fixes spacing in footer
* update designer process
* Refactor alerts
* Remove J40Alert and classes
* Make AlertWrapper the primary component.
* Props to show one or both alerts
* Unit tests to verify one or both works correctly
* Update pages to use AlertWrapper
* Remove unused J40Aside.
* Remove dead code from index
* Card sections of the About page
* Create index.test.tsx
* Add test that verifies no console errors and no undefined variables.
* Added unit test with snapshot
* use global.console.error
* Fix unit test for console.error()
* Remove areasOfFocusList since it's no longer used
* CSS adjustments from PR
* Add back in AlertWrapper
* github.com link opens in new tab
* adds comment to globalize console.error check
* Refactor AboutCard
* Fixing the top grid so it resizes correctly on mobile. (e.g. using `<Grid desktop={{col: 9}}>` will expand to full width when going to mobile.
* So AboutCard can now do 'large' cards (ones at the top) and 'small' cards (ones at the bottom that are 2x per row).
* change `desktop` -> `tablet`
* `<Grid col={1}>{' '}</Grid>`
Co-authored-by: Vim <86254807+vim-usds@users.noreply.github.com>
* Refactor to move `<DatasetContainer>` out of layout
* `<DatasetContainer>` is now in the methodology page. Starting the review there will help understand the motive for this change.
* Fixed 404 page which seems way out of date.
* Use row/col grid syntax
* End-to-end localization working
* Update package.json
* fix FormattedMessage confusion by using the `FormattedMessage` from `gatsby-plugin-intl` NOT `react-intl`
* TODO: `client/src/intl/es.json` should be generated from a translation tool.
* Update package-lock.json
* Make the accessibility checkers happy
* Include a lang specification in the `<html>` tag.
* reorder `<h#>` header tags.
The `<Aside` to from `<h1>`, `<h2>` to be `<h2>`, `<h3>`. This is because trusswork's `<Footer>` uses and `<h4>` and the accessibility checkers complain it was skipping from `<h2>` -> `<h4>`
* Change `<aria-details>` to `<aria-label>` for milestone list
* Update J40Header.tsx 80 column line
* Fix issues from #120
* Include USWDS scss into build.
Allows us to do theme things. Compile time slower... Not sure if it's worth it since most items can be overridden in css and we can't theme the Navbar (e.g. invert colors).
* Update J40Footer.spec.tsx.snap
* Update gatsby-config.js
* Fixes#66: As a developer, I want to limit the audience
that sees new features, so that we can control
the message and positioning of our tool.
Implements simple feature flagging via URL parameters.
Provide "?flags=x,y,z" to enable flags x, y, and z.
* Fixing type to use Location instead of URL
* Updating README with info on how to use feature flags
* More layout fixes
* Get aside flush with top/bottom
* Media change iconlist to one column on mobile
* Misc other fixes
* convert className to use React syntax consistently.
* Update J40Footer.spec.tsx.snap
TODO: body font need to be addressed at the theme level?
* Fix misc stuff from lighthouse
- Icons in list were resizing to be too small.
- Added robots.txt (full exclude for now)
- Add favicon.ico placeholder
- Added page title using helmet (react-helmet + gatsby-plugin-react-helmet)
Note: not sure if react-helmet can be in dev section of package.json?
* Move helmet to header file
- Moved `<Helmet><title>{title}</title></Helmet>` to Header.
- Added ts support for Helmet.
* Fix title header
* Basic Layout
- Merge with main into new branch
- Most of main content and footer working.
- Could not get fixed branch of trussworks to `npm install` correctly, so reverted back to public version. (`trussworks/react-uswds#kh-serverside-rendering-fix-1250"`)
TODO:
- stack sgv warning+cloud icons
- get timeline image (which as text that needs to scale)
- localization support
- move icon includes out of header?
- start converting elements over to trussworks
* Cleanup
- removed unused styles
- added some better comments
* Revert trussworks to fixed branch
* Update package-lock.json
* Temporarily pointing toward personal fork until SSR issue has been addressed
* Update J40Footer.spec.tsx.snap
* setting jestEnvironment to the proper 'jsdom' value, needed for snapshot tests
* lingering prettier fix
* small version bump
Co-authored-by: Nat Hillard <Nathaniel.K.Hillard@omb.eop.gov>
Addresses #11 item "Linting/formatting (eg eslnt, prettier)":
* Adding eslint, prettier, and config targeting Google, typescript, and both nodejs and client builds
* Addressing linter-found issues
* Adding lint and lint:fix commands
* Adding documentation
* Renaming workflow and adding lint check
* Adding documentation about VSCode linting/formatting, ran formatting on a few files, set up exclude list for gatsby develop, setup build to fail on error
Integrate gatsby-plugin-intl for internationalization
Replaces static text with `intl.formatMessage` call and Links with `gatsby-plugin-intl` equivalent
Note: `npm install` now requires `--force` to install the latest `gatsby-plugin-intl` as it doesn't explicitly support gatsby3.0
* Addresses issue #16 -
Add styles via sass and module imports
Adds typed scss imports via gatsby-plugin-sass.
Makes use of .d.scss file generated by gatsby-plugin-scss-typescript,
but avoids importing that directly while they work out issue in gatsby v3.
* adding vscode config for easier local debugging