* Add additional base layers behind feature flags
- add voyager base layer under vy
- add positron base layer under ps
* Add mapbox base layer
- requires API token
* Add mapbox layers with API token in URL
* Add base map layers from mapTiler
- add comments to mapping components
- add mapTiler base maps behind feature flags
* Comment out intermittent cypress test failures
* Add flag to remove label layer
* Add MapBox Raster and Vector tiles
- tilesets are commented out until more information is provided by Mikel
* Remove white layer on non-prioritized features
- removes makePaint function
- adds Todo to renaming constants
* refactor all contants to have standard naming
- renames layers, sources, colors, opacity, and zoom
- Adds a large amount of comments to understand how this map works
* remove some instances of mapbox-gl
- this the first step in having only maplibre-gl being used in app
* Remove chroma.js
- chroma.js was used in the fill function of makeStyle. This was used to create a gradient between non-prio, threshold and prio. Since these 3 step values are no longer needed this function along with the libraries it used is not removed.
* Add comments on mapbox base layer
- adds apiaccesstoken
* set basemap to mapbox and move all layers to Map
* Add API KEY to .env, adjust opacity of prio'd CBTs
- remove this function as it is no longer being used
- add comments on map
- create a high layer opacity and low layer opacity
- add API KEY to prod and dev .env
- add MapBox API key to deploy_staging
* add logging to troubleshoot API KEY
* Remove temp echo of API KEY
* Add GHA env var to gatsby config
* Remove API KEY from GitHub and GHA
* 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
* 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
* Fix footer alignment
* Can't really tweak alignment using trusswork's library.
* Reimplement parts of layout to control grid better.
* Removed trusswork's weird mobile expanding footer menu.
* Update snapshot
* Add some extra bottom padding for mobile view
* Replace fork of trussworks react/uswds with ^2.0.0
Since we're not using trusswork's `<Footer>` component anymore, we should be able to stop using our branch that fixes issues it has with Gatsby.
* Header updates
* More pixel alignment for nav
* Update unit test snapshots
I removed a stray `,` from `testHelpers.tsx` which changed the output of several snapshots.
* Fixes from PR review
* Forgot to update snapshots after merge with main
* Removed unused (and outdated) timeline page
* Updated some translation descriptions.
* initial map side panel
* componentize MapSidePanel
* remove selection from J40Map
* adds isFeatureSelected to toggle component
* filters data from server for client UI
* styling and refactor
* added TODO
* adds styling to intro and pairing feedback
* add mobile styling
* adds popup back to fs feature flag
* adds tests and aria roles
* makes mobile content same as desktop
* prettier update
* initial e2e mapSidePanel test
* adds cypress tests on desktop and mobile
* adds sass util and updates cypress tests
* cleans up tests
* reverts tsconfig file
* fixes map alignment
* renaming and using constants
* renaming sidePanel to infoPanel
* intl messaging
* adds snapshot testing and utility sass file
* PR feedback
- adds intl messages
- adds data-cy attr to cy tests
- snapshot testing for unit tests
- fixes bug where side panel extends past the map
- moves all wrapper content in MapWrapper
* logs isMobile to troubleshoot deployed PR
* adds react-device-detect for isMobile detection
* adds new instance of map for mobile
* adds instance
* adds isMobile to state
* tests the fix for mobile map view on PR
* PR review feedback
- localize MapIntroduction
- update snapshot tests
- QA feedback
- constants.isMobile points to react-device-detect
* Fixed es.json
- converted remaining english to spanish in file so as to check more locations.
- the `formatjs compile` for Spanish was failing converted back to english for now. build does the correct thing, so it's more just to keep things correct in source.
* add support for eslint-plugin-formatjs
- eslint rules for formatjs
- we are mostly protected by typescript checking, but this is a nice sanity check.
* 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
* switching to MapLibre (see more at https://github.com/usds/justice40-tool/issues/299)
* Removing traces of OpenLayers
* Review comments - removing unused properties, component
This is a pre-requisite for addressing issue #280 and other similar control-related tickets
Addresses issue #191 - As a stakeholder interested in the cumulative impact score, I want to see more states in the map, so that I can further analyze the score results. Introduces gradient coloration on limited 5-state dataset as well as the core of a few key visual aspects of the map to be expanded upon later.
* 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
* Addresses #78 - As a member of the public, I want to know that our site is a work in progress, so I can set appropriate expectations
* updating wording
* eslint changes
* package-lock updates
* Updating styling slightly and moving to top of page
* using the higher-level react-testing-library, and regenerating snapshot - renders real DOM elements
* Basic e2e testing with Cypress, following the guide here: https://www.gatsbyjs.com/docs/how-to/testing/end-to-end-testing/ ; needed to install cypress-local to avoid jest-cypress collision
* Adding accessibility testing support and basic a11y tests
* adding failure logging
* Adding nightly test run
* Fix misc stuff from lighthouse (#81)
* Removing local-cypress, relying instead on a combination
of type reference and eslint-plugin-cypress;
adding cypress to jest ignore paths to avoid conflict -
`npm test` is now jest-only, use `npm run test:e2e` to run cypress tests
* updating comment to clarify timezone
* 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
Addresses #58 , "As a member of the public, I want to see J40's website live on the internet, so that I know it's real!" - hosting on github pages for now as a temporary measure. This fix does NOT: 1) add .gov domain hosting, or 2) post to the geoplatform s3 bucket. This will need to happen in a subsequent fix.
The changes made specifically to enable this for now:
* Adding github action to build, test, and deploy on pushes to client/
* Adding path prefix to build gh-pages at https://usds.github.io/justice40-tool/
* (Temporarily) pointing to fix branch for trussworks to enable SSR building
* Removing the workaround for the above bug in gatsby-node.js
* Setting build target to be 14.x due to version number limitations
* Adding gh-pages dependency, deploy action for manual deploy
* Force renaming J40header -> J40Header and J40footer -> J40Footer due to Linux case sensitivity
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