* feat: add function to map from path to superblock
* fix: use superblocks as keys in curriculum.json
* fix: handle new superblock names
* fix: keep deleting relational-database
* fix: add cert to email for when all certs are earned
* fix: unhide rdbms from production
* fix: cert project input field
* feat: add cypress tests
* fix: message on project pages to lower expectations
* fix: update instructions
* fix: add quincy's suggestions
* fix: add beta label and reorder
* fix: utils test
* fix: move rdbms to bottom of settings
* fix: cypress tests
* Apply suggestions from code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix: only drop seeded users webhook tokens
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* 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>
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
* fix: handle the sorting of transformed files
We can't use the ext property, since that is transformed, but the
history is maintained.
* test: make solutions polyVinyls for sorting
* refactor: inline prepareChallenge
* refactor: make solutions polys in getChallenges
* fix: convert each solution to a poly
* fix: skip empty solutions
* fix: get challenge file history in client
* refactor: stop calling isPoly from the client
* fix: remove debug console.log
* refactor: remove unnecessary sorting step
* feat: first draft of CSS Color Markers project
* Update client/i18n/locales/english/intro.json
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-007.md
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-046.md
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-079.md
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* feat: begin adding tests
* feat: add more tests, fix wording and some CSS values
* feat: add more steps, fix wording
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-014.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* feat: add more tests, simplify some regex tests, fix wording
* fix: preformatted block names and help category map
* feat: finish first draft of color marker tests
* fix: simplify text involving classes
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-004.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-008.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-009.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-010.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-011.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-013.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-014.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-014.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-054.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-089.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* Update curriculum/challenges/english/01-responsive-web-design/learn-css-colors-by-building-a-color-markers-set/step-094.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* fix: add outro message to final CSS color markers step
* fix: make most regex tests case insensitive, add note about casing for filename
* correct double key from rebase
* remove jQuery for betterness
* move project to new superblock
* adjust meta to match others
* fix: add new to helper call
* regex-ise funny lessons
* unnecessary: add -22 superblock
* fix: make linter happy
* regex-ise missed challenges...oops
* Revert "fix: make linter happy"
This reverts commit 6e6e3cf503.
* Revert "unnecessary: add -22 superblock"
This reverts commit a58045607e.
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-005.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-010.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-052.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-053.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-054.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-055.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-056.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-057.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-058.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-059.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-062.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-063.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-064.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-065.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-068.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-069.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-color-markers-set/step-082.md
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* fix: rename project to "Learn CSS Colors by Building a Set of Colored Markers"
* Update curriculum/challenges/english/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/step-010.md
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* adjust superblock to include `2022/`
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* 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
* 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 css-penguin practice project
* rename block name
* rename meta block
* rename necessary properties
* rename page
* add to step 25
* adjust prototype with better structure/naming
* add step adjusting .ground z-index
* fix: add position: absolute to .ground
* add to step 37
* add to step 103
* remove erm from solution
* add tests to 001-020
* add tests 021-030
* test: update 012 to use dynamic hints
* test: improve tests with dynamic hints
* fix: add position:relative to .penguin
* add tests 032-055
* add tests 056 - 103
* fix some tests
* code blocks and test fixes
Co-authored-by: Krzysztof G. <60067306+gikf@users.noreply.github.com>
* allow 0% 0px 0
* fix: add width and height step for silly firefox
* add instruction to add html element
* Tom's good suggestions, and his American suggestions
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* adjust wording for - you guessed it - firefox
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* add missing calc keyword
* just fix it with regex :(
* apply Nich's probably bogus suggestions
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* remove duplicate
Co-authored-by: Krzysztof G. <60067306+gikf@users.noreply.github.com>
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* 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>
* chore: rename files
* chore: update codebase
* chore: proper title case
* chore: block name
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* feat(curriculum): add registration-form practice project
* add parts 001-006
* add parts 007-009
* add parts 010-013
* add parts 014-024, fix 013
* add parts 025-043
* add parts 043-046
* add parts 0047-057 without tests
* fix tests and adjust index.md file I do not understand
* add css tests to parts 037-040
* add tests parts 040-057
* remove space around ERM
* add true assertion until document iframe is fixed
* add critical review suggestions
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>
* use clear, Tom-like language for 038
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* change order to match author's age
* apply suggestions with personal pazzaz
* add that thing Nich forgets
* use innerText
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* feat(curriculum): add accessibility-quiz practice project
* add parts 002-006
* add parts 7-8, tentative on logo aspect-ratio
* add parts 008-013
* add parts 013-016
* add parts 017-026
* add parts 026-027
* add parts 027-029
* add parts 029-044
* add parts 044-067 - all parts done
* add tests 001-009
* add tests 010 - 033
* add tests 034 - 039
* update tests 008~033, add tests 040-050
* add all tests
* fix some stuff, remove final.md
* take reasonable suggestions from Nich, ignore rest
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* replace svg link with actual CDN
* remove getAttribute in potentially bad places
* add method to form
* fix silly querySelectors
* adjust selectors for 028
* fix selectors, and add color transformations
Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>
* fix: typos, and make one test lenient
Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>
* feat(curriculum): add initial steps
Add the initial step files for this project.
* feat(curriculum): write test texts
Add some test text (tests coming soon).
* feat: tests for HTML bits
Add tests for the HTML bits - CSS holding off until parser lands.
* feat: CSS tests
New CSS parser works great!
* fix: link href
Fix the href in the boilerplate.
* chore: apply suggestions from code review
Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>
* fix: clarify link element
* fix: optional chaining
* fix: remove unused meta props
* fix: update helper and fix tests
* chore: apply tom's review suggestions
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
* chore: no console logs
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* feat: intro
Add introductory text, tweak instructions a bit.
Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* 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>
* 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