Commit graph

38 commits

Author SHA1 Message Date
Vim
667678f20e
Add additional base layers behind feature flags (#945)
* 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
2022-01-13 12:25:43 -08:00
Vim
d1511287b8
Updates intl file with latest copy (#795)
* Extract 404 page copy to intl

* Move all copy to data copy folder and add tests

- Add test:intl-extraction script
- Fix certain defaultMessages not appearing
- update snapshot
2021-10-14 13:49:16 -07:00
Vim
92d76fb6f4
Gherkin workflows for desktop (#788)
* Add gherkin tests for page navigation links

- test that every page will load when navigating from any other page
- update snapshots

* Add gherkin workflows 2 - 5

- add test for Federal program officer key information and CTA
- add test for Community members key information and CTA
- add test for Send feedback
- add test for Join the Open Source community
- update snapshots

* Add gherkin tests for footer links

- add footerlinks feature gherkin file
- adds a comment to the hyphenizeString()
- adds keyword functions for footer
- adds data-cy tags to footer component
- updates snapshots

* Adds workflow to learn more about EO

* Add gherkin test for dataset links

- add data-cy tags to dataset sections
- modify Cy command functions names
- update snapshots

* Add cypress test to deploy_staging.yml

* Add working directory env

* Remove keywords.js from cypress test

* Add a Then step to all About and Footer tests

* Refactor step definitions

- use globalStepDefinitions
- rename keywords to commonSteps
- remove keyword from exclusion list
2021-10-13 14:06:05 -07:00
Vim
e2f68dc46f
Add sentry monitoring for all runtime errors (#767)
* Add sentry monitoring for all runtime errors

* Modify CDN ID to older CDN

- waiting for access from Zivaro
2021-10-04 10:19:08 -07:00
Vim
72d80a5803
Attempt to merge Lighthouse Fix branch from Nat (#758)
* 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
2021-10-04 08:43:33 -07:00
Vim
bf80863460
Removes GA Gatsby plugin (#759)
- places original GA tag back into head
2021-09-30 15:43:14 -07:00
Vim
ca7d688623
remove GA script tag and use Gatsby plugin (#756) 2021-09-27 13:54:10 -07:00
Vim
522872037a
Website copy layout styling updates for Tuesday launch (#685)
* 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"
2021-09-16 10:21:25 -07:00
Vim
47df35b77e
Gherkin cypress spike (#673)
* 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
2021-09-15 12:06:13 -07:00
Vim
704831159f
dockerize front-end and pass env vars to npm build (#614)
* Revert "dockerize front end (#558)"

This reverts commit 89c23faf7a.

* dockerize frontend
- adds score server and website docker compose
- creates docker ignore
- adds .env.* for dev, prod and local
- adds dockerfile for website
- adds env to gatsby-config
- adds hostaddress to develop / start script
- adds istructions in README for running docker
- replaces fixed URLS with ones based on env vars
- creates a score server dockerfile

* updates README to change map tiles source

* adds env DATA_SOURCE:development to deploy GHA

* capitalize readme
2021-09-07 10:35:11 -07:00
Vim
f5c4ba6d88
Revert "dockerize front end (#558)" (#588)
This reverts commit 89c23faf7a (dockerize-front-end)
2021-09-01 13:00:26 -07:00
Vim
89c23faf7a
dockerize front end (#558)
* initial docker

* adds concurrency to be able to run yarn install

* adds 0.0.0.0 to allow docker access

* adds web service

* adds env variables

* updates root path

* adds volumes

* adds docker to readme

* adds score server client docker

* docker updates after convo

* speeds up build and removes env vars

* adds client as volume

* updates to docker setup

* checkpoint

* updates the docker file

* adds .env.* files

* replaces serve with http-server for cors

Co-authored-by: Jorge Escobar <jorge.e.escobar@omb.eop.gov>
2021-09-01 11:16:29 -07:00
TomNUSDS
55b37fe448
Fix footer alignment (#564)
* 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.
2021-08-25 10:13:13 -07:00
TomNUSDS
b32fd6ddcb
Refactor alerts (#562)
* 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
2021-08-25 08:34:18 -07:00
Vim
174a0e1330
Modifies ExploreTool page to match sprint 4 design (#481)
* initial commit of sprint 4 explore page

* adds styling on HowYouCanHelp module

* troubleshooting li element on deployed URL

removing local bullet styles

* removing unused styles

* recreating HowYouCanHelp

* explicit list el styles

* adds bullets back in

* fixes tooltip style and alert padding

* componentize MapLegend

* fix links

* inital intl and unit tests

* adds trusswork tooltip for comparison

* updates based on various feedback and disucssions:

- removes react-tooltip
- placeholder trussworks tooltip
- removes download packet component
- intl on HowYouCanHelp
- updates MapLegend tests
- add initial cy test on ExploreTool page

* removes bold on alert

* PR feedback:

- removes location from J40Alert
- localizes `COLOR KEY`

* adds intl to constants file

* modifies download zip URL to new S3 location

* removes location depedencies on Alerts

* add localization for HowYouCanHelp
2021-08-10 09:45:45 -07:00
Vim
36f43b2d44
adds map side panel (#406)
* 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
2021-07-27 12:05:25 -07:00
TomNUSDS
e066f459fa
Fixed es.json (#354)
* 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.
2021-07-15 13:00:15 -07:00
Nat Hillard
dbf1ae2ad8
Zoom button styling does not match spec // General custom controls fix (#357) 2021-07-15 10:28:51 -04:00
TomNUSDS
cfce0dc826
End-to-end working localization (#336)
* 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
2021-07-14 12:05:18 -07:00
Nat Hillard
d0c281ec72
Census block groups should highlight when selected (#317)
* 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
2021-07-09 10:56:38 -04:00
Nat Hillard
2257627938
Use MapLibre for Map Visualization (#300)
* 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
2021-07-07 15:04:00 -04:00
Nat Hillard
92efc5c937
Zoom fade for higher zoom levels (#265) 2021-06-30 07:08:22 -04:00
Nat Hillard
a67b79a748
Adding ol-mapbox-style for easier styling (#148) 2021-06-17 09:28:37 -04:00
Nat Hillard
292c5bc8f5
CEJST Map (#139)
* styles prettier fix
* Addresses issue #100 from the frontend:
* Creates new cejst page and related OL components
* temporarily loads census-derived tileserver at higher zoom levels
* lays out cejst page : TODO :  remove aside
* temporarily removing license check - TODO: fix jsonlint
* review comments
2021-06-16 18:16:49 -04:00
Nat Hillard
7ab14c7f3d
Adding Simple URL-based feature flags (#117)
* 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
2021-06-09 15:32:59 -04:00
Nat Hillard
55d6e6635b
addresses issue #11 sub-item 'license checker' (#92) 2021-06-03 15:03:10 -04:00
Nat Hillard
426f596c7a
Adding Cypress for e2e testing (#85)
* 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
2021-06-02 20:53:22 -04:00
Nat Hillard
394260bbec
Splitting dev and prod dependencies, adding npm audit step to catch security vulnerabilities (#88) 2021-06-02 13:21:23 -04:00
TomNUSDS
9f3a030fd5
Fix misc stuff from lighthouse (#81)
* 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
2021-05-28 17:07:50 -07:00
TomNUSDS
3ca4ca9e6d
Basic Layout (#80)
* 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>
2021-05-27 09:54:42 -07:00
Nat Hillard
ce7245b1a2
Addresses issue #11 items unit testing, snapshot testing. Follows instructions from https://www.gatsbyjs.com/docs/how-to/testing/unit-testing/ ; Adding typescript config, mocks, snapshot capabilities; initial test for j40footer and snapshot, readme update, test helper for intl plugin (#79) 2021-05-26 10:01:05 -04:00
Nat Hillard
a432a0d8c9
Adding Linting and Formatting (#77)
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
2021-05-25 16:21:21 -04:00
Nat Hillard
16a9e67db0
Static Deploy to Github Pages (#73)
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
2021-05-25 12:07:45 -04:00
Nat Hillard
a579cb13bf
Addresses part of #16, (#71)
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
2021-05-21 13:05:27 -04:00
Nat Hillard
a587482967
Typed Sass Styling (#69)
* 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
2021-05-20 23:59:20 -04:00
Nat Hillard
13a4e5f47a
Adding Trussworks USWDS React Wrapper (#67)
* removing unused js
* Working for first load, second raises 'failed to SSR' without DEV_SSR enabled. We will need to fix this before prod
2021-05-20 21:54:08 -04:00
Nat Hillard
ad72a5014c
Informational Site: Typescript (#63)
* #16 pt 2 - adding typescript
* Updating package/package-lock
2021-05-19 18:55:10 -04:00
Nat Hillard
edfe94d2ef
Informational Site: Initial Gatsby Init (#62)
* Initial 'npm init gatsby'
* npm update
2021-05-19 18:19:38 -04:00