Commit Graph

60 Commits

Author SHA1 Message Date
Oliver Eyton-Williams
e118dda13a fix: order imports and remove circular dependencies (#41824)
* 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
2021-08-02 08:39:40 -05:00
Shaun Hamilton
6ca6d9950c feat(client): improve SuperBlock cert claiming UX (#41147)
* feat(client): improve SuperBlock cert claiming UX

* broken: add certCard foundation

* broken: add TODO comments for scatter-brain

* restructure stepsToClaimSelector

* add api-server verifyCanClaimCert logic

* temp: correct verifyCanClaim URL

* move GET logic to CertificationCard, remove console.logs

* add error handling, and navigation logic

* correct verification logical flow

* fix completion-epic updates, fix cert verify

* update widget to button, disable button unless verified

* working: refactor CertChallenge with hook state

* add StepsType

* update Honesty snapshot

* add DonationModal to SuperBlockIntro

* disable Claim Cert button unless also isHonest

* prevent warning when viewing cert

* test: use navigate in Modal to return to hash

* test: replace gatsby.navigate with reach/router.navigate

* add propTypes

* fix: rename propTypes -> prop-types

* use react-scrollable-anchor to squash modal bug

* update location parser type

* open-source Oliver's suggestion

* fix superblock title

* add claim-cert-from-learn tests

* use larger tests

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix some cypress stuff

* fix ShowCertification cypress test

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-07-15 23:51:27 +09:00
Shaun Hamilton
40323aef6a feat(client): ts-migrate /client-only-routes/ (#42587)
* feat(client): refactor /client-only-routes/ to ts

* ts refactor with no-verify for Spacer

* kebaberise filenames

* fix imports
2021-06-30 20:50:56 +05:30
Tom
067761f2f6 feat(curriculum): add relational databases cert as upcoming change (#41658) 2021-06-15 16:37:13 +01:00
Shaun Hamilton
24be225fa4 feat(client): refactor propTypes to TS types (#42278) 2021-06-03 14:23:46 +03:00
Ahmad Abdolsaheb
27c8d564e4 fix(client): replace Stripe with PayPal (#41924)
* feat: remove stripe payment option from client

* feat: remove stripe completely

* fix: remove last Stripe remnants

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-05-03 11:45:23 +03:00
Oliver Eyton-Williams
9be2fb9a10 fix: use lodash-es in the client (#41931) 2021-04-28 16:11:20 -05:00
Shaun Hamilton
d3f59e6d5d fix(dev): rename superBlock with v7 to certSlug (#41738)
* fix(dev): rename superBlock with v7 to slug

* improve name slug -> certSlug

* superBlockTitle -> superBlock

* correct teeny, tiny mistake

* fix: correct slug to certSlug in certLocation

* refactor currentCerts

* rename showCert cert -> certSlug and various
2021-04-23 22:29:17 +03:00
Ahmad Abdolsaheb
d5d786049e feat(api): stripe checkout integration (#41666)
* feat: add api stripe checkout integration

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-04-02 15:33:34 +09:00
Ahmad Abdolsaheb
3c7979692b fix(client): block donation modal (#40899)
Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
2021-02-08 12:58:36 +05:30
Ahmad Abdolsaheb
bfc4c33b0c fix: remove unused PAYPAL_SUPPORTERS var (#40361) 2020-12-01 14:51:24 +01:00
Ahmad Abdolsaheb
3106fe804f fix(client): unify client donations methods (#39562)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2020-10-14 15:53:26 +05:30
Oliver Eyton-Williams
3dbe69707f fix: redirect to email sign up on first login 2020-08-05 14:01:47 +05:30
Kristofer Koishigawa
6e5988da4e fix(learn): versioning for new certificate slugs (#39087) 2020-06-17 20:30:31 +05:30
Kristofer Koishigawa
77df0e32cd feat(learn): rename certificates, cert slugs, and cert flags (#39026) 2020-06-15 21:51:30 +05:30
Oliver Eyton-Williams
6b8c2e74b6 fix(client): sync Redux store and DB (#39034) 2020-06-10 12:24:19 +05:30
Mrugesh Mohapatra
a02ff7b08e fix(certs): add year to certs introduced in 2020 (#38912) 2020-06-04 13:13:07 +05:30
Kristofer Koishigawa
959608e85e fix(client): public profile qa and infosec certification links (#38948) 2020-06-01 19:53:59 +05:30
Beau Carnes
256ed00fb9 feat(learn): split InforSec and QA into individual certs (#38347)
Co-authored-by: Mrugesh Mohapatra <me@raisedadead.com>
Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
2020-05-27 13:19:12 +05:30
Beau Carnes
e776529ed0 feat(learn): add python video challenges (#38424) 2020-05-27 13:19:09 +05:30
mrugesh
22afc2a0ca feat(learn): python certification projects (#38216)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Beau Carnes <beaucarnes@gmail.com>
2020-05-27 13:19:08 +05:30
Oliver Eyton-Williams
a7c70ddcd8 fix: remove debugModal (#38405) 2020-03-20 21:24:06 +05:30
Mrugesh Mohapatra
585527d145 feat: add paypal donation to modals and certificates 2020-03-19 23:55:47 +05:30
Oliver Eyton-Williams
23b899f50f fix(csrf): remove all csrf bypass 2020-03-17 23:28:23 +05:30
Ahmad Abdolsaheb
24eb2c4310 fix: add donation ga and tests (#38003)
* fix: add donation ga

* feat: add ga-saga tests
2020-02-04 11:13:56 +05:30
Oliver Eyton-Williams
1a56f4d5f4 fix(client): show certs on timeline (#37947)
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2020-01-03 11:32:31 +05:30
mrugesh
8e605d8b85 Revert "feat(client): unify GA and add to donation" (#38001)
This reverts commit 78df306707.
2020-01-01 12:04:50 +05:30
Ahmad Abdolsaheb
78df306707 feat(client): unify GA and add to donation (#37984) 2019-12-31 23:29:32 +05:30
Ahmad Abdolsaheb
3f075f91d8 feat: activate progress based donation modal (#37882) 2019-12-09 22:00:24 +05:30
Ahmad Abdolsaheb
d7c4fd7fea fix: remove donation prevention (#37867) 2019-12-06 08:43:23 +03:00
Ahmad Abdolsaheb
a9bbcda211 feat(donate):add donation modal and certification message (#37822)
Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2019-12-02 15:48:53 +03:00
mrugesh
9fb9ce3085 fix(donate): offset the no of donations on prod (#37443) 2019-10-22 00:08:22 +05:30
Oliver Eyton-Williams
6316b47fbb fix: update timeline without reload
Rather than pinging the server, this uses the current time.  It should
almost always be the same and only lasts until reload.
2019-10-18 16:28:59 +09:00
Oliver Eyton-Williams
ed015fb06f fix: make profile update after server response (#37154)
The Privacy component has been simplified and made to rely on the user
prop rather than its own state.  The submitProfileUIComplete reducer was
missing so has been added.
2019-10-09 11:31:20 -07:00
Oliver Eyton-Williams
7d84783b40 feat: show last viewed challenge in curriculum map on reload (#35421)
* feat: Curriculum page loads with current challenge block open

* feat: Curriculum page expansion changes from review

* feat: Curriculum page expansion changes from second review

* fix: use a cookie to track current challenge

* fix: remove redundant server changes

* fix: add PropTypes to fix lint error

* fix: change cookies to store and add tests

* fix: use currentChallengeId

* fix: update tests

I couldn't figure out how to test the challenge saga, so that's gone for
now.  The Map tests have been updated to use currentChallengeId

* fix: remove unused PropTypes

* fix: separate currentChallengeId from user

* fix: update currentChallengeId directly on mount

* feat: reset map on every visit
2019-08-30 20:15:26 +03:00
Lance Rutkin
7a97974099 fix(donate): modal opens at most once per session (#36632)
* Track if donation modal has opened in a session

* Fix prettier problem

* Create separate action that switches donationRequested
2019-08-22 12:59:13 +05:30
Ahmad Abdolsaheb
c359662f85 fix: remove logs 2019-06-11 16:19:33 +05:30
Ahmad Abdolsaheb
bc099d4971 fix: add cert claim logic for legacy cert 2019-06-11 16:19:32 +05:30
Ahmad Abdolsaheb
c2ffd6471b fix: add redux wiring for legacy certs 2019-06-11 16:19:31 +05:30
Waseem Ahmad
05de360085 fix NaN issue for the number of active Donations (#35970)
* fixed NaN issue for the number of active Donations

* Initialized activeDonations to 0 in the initial state
2019-05-08 20:18:10 +02:00
Mrugesh Mohapatra
67d1a633cf fix(saga): update actions for reset and delete
Co-authored-by: bouncey <staylor1012@gmail.com>
2019-02-26 22:57:13 +05:30
Mrugesh Mohapatra
e84f021d8b fix(donate): refactor to add completion in form 2019-02-14 14:14:10 +00:00
Mrugesh Mohapatra
6b7c7d6033 fix(donate): update styling and refactor components 2019-02-14 14:14:10 +00:00
Valeriy
871eacacd6 fix: resolve circular dependencies 2019-01-14 13:44:54 +00:00
Bouncey
8870a063e4 fix: Use env variable for paypal donations 2018-12-04 17:42:12 +05:30
Bouncey
8fab33ba99 feat: Create and use dynamic active donation counts 2018-12-04 17:42:12 +05:30
Bouncey
5e4c3c7d55 chore: Pay down some tech-debt 2018-12-03 15:31:49 +03:00
Stuart Taylor
d327a5c36b Feat: News in the client app (#34392) 2018-11-29 15:12:15 +03:00
Bouncey
987da19254 feat(profile): Add Profile and components 2018-11-13 05:39:50 +05:30
Bouncey
c08bb95ea8 fix(auth): Fix auth flow for the client app 2018-10-24 18:27:34 +05:30