awu43
4071b72a6c
feat(curriculum): add spy helper ( #42566 )
...
* Added initial version of spy helper
* add missing backslashes
* update to check for line start
* change __fixtures file extensions to .ts from .tsx
* add to exports and add documentation
* add tests
* update event.preventDefault() test
2021-07-16 09:20:03 +02: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
awu43
e1d8f4be3a
feat(client): ts-migrate client/src/utils ( #42666 )
...
* rename js files to ts
* start migrating ajax
* finish migrating ajax
* migrate algolia-locale-setup
* migrate format
* migrate format.test
* migrate get-words
* install axios for types in handled-error
* migrate handled-error
* migrate handled-error.test
* migrate report-error
* migrate script-loaders
* migrate to-learn-path
* correct renamed imports
* remove unnecessary type assertions in searchBar
* remove unnecessary global comment
* remove unnecessary max-len enable/disable
* change axios imports to type imports
* revert to .then() from await
* use UserType from redux/prop-types
* replace assertion with generic type
* revert format to JS
* remove unused getArticleById()
* update putUpdateUserFlag() to use Record
* remove unnecessary envData cast
* update algolia-locale-setup types
* remove invalid key property
2021-07-12 11:17:58 +02:00
Parth Parth
863f0dea2b
feat(client): ts-migrate /client/src/utils/fixtures/curriculum-helpers-* ( #42469 )
...
Co-authored-by: Parth Parth <thecodingaviator@users.noreply.github.com >
2021-06-30 20:50:56 +05:30
Ahmad Abdolsaheb
b3f2c64de8
fix(client): remove algolia and hot keys modules from landing pages ( #42394 )
...
* fix(client): remove algolia and hot keys from landing pages
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2021-06-24 12:50:36 +03:00
Huyen Nguyen
2c16234853
chore: add jest global variables ( #42573 )
2021-06-20 09:14:42 +02:00
Victor Duarte
310bbdf54b
fix(client): store challenge panes sizes ( #42519 )
...
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2021-06-17 23:50:39 +05:30
Oliver Eyton-Williams
2ebc3b62ab
feat(client): remove axios, include credentials ( #42531 )
...
* Revert "revert: replace axios with fetch"
This reverts commit 418287f1e8 .
* fix: always include credentials
Since www.freecodecamp.org and api.freecodecamp.org are different
origins we have to tell fetch to 'include' the credentials.
2021-06-16 21:23:49 +05:30
Mrugesh Mohapatra
418287f1e8
revert: replace axios with fetch
...
This reverts commit 82f3f6ae0c via PR #41944 .
2021-06-16 17:24:57 +05:30
Mrugesh Mohapatra
e402464304
revert(ajax): use 'same-origin' credentials
...
This reverts commit 80b12ee25c via PR #42525 .
2021-06-16 17:24:57 +05:30
Oliver Eyton-Williams
80b12ee25c
fix(ajax): use 'same-origin' credentials ( #42525 )
2021-06-16 09:47:47 +00:00
Oliver Eyton-Williams
82f3f6ae0c
refactor: replace axios with fetch ( #41944 )
2021-06-15 11:47:25 -07:00
Nicholas Carrigan (he/him)
f25e3e69f8
feat: enable new langs ( #42491 )
...
Enable italian and portuguese
2021-06-15 13:19:18 +05:30
gikf
bc9e8a69de
fix(client): display legacy certs like current ones ( #42038 )
...
* fix: display legacy certs like the current ones
* fix: link projects in legacy certs to project pages
* fix: update tests to changed legacy cert display
* fix: update tests for removed legacy certs forms
* fix: display legacy certs like the current ones
* fix: submit projects for cert on projects pages
* fix: remove legacy certs form submitting handling
* fix: move claiming cert setup before both tests
* fix: remove legacy cert update props and actions
* fix: remove legacy cert updates from api
* fix: correct merge conflict
2021-06-11 17:06:46 +01:00
Shaun Hamilton
af2a7658b4
feat(client): remove whitespace from calculated values ( #42400 )
...
* feat(client?): remove whitespace for calculated values
* feat(client): remove whitespace from styledeclaration
* do not automatically strip
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
* fix: include all properties of CSSStyleDeclaration
* fix test for getPropVal
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2021-06-10 14:59:02 -07:00
Shaun Hamilton
35b18829d1
fix(curriculum): use mediaText for CSSHelp ( #42393 )
...
* fix(curriculum): use mediaText in CSSHelp
prevent selection of style elements with class or media attributes
this should avoid picking up some browser extensions
2021-06-07 23:33:58 +02:00
Shaun Hamilton
24be225fa4
feat(client): refactor propTypes to TS types ( #42278 )
2021-06-03 14:23:46 +03:00
Oliver Eyton-Williams
802273cf8a
refactor: remove sinon ( #42337 )
2021-06-02 21:03:05 +05:30
Oliver Eyton-Williams
3b115a1876
fix(client): use @freecodecamp/strip-comments for js comments ( #42254 )
2021-06-01 01:37:45 +02:00
Nicholas Carrigan (he/him)
00b76c0389
fix: link import bug ( #42266 )
...
Fix a small bug in the CSS helper tool.
2021-05-27 08:46:23 +02:00
Shaun Hamilton
d5cc9ba259
feat(dev): add css helper function ( #42148 )
...
* feat(dev): add css helper function
* add media declaration methods
* use a selector to grab styles
* add CSSHelp class with annoying TS warnings (no-verify)
* replace indexing with getPropertyValue
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com >
* connect CSSHelp to helpers, clean up types
* fix: return extended object, not modify prototype
* fix: unnecessary assertion error
* add tests with fixtures
* add afterAll document clean-up
* 'fix' tests
* undo jest transform config
* remove erroneous comments and logs
* reafactor: use existing types and narrow types
* refactor test descriptions
* rename files to appease Mrugesh 😄
* remove probably unnecessary document clean
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com >
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2021-05-25 07:34:55 -07:00
Oliver Eyton-Williams
66dae77fc5
feat: use TypeScript in the client ( #42124 )
2021-05-18 00:23:41 +05:30
Oliver Eyton-Williams
854fee4779
Revert "fix(client): use strip-comments library for js comments removal ( #41960 )" ( #42103 )
...
This reverts commit b16fadb436 .
2021-05-11 17:12:48 +00:00
Mrugesh Mohapatra
83943de719
chore: rollback CSRF token generation ( #42082 )
...
This reverts commit e1c00138a9 .
2021-05-11 00:27:08 +05:30
Oliver Eyton-Williams
e1c00138a9
fix: generate csrf tokens on server ( #41968 )
...
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com >
2021-05-10 21:40:42 +05:30
renovate[bot]
21dd80c47a
chore(deps): update dependency prettier to v2.3.0 ( #42074 )
...
* chore(deps): update dependency prettier to v2.3.0
* chore: apply formating per prettier
* fix: correctly disable import/no-unresolved
Co-authored-by: Renovate Bot <bot@renovateapp.com >
Co-authored-by: Mrugesh Mohapatra <hi@mrugesh.dev >
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2021-05-10 08:48:49 -07:00
Lasse Jørgensen
b16fadb436
fix(client): use strip-comments library for js comments removal ( #41960 )
2021-05-10 11:03:04 +02:00
Oliver Eyton-Williams
e1f673e685
fix: prevent excessive locale bundling ( #41979 )
...
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com >
2021-05-08 13:18:37 +05:30
Nicholas Carrigan
e46e80e08f
feat(client): add chinese traditional
...
Add chinese traditional to the all-langs validation and necessary
client build configs.
2021-05-05 21:06:54 +05:30
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
2eac236e39
fix: remove JS comments revisited ( #41952 )
...
* fix: restrict removeJSComments to test-evaluator
To prevent @babel from being included everywhere, this only calls
removeJSComments inside the test-evaluator
* test: add removeJSComments test
2021-04-30 22:30:06 +03:00
Mrugesh Mohapatra
341fe76f0f
chore: roll back CSRF changes for the weekend
...
This reverts commit 00193858a0 .
2021-04-30 23:57:28 +05:30
Oliver Eyton-Williams
00193858a0
fix: generate csrf tokens on server not client ( #41908 )
...
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com >
2021-04-30 09:42:26 +03:00
Oliver Eyton-Williams
9be2fb9a10
fix: use lodash-es in the client ( #41931 )
2021-04-28 16:11:20 -05:00
Evgeny Klimenchenko
db369fbed1
fix(client): remove JS comments from user code for tests ( #41873 )
...
* Removes comments in js challanges by default
* fix local-scope-and-functions test regex
* fix all languages
* revert language changes
* removed unnecessary removeJSComments from challenges
* fix challanges in other languages
* removed removeJSComments from all challanges
2021-04-28 10:18:54 -05:00
Tom
e79e212912
fix(curriculum): helper function regex s flag causing error ( #41910 )
2021-04-23 22:59:33 +02: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
Mrugesh Mohapatra
ad9b1f89d8
fix(api, client): update Gatsby, webpack & related things ( #41452 )
...
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2021-03-25 12:13:43 -07:00
Kristofer Koishigawa
1e9dc8cea5
fix: remove algolia indices and urls from translations ( #41043 )
2021-02-11 00:11:51 +05:30
Oliver Eyton-Williams
fffc0e51ec
chore(client): refactor & organise config ( #40875 )
2021-02-03 15:22:07 +05:30
Tom
14ca6beb0a
fix: naming scheme for messages in translation files ( #40642 )
...
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com >
2021-01-31 12:15:38 +05:30
Tom
072a7ce6c6
feat(i18n): translate server messages ( #40626 )
2021-01-31 12:15:38 +05:30
Tom
3978c6be28
feat: i18n user interface ( #40306 )
...
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2021-01-31 12:15:32 +05:30
Erik Krogh Kristensen
11dfe9274f
fix catastrophic backtracking when removing HTML comments ( #40223 )
...
* fix catastrophic backtracking when removing HTML comments
The regexp `/<!--(.|\s)*?-->/g` can experience catastrophic backtracking while matching a string like `<!-- -- >` (notice how it does not end with `-->`).
[You can see the catastrophic backtracking in action here](https://regex101.com/r/2jvwFi/1/debugger ).
This is because both `.` and `\s` matches the space character, and there are therefore a large number of possible ways for `(.|\s)*` to match a long sequence of spaces.
The regexp evaluator is greedy, and the problem therefore only exists when the string does not match the regexp.
The fix is simply to remove the ambiguity such that there is only one possible way for the regexp to match a sequence of white-space.
* Update client/src/utils/curriculum-helpers.js
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2020-11-12 08:20:34 -08: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
Hassaan Pasha
80438cac3e
feat(client, learn): add helper functions for common validation operations ( #38605 )
...
Co-authored-by: Randell Dawson <5313213+RandellDawson@users.noreply.github.com >
2020-09-17 19:38:01 +05:30
Oliver Eyton-Williams
c772382d59
fix: remove remnants of servicebot
...
None of the code was still in use.
2020-09-04 00:14:24 +05:30
rdm100
885538d9e1
fix: updated and consolidated quotes ( #39069 )
...
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com >
2020-06-15 18:42:27 +05:30
Ahmad Abdolsaheb
7db718141b
feat: add paypal script loader for one time and subscription ( #38553 )
...
* fix: add one-time payment sdk script loader
* fix: remove paypal credit
2020-04-21 00:46:34 +05:30