Commit Graph

297 Commits (acc966ac311c83bb719c994053319b62fd77bc3f)

Author SHA1 Message Date
Naomi Carrigan 5e402e6955
feat: allow languages to be hidden (#47362) 2022-08-23 20:53:47 +02:00
Mrugesh Mohapatra 7840015733
fix: disable german in the dropdown (#47359) 2022-08-22 21:04:58 +01: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
Naomi Carrigan c276dc5158
feat: enable Ukrainian RWD (#47306) 2022-08-17 10:44:38 +02:00
Ilenia f61b227665
chore: rename project type from bonfire to jsProject (#46823)
* change bonfire in index.js

* change bonfire in build.js

* change bonfire in challenge-types.js

* change bonfire in test-challenges.js

* add jsProject to constants.js
2022-07-11 07:28:29 -05:00
Oliver Eyton-Williams 9046d70b67
fix: use certification hours consistently (#46442)
* fix: use certification hours consistently

Since the value appearing on the /learn map was hardcoded, it could have
gone out of sync with the certifications, which were relying on
certification-settings.

Also, for simplicity (and because it's hard to estimate accurately), all
the certifications are set to 300 hours.  Fullstack being the exception,
as it is a set of certifications.

* feat: remove the hours from the map
2022-06-23 14:24:33 +03:00
Dario-DC 30ebb06ced
feat(i18n): enable italian new RWD (#46503) 2022-06-15 23:19:14 +05:30
Oliver Eyton-Williams 1bf51d2f0b
feat: release RWD in Portuguese (#46383)
* feat: release RWD in Portuguese

* fix: Translating the comment on line 111 to pt-BR

Adding the comment on line 111 in Portuguese

Co-authored-by: DanielRosa74 <58576743+DanielRosa74@users.noreply.github.com>
2022-06-07 11:03:36 -07:00
Jordan Moore fcf2dd7254
fix(UI): Remove 'CTRL + Enter' on CTA for mobile (#46239)
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
2022-06-07 18:20:16 +05:30
Radi Totev e581bd9081
feat(client): shortcuts legend modal available on pressing the `?` key (#45530)
* Add modal texts in translations.json file

* Add shortcuts modal state in redux

* Create shortcuts modal

* Integrate shortcuts modal

* Resolve codefactor.io issues

* Extend list of shortcuts

Based on this comment:
https://github.com/freeCodeCamp/freeCodeCamp/issues/36841#issuecomment-933310078

* Remove temporary placeholder for modal title

* Open modal fom Hotkeys instead of learn.tsx

As suggested in this comment:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1101224993

* Complete list in transaltions

* Change shortcut presentation fo better a11y

Use table instead of list items as suggestedin this comment:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1101796368

* Add aria-labelledby

* Remove GAnalytics

* Remove leftover style

* Remove table caption

* autofocus on modal close button

* Improve modal a11y

- Add requested changes from https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1104764766
- Leave autofocus and parent div role=dialog changes for later. (https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1107754148)

* [WIP] Alllow users to turn off keyboard shortcuts

* Add keyboard shortcuts switch in settings

* Disable shortcuts

* Remove toggle switch description

* Refactor and cleanup

* Remove close button from modal header

Suggested by bbsmooth:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1107861091

* Fix lint issues

* Disable shortcuts

* Disable shortcuts by default

* Update challenge output test

* Update challenge-hot-keys test

* Disable shortcuts from inside handlers

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2022-06-03 09:57:52 -07:00
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
Rafael D. Hernandez 5908f2c74c
feat(i18n,esp):SciCompPy and DataAnalysisPy certs fully translated and proofread (#45870)
Co-authored-by: Rafael Hernandez <rafaeldavish@Rafaels-MacBook-Pro.local>
2022-05-06 13:40:22 +05:30
Sem Bauke c3be968092
feat: migrate locale test to ts v2 (#45793)
* feat: migrate locale test to ts v2

* fix: langCodes

* fix: locale test

* fix: nav dropdown

* fix: header test

* fix: use type predicates

* refactor: DRY up all-langs

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-05-02 17:53:30 +02:00
Rafael D. Hernandez db94165d0f
feat(i18n,esp):quality assurance cert fully translated and proofread (#45750)
* feat: add Quality Assurance Cert to auditedCerts for ES

* fix(i18n,esp) remove extra comma

Co-authored-by: Rafael Hernandez <rafaeldavish@Rafaels-MacBook-Pro.local>
2022-04-25 10:49:28 +05:30
Oliver Eyton-Williams d224311886
fix: remove Coding Interview Prep from audited uk certs (#45735) 2022-04-20 16:20:15 +01: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
Mrugesh Mohapatra 9ea7018740
Merge pull request from GHSA-cc3r-grh4-27gj
* feat: restrict update-user-flag endpoint

* feat(api): add dedicated-endpoints for user

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-04-13 20:51:31 +05:30
Ahmad Abdolsaheb 4034c59ba2
feat(client): add secure donation border to donation form (#45637)
* feat: add secure donation border to donation form

* feat: add string to translations

* Apply suggestions from code review

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

* feat: cleanup and reorder logic

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-04-07 13:24:42 +01: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
Ilenia 6465a79d4f
feat(i18n) : enabling last part of Italian curriculum (#44518) 2022-03-03 12:01:14 +03:00
Oliver Eyton-Williams ce23dcb32c
fix: return 410 for api/github (#45250) 2022-02-25 10:38:29 +01:00
Ahmad Abdolsaheb 64efa96d30
feat(client): add badge benefit to progress modal copy (#45142)
* feat: add badge benefit to progress modal copy

* Update client/src/redux/index.js
2022-02-22 12:38:35 +00:00
Tom fd14608492
feat: release rdbms on staging (#44576)
fix: unhide cert from settings page

fix: add cert variables where missing

fix: show token on settings page

feat: add challenges to certified user data

fix: stylize settings page a little bit

fix: only show rdbms when upcomingChanges = true

fix: relational databases -> relational database
2022-02-18 17:29:30 +01: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
Oliver Eyton-Williams 7216ca55cc
refactor: organise TypeScript config and migrate helpers (#44747)
* feat: allow more 1000 steps to be created at once

* refactor: start migrating to typescript

* refactor: delete-step to ts

* refactor: migrated some helpers

* refactor: migrate create-empty-steps

* refactor: migrate create-step-between

* refactor: finish migrating to TS

* refactor: migrate tests

* fix: ensure mock.restore is done after each test

* fix: prevent double-tscing

* fix: repair the tests

* chore: use ts-node for scripts

We don't need the performance boost of incremental compilation and
ts-node is easier to work with

* refactor: consolidate tsconfigs

* refactor: replace gulp

* fix: use ts-node for build-curriculum

* fix: allow ts compilation of config

* feat: create and use create:config script

* fix: add /config to eslint projects

* fix: remove gulp script
2022-01-25 11:34:16 +01:00
Ahmad Abdolsaheb e97920ae9c
feat: increate minimum challenge requirement AB test (#44764)
* feat: increate minimum challenge requirement AB test

* fix: adjust tests

Co-authored-by: ahmad abdolsaheb <home@mac-16.local>
2022-01-13 12:51:55 -08:00
Oliver Eyton-Williams fd63bb6f85
feat: mvp features for soft launch (#44539)
* refactor: use enum

* feat: create links between legacy and new

* refactor: pull out legacy-links component

* fix: import order

* fix: provide icon for new superblock

* feat: only show the copy on the new superblock

* fix: use the proper i18n keys correctly

* feat: put the new superblock at the end of the map

* feat: update the new superblock title

* test: update for soft launch order

* fix: show original project links on /settings

Soft launch only.

* test: use SHOW_NEW_CURRICULUM in tests

* fix: rename the remaining rwd-22s

* feat: make the messge prettier

* fix: message copy

* refactor: make comment make sense

Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
2021-12-22 16:53:40 +00:00
Ahmad Abdolsaheb 449c37fb33
feat(client): add donate faq (#44380)
* feat: add donate faq

* Apply suggestions from code review

Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>

* clean up

* Apply suggestions from code review

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

* Update client/src/components/Donation/donation-text-components.tsx

Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-12-21 14:42:10 -08:00
Oliver Eyton-Williams ff566d441a
fix: rename superblock to use /2022/ (#44535)
* chore: update superblock properties

* refactor: remove isAudited from certs

It was always defaulting to English, anyway.

* refactor: get superblock from metas, not dirs

* fix: rename responsive-web-design-22

This converts the slugs to /2022/responsive-web-design

* refactor: remove unused export

* test: update test with new curriculum config

* refactor: use key not [key]

* refactor: remove directory reference from test
2021-12-21 12:35:51 -06:00
Nicholas Carrigan (he/him) 8614db7a32
feat: enable new curriculum (#44183)
* feat: use legacy flag

chore: reorder challenges

fix: linter

revert: server change

feat: unblock new editor

fix: proper order

fix: 0-based order

fix: broke the order

feat: move tribute certification to its own block

feat: split the old projects block into 4

fix: put all blocks in order

chore: add intro text

refactor: use block, not blockName in query

fix: project progress indicator

* fix: reorder new challenges/certs

* fix: reorder legacy challenges

* fix: reintroduce legacy certs

* feat: add showNewCurriculum flag to env

* chore: forgot sample.env

* feat: use feature flag for display

* fix: rename meta + dirs to match new blocks

* fix: add new blocks to help-category-map

* fix: update completion-modal for new GQL schema

* test: duplicate title/id errors ->  warnings

* fix: update completion-modal to new GQL schema Mk2

* chore: re-order metas (again)

* fix: revert super-block-intro changes

The intro needs to show both legacy and new content.  We need to decide
which pages are created, rather than than what a page shows when
rendered.

* feat: move upcoming curriculum into own superblock

* fix: handle one certification with two superBlocks

* fix: remove duplicated intros

* fix: remove duplicate projects from /settings

* fix: drop 'two' from Responsive Web Design Two

* chore: rename slug suffix from two to v2

* feat: control display of new curriculum

* feat: control project paths shown on /settings

* fix: use new project order for /settings

This does mean that /settings will change before the release, but I
don't think it's serious.  All the projects are there, just not in the
legacy order.

* fix: claim/show cert button

* chore: remove isLegacy

Since we have legacy superblocks, we don't currently need individual
blocks to be legacy

* test: fix utils.test

* fix: verifyCanClaim needs certification

If Shaun removes the cert claim cards, maybe we can remove this entirely

* fix: add hasEditableBoundaries flags where needed

* chore: remove isUpcomingChange

* chore: v2 -> 22

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-12-20 12:36:31 -06:00
Mrugesh Mohapatra a2f799866f
feat(learn): enable ukrainian certifications (#44454)
* feat(learn): enable ukrainian certifications

* fix: add algolia config

* chore: apply suggestions from code review

Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>
2021-12-10 22:11:52 +01:00
Nicholas Carrigan (he/him) dd2ff1683c
feat: add curriculum feature flag (#44441) 2021-12-09 12:31:03 -06:00
Ahmad Abdolsaheb 69639bda8a
feat(client): testing donation alert title (#44438) 2021-12-09 09:43:59 -06:00
Nicholas Carrigan (he/him) 40573b5f14
chore: enable portuguese certs (#44338) 2021-12-01 10:29:34 +05:30
Ahmad Abdolsaheb 513f27e408
feat: add seasonal learn alert (#44335)
* feat:  add seasonal learn alert

* Update client/src/components/Intro/index.tsx

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

* Update client/src/pages/learn.tsx

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

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-11-30 09:35:35 -08:00
Ahmad Abdolsaheb b4326f0ad6
feat: add email to A/B function (#44187)
* feat: add email to A/B function

* fix: declare types for sha-1

* Update client/src/utils/A-B-tester.ts

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

* feat: add custom dimesions for donation events

* feat: re-order if statemetns

* Apply suggestions from code review

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

* fix: assuage TypeScript

* update rename

* rename vars

* update naming

* re add types

* Update client/src/redux/ga-saga.js

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

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-11-22 16:43:28 +03:00
Shaun Hamilton d75e43a1e7
chore: use constants for superblocks (#43886)
* chore: use constants for superblocks

* add prettier ts dec to challenge-helper-scripts

* config/ to ts. broken

* typescripterise tools/ and config/

* create global tsconfig, remove alternate configs

* delete temp ts->js, add to gitignore

* fix gitignore

* re-import SuperBlocks in super-block-intro.tsx

* remove renamed files added again

* fix config

* remove accidental files

* remove snap

* delete built files

* adjust eslintrc for enums

* add node types to root

* ignore build files in lint and prettier

* fix tools/ in tsconfig

* ignore annoying ts warnings

* prettierise Map/index.tsx

* fix enum to match lint rule

* rejig Map to render RWD superblock

* 'pretty minor' - implicitly tsc within root

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

* fix client/package.json for Gitpod

* broken: migrate @types to root

* fix: use typeRoots to prevent duplication

* fix show.tsx, try typeroots in root

* silly fix for duplicate node_modules types

* remove typeRoots from root

* fix: tsconfig or not tsconfig, that is the...

* fix: ...question: Whether 'tis nobler in the mind

to suffer the slings and arrows of outrageous configs...

* fix: Or to take Arms against a Sea of lint errors
And by opposing end them

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-11-19 19:49:40 +05:30
Ahmad Abdolsaheb 421dab38e8
feat(client): add Patreon button (#44113)
* feat(add): add patreon button

* feat: add noreferrer

* Apply suggestions from code review

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

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-11-04 09:06:24 -07:00
Rafael D. Hernandez c080efb89c
feat(i18n,esp): back-end and api cert fully translated and proofread (#44083) 2021-11-02 15:55:29 +05:30
Mrugesh Mohapatra f5ccaf971b
fix(config): add a bolder warning when missing .env (#43979) 2021-10-25 09:23:13 +05:30
Nicholas Carrigan (he/him) b0768b1005
chore: enable data vis cert (#43961) 2021-10-22 08:23:55 +05:30
Nicholas Carrigan (he/him) 2dc68c9be2
chore(tools): ignore step files (#43947) 2021-10-20 22:25:46 +02:00
Oliver Eyton-Williams c8d7f0a782
feat(tools): remove eslint-plugin-prettier for prettier (#42438)
* feat: remove eslint-plugin-prettier for prettier

This removes the annoying lint warnings when all that needs to change is
formatting

* fix: use .js lint-staged config to ignore properly

* fix: lint everything if a lot of files are changed

It's faster than making lots of individual linter calls

* chore: apply prettier

* fix: ignore code in curriculum-file-structure
2021-10-06 21:02:21 +05:30
Rafael D. Hernandez f8dc692290
feat(i18n): enable front-end dev cert in Espanol (#43619) 2021-09-30 00:24:38 +05:30
Ilenia c9d919732a
feat: add last chinese cert (#43539) 2021-09-23 19:19:13 +05:30
Nicholas Carrigan (he/him) b1c3b8cb03
feat: enable translated certs (#43397) 2021-09-09 17:27:34 +05:30
Shaun Hamilton 7857756062
chore(client): meta and yml certificate -> certification (#43353)
* chore(client): meta and yml certificate -> certification

* make translators lives more difficult - rename everything
2021-09-03 08:08:45 -07:00
Shaun Hamilton c2a11ad00d
feat: add 'back/front end' in curriculum (#42596)
* chore: rename APIs and Microservices to include "Backend" (#42515)

* fix typo

* fix typo

* undo change

* Corrected grammar mistake

Corrected a grammar mistake by removing a comma.

* change APIs and Microservices cert title

* update title

* Change APIs and Microservices certi title

* Update translations.json

* update title

* feat(curriculum): rename apis and microservices cert

* rename folder structure

* rename certificate

* rename learn Markdown

* apis-and-microservices -> back-end-development-and-apis

* update backend meta

* update i18n langs and cypress test

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

* fix: add development to front-end libraries (#42512)

* fix: added-the-word-Development-to-front-end-libraries

* fix/added-the-word-Development-to-front-end-libraries

* fix/added-word-development-to-front-end-libraries-in-other-related-files

* fix/added-the-word-Development-to-front-end-and-all-related-files

* fix/removed-typos-from-last-commit-in-index.md

* fix/reverted-changes-that-i-made-to-dependecies

* fix/removed xvfg

* fix/reverted changes that i made to package.json

* remove unwanted changes

* front-end-development-libraries changes

* rename backend certSlug and README

* update i18n folder names and keys

* test: add legacy path redirect tests

This uses serve.json from the client-config repo, since we currently use
that in production

* fix: create public dir before moving serve.json

* fix: add missing script

* refactor: collect redirect tests

* test: convert to cy.location for stricter tests

* rename certificate folder to 00-certificates

* change crowdin config to recognise new certificates location

* allow translations to be used

Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>

* add forwards slashes to path redirects

* fix cypress path tests again

* plese cypress

* fix: test different challenge

Okay so I literally have no idea why this one particular challenge
fails in Cypress Firefox ONLY. Tom and I paired and spun a full build
instance and confirmed in Firefox the page loads and redirects as
expected. Changing to another bootstrap challenge passes Cypress firefox
locally. Absolutely boggled by this.

AAAAAAAAAAAAAAA

* fix: separate the test

Okay apparently the test does not work unless we separate it into
a different `it` statement.

>:( >:( >:( >:(

Co-authored-by: Sujal Gupta <55016909+heysujal@users.noreply.github.com>
Co-authored-by: Noor Fakhry <65724923+NoorFakhry@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
2021-08-13 21:57:13 -05:00