Commit graph

270 commits

Author SHA1 Message Date
Nat Hillard
9ea0f946eb
Adding SHA (for PRs)/ Main (for main) to URL (#121)
* Fixes #90 - adds a GHA SHA to PR branches and 'main' for merges to main
2021-06-14 10:42:09 -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
TomNUSDS
acfcf523a7
Add timeline page (#105)
* Add timeline page
* Factor out common aside into component.
* Update J40Footer.spec.tsx.snap
TODO: Get nav menu working.
2021-06-07 09:22:07 -07:00
TomNUSDS
63d33b40d0
More layout fixes (#94)
* 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?
2021-06-04 07:36:16 -07:00
Nat Hillard
55d6e6635b
addresses issue #11 sub-item 'license checker' (#92) 2021-06-03 15:03:10 -04:00
Nat Hillard
dddd6d5e03
Warning Banner (#86)
* 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
2021-06-03 13:49:38 -04:00
TomNUSDS
f9ac170c6a
More tweaks from today's meeting (#87)
Just playing with layout.
- Inverted header
- updated snapshot
- adjusted column widths
- Update J40Footer.spec.tsx.snap
2021-06-02 18:34:21 -07: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
5c3a3c022a
Temporarily removing the use of useStaticQuery as it seems to have introduced a bug in page rendering. Hard-coding for now; incidentally we will need to load this as a string anyway for localization purposes (#70) 2021-05-21 10:57:20 -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