* 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>
* refactor: stop spreading challenge over the node
Instead of creating a Gatsby node with id of challenge.id, we create a
single node field that has all the challenge data.
While this makes the GraphQL queries more verbose, it means we're free
to create multiple nodes with the same challenge.id.
* test: update time-line test for new GQL schema
* test: update mocks with new GQL schema
* feat: add data for preview to challengeMeta
* feat: allow creation of project preview frames
* feat: make project preview data available for frame
* refactor: simplify reducer
* feat: show project preview for first challenge
* feat: show project preview on MultiFile challenges
* test: check for presence/absence of preview modal
* fix: simplify previewProject saga
* test: uncomment project preview test
* fix: increase modal size + change modal title
* modal-footer
* feat: adjust preview size
* fix: remove margin, padding, and line-height for preview of finished projects
* Revert "fix: remove margin, padding, and line-height for preview of finished projects"
This reverts commit 0db11a0819.
* fix: remove margin on all previews
* refactor: use closeModal('projectPreview') for clarity
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* fix: get started -> start coding!
* fix: update closeModal type
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@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
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.
The interview prep section includes many challenges that require long
running calculations which can be mistaken for infinite loops. This
removes the loop protection from those challenges, while the tests are
being evaluated.
It keeps the protection for the preview, since it is easy to create
broken code while working on a challenge and that should not crash the
site.
* fix: make help button use subforum topics
* fix: add test to check that block exists
Co-authored-by: ojeytonwilliams <ojeytonwilliams@gmail.com>
* fix: improve error message
* Update curriculum/test/test-challenges.js
Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
<!-- Please follow this checklist and put an x in each of the boxes, like this: [x]. It will ensure that our team takes your pull request seriously. -->
- [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md).
- [x] My pull request has a descriptive title (not a vague title like `Update index.md`)
- [x] My pull request targets the `master` branch of freeCodeCamp.
- [x] None of my changes are plagiarized from another source without proper attribution.
- [x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
- [x] My changes do not use shortened URLs or affiliate links.
<!--If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.-->
Closes#35749
<!-- Please follow this checklist and put an x in each of the boxes, like this: [x]. It will ensure that our team takes your pull request seriously. -->
- [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md).
- [x] My pull request has a descriptive title (not a vague title like `Update index.md`)
- [x] My pull request targets the `master` branch of freeCodeCamp.