* 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.
* Fixing #410 - Clicking a CBG region, then another, then hitting territory button results in random CBG being selected
* Part of fix for #410 - refactoring selection
logic to remove setFeatureState call.
* Renaming layers for clarity and adding constants
* Using constant for layer identifier
* Fixes#409 - Loading a URL with lat/lng/zoom specified occasionally does not work . We now parse the URL on page before initializing the map. Also adds tests for this
* 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
* adding readme with debug instructions
* updating translation tests to pass
* fixes failing latlng url test
* localizing focus buttons
* updating map tests to pass
* temporarily setting to only flag critical+ accessibility errors. To be addressed with full accessibility audit later
* Fixes#320, Zoom button styling does not match spec
* Setting explicit size for icon dimension to avoid automatic SVG sizing weirdness for gatsby build static site
* Update INSTALLATION.md
Update INSTALLATION with more narrative text on how to install and start running parts of the app. We will need to update this soon with more info about the repo organization (once we have a `data` directory), but for now this reflects the current state of the repo.
* Update docs
Move client-specific things to client README, and update client README with steps to get the clientside app running locally.
- site not being at the "topmost level" (e.g. there's a `/path`) makes the approach of having the favicon in a known, static location break (`https://[tld]/favicon.ico`).
Setting the icon via the plugin should make it work. It should be here anyways.
We'll still need to add the SEO plugin as part of the accessibility fixes (setting page meta tags in a i18n way)
Fix for issue #366
* Create gatsby-ssr.js
Note: SSR means "server side rendering". This fix is from a long github discussion about how broken including all css inline in the file is. (Especially since newer CSP guidelines say all css should be in a separate file.)
* PR code review fixes
* Check el.props['data-href'] is valid
* Add comment for production only.
* 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
* Fixes#201 - As an EVCM, I want the map to make sense at varying zoom levels so that I'm not confused . For now uses a usa_low tileset created as part of #209 for zoom levels 3-7. Will need further iteration
* Adding comments
* Fixes#280 - adds territory focus buttons for Alaska, Hawaii, Lower 48, and Puerto Rico to enable easy zoom to these locations
* Adding tests - Specifically:
* Adding VSCode debug command for Cypress and debug port specification
* Disabling CORS on local tests
* Adding waitForMapIdle Cypress test helper
* Adding constants for easy change and access
* 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.
* 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?
* 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>