Commit Graph

170 Commits

Author SHA1 Message Date
Muhammed Mustafa
0d98f28b9e feat(client): delete generic success message in the alert (#49780)
* change the flash message in profileui endpoint

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-05-08 16:58:06 +02:00
Bruce Blaser
0dd8282cf8 feat(client): adjustable scrollbar width in code editor (#49975) 2023-04-18 15:36:03 +03:00
Oliver Eyton-Williams
e955bccfcf refactor: replace isChallenge (#50033)
* refactor: replace isChallenge

Determining if a path is a challenge by the number of path segments is
brittle and we ended up writing bizarre things like
isChallenge(nextChallengePath).

This should be a little more robust. i.e. if we need to know if a page
is a challenge, we can check the challengeMeta

* test: update tests with new logic
2023-04-13 15:25:12 +00:00
Oliver Eyton-Williams
5ea1f4fffc feat: add githash as query param (#49960) 2023-04-05 21:15:51 +05:30
Muhammed Mustafa
b460bc0fba feat(client): add unique flash messages to the sounds (#49785)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-04-03 14:08:45 +05:30
Sem Bauke
87d9ade1a7 fix(curriculum,client): move the Euler Project to its own superBlock (#49294)
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
2023-03-23 21:29:13 +05:30
Tom
b950070f80 feat(curriculum): add college algebra cert as upcoming change (#43605)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-10 10:55:50 +00:00
Mrugesh Mohapatra
b13713c33f chore(client): rename and update analytics (#49626) 2023-03-08 15:01:22 +00:00
Oliver Eyton-Williams
424711fcad fix(client): provide return types for get-completion-percentage (#49458)
fix: provide return types

I also moved the undefined check closer to the source, so it's clearer
what is missing
2023-02-21 07:40:01 -08:00
Ahmad Abdolsaheb
13aad8ca37 feat(client): move the block donation modal logic to an epic. (#49381)
feat(client): move percent calculation logic to epic
2023-02-19 09:04:04 +02:00
Oliver Eyton-Williams
4ff00922da refactor: fix hidden eslint errors (#49365)
* refactor: explicit types for validate

* refactor: explicit return types for ui-components

* refactor: use exec instead of match

* refactor: add lots more boundary types

* refactor: more eslint warnings

* refactor: more explicit exports

* refactor: more explicit types

* refactor: even more explicit types

* fix: relax type contrainsts for superblock-order

* refactor: final boundaries

* refactor: avoid using 'object' type

* fix: use named import for captureException

This uses TypeScript (which works) instead of import/namespace
(which doesn't) to check if captureException exists in sentry/gatsby
(it does)
2023-02-13 07:13:50 -08:00
Sem Bauke
928dcbe08c feat: transfer The Odin Project to its own superblock (#49202)
* feat: the odin-project superblock

* feat: break everything

* fix: correct meta names

* fix: meta again

* fix: tests

* fix: help category and external curriculum test

* fix: file names again

* fix: help category

* fix: remove console log

---------

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-02-08 15:21:03 +01:00
Ahmad Abdolsaheb
8b5838ef23 fix(client): GA to GTM Migration (#48811) 2023-01-07 11:36:45 +05:30
Oliver Eyton-Williams
0a20f8fd73 refactor: remove a lot of unused code (#48935)
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
2023-01-07 10:33:35 +05:30
Atir Nayab
9ad2fedf39 fix(client): set fcc-sound value in local storage (#48762) 2023-01-05 12:40:09 +05:30
Ahmad Abdolsaheb
bff61255f9 feat(donation): simplify donation client (#46379)
* feat: unify post payment actions

* feat: handle stripe card error and add donation after auth

* feat: add donation saga stripe test

* feat: add more coverage to stripe tests

* feat: add initial stripe card saga test

* feat: finalize initial stripe card saga test

* feat: add patreon test saga

* feat: test clean up

* feat: do not show processing for Patreon

* feat: normalize donation settings

* feat: turn payment provider/contex to enum

* feat: remove donation-settings.js

* fix: git ignore generated config

* fix: ignore the generate config from everything

* fix: remove types.js

* fix: update linting to include types.js

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2022-12-20 18:03:06 +05:30
Sem Bauke
57186bf0b6 chore(client): update algolia and conditional tags (#46222) 2022-11-14 21:03:52 +05:30
Tom
5f73773cd4 feat(client): move legacy rwd button to bottom of map (#47596)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Closes https://github.com/freeCodeCamp/freeCodeCamp/issues/46523
2022-11-08 21:00:46 +05:30
Muhammed Mustafa
b05c99d720 feat(client): link Arabic new articles to freeCodeCamp searchbar (#48129)
* feat(client): link Arabic new articles to freeCodeCamp searchbar

* Point to english articles, instead of arabic articles

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>

* link the search bar to Arabic news

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
2022-10-21 19:30:49 +09:00
Oliver Eyton-Williams
7d77a202ec feat(client): use updateMySocials not updateUserFlag (#46380)
* feat: use updateMySocials not updateUserFlag

* fix: replace updateUserFlag with updateMyTheme

* fix: show social icons

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* fix: delete social booleans from client

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2022-09-30 16:18:23 +03:00
Shaun Hamilton
73c3edb56a fix: certification to private on private timeline (#45562)
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-09-29 00:00:22 +05:30
Sem Bauke
8c83a96e93 feat: volume slider campfire mode (#47259)
* feat: volume slider campire mode

* fix: set a play sound interval

* fix: set volume to 50% if there is no volume key

* fix: add correct colors to progress bar

* fix: remove IE support

* fix: get slide value working in Chrome

* fix: remove space

* fix: actually use volume in the editor

* fix: add aria-label

* fix: set volume if not present in store

* fix: use label instead

* Apply Naomi's review on Toms suggestion

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>

* fix: linting

* Update client/i18n/locales/english/translations.json

Co-authored-by: Bruce Blaser <bbsmooth@gmail.com>

Co-authored-by: root <root@DESKTOP-EMNPVBP.localdomain>
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Bruce Blaser <bbsmooth@gmail.com>
2022-09-15 15:42:03 +03:00
Naomi Carrigan
ccad7f02ea feat: enable german (#47312)
* chore: set up lang config

* chore: migrate the manually translated files

Co-authored-by: Sem Bauke <semboot699@gmail.com>
Co-authored-by: Ilenia <nethleen@gmail.com>
2022-08-22 08:54:55 +02:00
Sem Bauke
2440d3f43f chore(client): make curriculum helpers external (#46906)
* chore: make curriculum helpers external

* feat: add curriculum helpers as a package

* fix: use right preset?

* fix: update version with babel transpiled files

* fix: re-add fixture

* fix: declare as module

* fix: add declaration files in curriculum helpers

* fix: nothing with version 1.0.4

* fix: missing functions in package

* fix: remove old babel

* fix: linting
2022-07-27 19:00:37 +02:00
sidemt
eea6f5195c fix(i18n): configure search Japanese publication (#46888) 2022-07-14 14:02:01 +05:30
Radi Totev
e17e57aba5 feat: update keyboard shortcuts client endpoint (#46378)
* feat: update keyboard shortcuts client endpoint

* Update client/src/redux/settings/settings-sagas.js

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

* Update putUpdateMyKeyboardShortcuts return type

* Use new saga in shortcuts-modal

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-07-01 11:38:06 -07:00
Oliver Eyton-Williams
f0f44ca315 feat(client): re-enable failed update re-submission (#46064)
* refactor: return response with data from ajax

Because we still need to manipulate the data coming back from the server
(files -> challengeFiles) and we want to keep ajax.ts as the interface
between client and server we need to return the manipulated data with
the response.

* feat: re-enable failed updates flushing

* test: failed updates get resubmitted and flushed

* fix: convert settings requests to use { data }

* refactor: use preserveSession
2022-06-07 17:52:23 +03:00
Shaun Hamilton
33e0bb79d7 fix(client): add mathjax to intermediate-algorithm-scripting (#46270) 2022-06-01 20:01:22 +05:30
Naomi Carrigan
b9f3345721 feat: update endpoints (#45688) 2022-05-19 21:52:38 +05:30
Tom
b7155694d9 fix(curriculum): interfering style elements (#46000)
* fix: interfering style elements

* fix: node tests

* fix: allow style tags or styles.css
2022-05-17 21:13:36 +05:30
Naomi Carrigan
fe71a9cf25 feat: new js cert (#45873)
* chore: move files

* wip: i have no idea what i am doing

* feat: finish up the logic

* chore: use order from randy sheet

* chore: standardise titles

* feat: fix layout for new js projects

* fix: utils test

* fix: challenge tests

* fix: ignore show new curriculum on non-english tests

* chore: help category????

* fix: if these tests would fail locally that'd be great

* chore: duplicate ids
2022-05-16 11:53:45 +02:00
Naomi Carrigan
23b4be71d7 feat: release RWD from beta (#45865)
* feat: release RWD from beta

* feat: replace beta banner with legacy banner

* feat: update project links

* fix: cypress tests

* fix: map selector

* chore: legacy verbiage

* chore: remove isBeta flag

* fix: go back url verbiage

* feat: separate order for i18n

* fix: curriculum utils test

* fix: cypress

* tests: use data-cy for robustness

Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-05-10 11:44:23 -05:00
Ahmad Abdolsaheb
0ef633c373 feat: a/b test lock icon button (#45868) 2022-05-06 15:06:48 +02:00
Tom
f04fbba22d feat: convert RWD cert projects (#44564)
* feat: convert RWD cert projects

* feat: convert original projects

* fix: add usesMultiFileEditor to meta

* feat: add cypress tests for saving and loading to/from database

* fix: broken cypress tests

* fix: inconsistent variable naming

* fix: missed variable name

* fix: more cypress

* feat: add solutions for english

* fix: ctrl+s to database only if signed in

* fix: prioritize code from db

* refactor: expand the comments slightly
2022-05-05 10:58:14 +02:00
Tristan Toye
dfe5a7fd05 Add Sentry to client for error handling (#43920)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-04-15 09:54:02 -05:00
Tom
3d242179b2 fix: make crtl+s save to appropriate location (#45406)
* fix: crtl+s for multifile cert projects

* fix: remove unused code

* feat: add limit on save frequency
2022-04-04 15:32:43 +03:00
Tom
9f753a5662 feat: let users save cert project code to db (#44700)
* feat: let users save cert project code to db

fix: move getChallenges call out of request function so it only runs once

fix: use FlashMessages enum

fix: transform challengeFiles earlier

test: make tribute page use multifile editor

stuff I was playing with - revert this to get it to a working state

refactor: allow undefined editableRegionBoundaries

fix: save history

history is not necessarily ["name.ext"] and using the incorrect history
could cause weird bugs

fix: replace files -> challengeFiles on the client

refactor: DRY out ajax

fix: use file -> challengefile map

refactor: rename ajax types

fix: alphatize flash-messages.ts

revert: tribute page project

fix: remove logs

fix: prettier

fix: cypress

fix: prettier

fix: remove submitComplete action

fix: block UI for new projects

fix: handle code size

* fix: catch undefined files

* fix: don't default to undefined when it's already the default

* fix: only update savedChallenges if applicable

* fix: dehumidify backend + fine tune nearby stuff

* fix: prop-types

* fix: dehumidify sagas

* fix: variable name

* fix: types

* Apply suggestions from code review

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* fix: typo

* fix: prettier

* fix: props types

* fix: flash messages

* Update client/src/utils/challenge-request-helpers.ts

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

* chore: rename function uniformize -> standardize

* fix: flash message

* fix: add link to forum on flash messages

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-03-31 10:34:40 -05:00
Ahmad Abdolsaheb
94650964c4 feat: a/b test lock icon (#45499)
* feat: a/b test

* Update client/i18n/locales/english/translations.json

* Apply suggestions from code review
2022-03-22 16:28:41 +00:00
Ahmad Abdolsaheb
193973f7ec feat: add database cert alert (#45346)
* feat: add database cert alert

* fix: change link to forum post

* fix: alert text

Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
2022-03-15 10:31:20 +01:00
Tom
9e5f9b2a7c fix: webhook process (#45385)
* fix: token rework functional

fix: clean up

fix: more clean up

fix: more clean up

fix: add widget back to settings

fix:

fix:

fix: cypress

Apply suggestions from code review

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

fix: use flash enum

* chore: rename webhookToken -> userToken

fix: add translations I forgot to save

* fix: add missing tones for flash messages

* fix: node test
2022-03-11 13:58:23 -08:00
Ahmad Abdolsaheb
2e9b37a02b feat: A/B test firing a confetti on block donation modal (#45393) 2022-03-10 09:13:10 +00:00
Oliver Eyton-Williams
c11bd163b2 feat: display multifile projects (#45220)
* refactor: DRY up certification and ProjectModal

* fix: use sensible keys for SolutionViewer

* refactor: handle legacy solutions like new ones

* refactor: correct CompletedChallenge type

* fix: store challengeType for multifile projects

* fix: use challengeType to set display type

* feat: use dropdown to display project + code

* refactor: isOpen -> showCode to avoid a clash

We need to be able both show the code and show the completed project

* refactor: remove redundant parts of projectPreview

* refactor: fix project preview types

* feat: wip, using existing modal to show project

* feat: show projects on timeline

* feat: display projects on time-line

* chore: use consistent case for GitHub

* fix(a11y): translate show solution/view

* refactor: rename showFilesSolution

* refactor: use self-closing tag

* fix: remove hardcoding (certification + timeline)

* fix: remove hardcoding (settings)

* test: supply store and mock ga

* fix: include challengeType for projects

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* refactor: remove space

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: key -> filekey on challenge submission

* fix: handle submissions without files

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2022-03-02 19:49:54 -06:00
Ismail Tlemcani
2846df2b66 fix: fix util import statement (#45104)
Co-authored-by: IsmailTlemcani <ismail.tlemcani@gmail.com>
2022-02-24 08:16:47 -08:00
Naomi Carrigan
1681cf262a fix: translatable "code saved" message (#45130) 2022-02-17 21:33:02 +05:30
Oliver Eyton-Williams
b223cdd255 refactor: display solutions (#45139)
* refactor: re-organise show-project-links

* refactor: update ChallengeFile's declared shape

* fix: handle missing challenge solution

* refactor: use display function for Certification

* refactor: use display function for TimeLine

* refactor: use common component for timeline + cert

* fix: handle legacy solutions

* refactor: use widget for certifications

* refactor: reorganise ShowDisplayWidget

* refactor: remove unused ids

* test: pass dataCy, not projectTitle, to widget

* chore: kebabify

* revert: add id back for dropdown

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* revert: add the ids back

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2022-02-16 13:48:22 -08:00
Oliver Eyton-Williams
7fe4695794 refactor: ignore eslint less (#45082)
* refactor: remove and fix some eslint disables

* refactor: drop max-line disables
2022-02-11 10:28:13 -08:00
Tom
57cf47dad4 feat: split rdbms into individual blocks and two challengeTypes (#44978)
* feat: split english rdbms into individual blocks

fix: stuff

fix: remove from partiallyComplete array on submit

fix: add suggestion

Update client/i18n/locales/english/translations.json

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

Update client/i18n/locales/english/intro.json

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

Update client/i18n/locales/english/intro.json

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

Update client/i18n/locales/english/intro.json

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

Update client/src/templates/Challenges/codeally/show.tsx

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

Update client/src/templates/Challenges/codeally/show.tsx

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

Update client/src/templates/Challenges/codeally/show.tsx

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

Update client/src/templates/Challenges/codeally/show.tsx

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

Update client/src/templates/Challenges/codeally/show.tsx

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

Update client/src/templates/Challenges/codeally/show.tsx

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

Update client/src/templates/Challenges/codeally/show.tsx

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

Update client/src/templates/Challenges/codeally/show.tsx

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

* fix: prettier

* fix: style suggestion

* Apply suggestions from code review

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

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-02-11 15:39:27 +00:00
Naomi Carrigan
a430aa42ef feat(client): styling for project cards (#44771)
* feat: project -> certification project

* feat: add certification icon

* feat: cert project banner

* feat: combine new cert detection methods

* feat: add a dynamic tag

* feat: replace blocks with grid bloks for new RWD

* feat: adjust individual progress bar

* feat: add dropdown icon

* feat: add conditional rendering

* feat: add local and fix cert card link

Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
2022-02-08 19:49:00 -06:00
Ismail Tlemcani
09d30d2d14 fix(client): console output for sets and maps (#44966)
Co-authored-by: IsmailTlemcani <ismail.tlemcani@gmail.com>
2022-02-02 11:53:49 +00:00
sidemt
47d27412fa feat(learn, i18n): enable japanese certifications (#44869)
* feat(learn, i18n): enable japanese certifications

* feat(learn, i18n): update links for japanese pages

* Revert "feat(learn, i18n): update links for japanese pages"

This reverts commit 8e16f4dd22.

* feat(learn, i18n): update links for japanese pages

* feat(learn, i18n): update algoliaIndices for japanese

* feat(learn, i18n): update meta tags for japanese
2022-01-27 09:57:33 -08:00