* feat(client): add duplicate account warning
* feat: check completed challenge count
* feat: stop redirecting /learn to /email-sign-up
* test: update to account for the lack of redirects
Also, in an extremely WET way, test both options.
* Update client/src/pages/email-sign-up.tsx
---------
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* feat: add university and seasonal alerts
* feat: show university camper alerts to non donors
* feat: adjust tests
* feat: update CTA
* Apply suggestions from Oliver's code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* Apply suggestions from code review
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* feat: changing learn alert to link
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* feat: add skip-to-content button
* fix: remove content start ids from everywhere and add to default layout
* chore: format landing-top.tsx
* use single quotes in skip-to-content component
* include breadcrumbs in navigation
* linting fail fix
* use anchor tag instead of new component
* update challenge title snap
* fix(test): reliably move focus onto the editor
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix: remove circular dependency
redux depended on templates/Challenges/redux and vice versa. This
meant that import order mattered and confusing bugs could arise.
(cherry picked from commit 7d67a4e70922bbb3051f2f9982dcc69e240d43dc)
* feat: require imports to be in alphabetical order
Import order generally does not matter, but there are edge cases
(circular imports and css imports, for example) where changing order
changes behaviour
(cherry picked from commit b8d1393a91ec6e068caf8e8498a5c95df68c2b2c)
* chore: order imports
* fix: lift up challenge description + title comps
This brings the classic Show closer to the others as they
now all create the description and title components
* fix: remove donation-saga/index circular import
(cherry picked from commit 51a44ca668a700786d2744feffeae4fdba5fd207)
* refactor: extract action-types from settings
(cherry picked from commit 25e26124d691c84a0d0827d41dafb761c686fadd)
* fix: lint errors
* feat: prevent useless renames
* feat(client): add new coder survey link
* add translation key to all locales
* close i18n tags
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* refactor(client): convert toggle-button to TypeScript
* chore: rename Space to tsx
* refactor(client): convert space to TypeScript
* chore: rename SlimWidthRow to tsx
* refactor(client): slim-width-row to TypeScript
* chore: rename SkeletonSprite to ts
* fix: fixed typos and resolved paths
* chore: resolve path inconsistencies
* refactor(client): skelton-sprite to TypeScript
* chore: rename loader.test to tsx
* chore: add types for react-spinkit
* refactor(client): loader to TypeScript
* refactor(client): link to TypeScript
* refactor(client): image-loader to TypeScript
* refactor(client): full-width-row to TypeScript
* refactor(client): current-challenge-link to TypeScript
* refactor(client): button to TypeScript
* refactor(client): border-color-picker to TypeScript
* refactor(client): avatar-renderer to TypeScript
* chore: changed loadertest(snap) to ts
* chore: optional types added and cleaned files
* fix: args are now optional
* push small updates for Spacer component merge
* update snapshot
* remove type defs from deps
* Revert "remove type defs from deps"
This reverts commit 9f58bf3554.
* correctly remove client type deps
* final push to remove from deps
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
The previous approach did avoid a fair number of jest.mock calls, but
made debugging the tests harder. If you don't know about the mapping
it's unclear why the imported module does not behave as normal.
By forcing the use of jest.mock it means that the answer to that
question is in the test you are working on.