* 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
* 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>
* moved portal states to redux
stored a global window
open window if does not exist clear htmlif already exists
moved close window to desktop-layout
close portal if user navigates to route outside of challenges
naming conventions, specify url
dispatch setIsAdvancing and use in portal preview
* fix: close portal if main window closes
* fix: refactor it
* Revert "fix: refactor it"
This reverts commit 197a40a3a6.
* feat: add isAdvancing to hotkeys
* fix: revert to pane on first step of block
* fix: safari issues
* fix: revert to pane when not advancing
---------
Co-authored-by: kravmaguy <flex4lease@gmail.com>
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
* feat: split odin project block into two blocks
* refactor: remove redundant isOdinProject checks
* fix: revert checkbox outline changes
Keyboard users need a way to see what's currently in focus, so we can't
hide the outline
* fix: add help category
* fix: use HTML-CSS help category
---------
Co-authored-by: sembauke <semboot699@gmail.com>
* feat: integrate the odin project
* feat: add assignment to markdown parser
* feat: add assignment logic
* fix: doe not always show assignment block
* fix: some other stuff
* fix: introdiction to html and css questions
* fix: remove assignments after first question
* fix: update snapshots and tests
* feat: create rest of HTML foundation course structure
* feat: meta file
* feat: add descriptions to 'html boiler plate' questions
* feat: add description for 'working with text and list items'
* fix: multiple logic issues
* fix: make linter happy
* feat: add description for 'links and images' questions
* fix: add assignments to Joi schema
* fix: tests
* fix: schema
* fix: add help category
* fix: change to possessive wording
* fix: set upcoming change to true in meta file
* fix: spell unordered and ordered correctly
* fix: switch order in meta
* fix: spell boilerplate correctly
* feat: add final project
* chore: add more tests to the final project
* fix: question spelling
* Apply suggestions from code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* Apply suggestions from code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* Apply suggestions from code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* Apply suggestions from code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* Apply suggestions from code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* Apply suggestions from code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* fix: translation
* Update client/i18n/locales/english/translations.json
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix: create new challenge type
* fix: get the new challenge type working and remove ol css
* fix: translation location
* fix: add challenge type to epic
* fix: set correct video
* fix: max challengeType number
* fix: spelling/grammar errors in project
* fix: check if anchor tags is empty
* Apply suggestions from code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* Update tools/challenge-parser/parser/plugins/add-video-question.js
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: multiple suggestions
* chore: separate assignments into different plugin
* Apply suggestions from code review
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
* fix: dubble answer header after review
* fix: issue with Gatsby hopefully
* fix: add assignments to Gatsby's Challenge schema
* Update curriculum/schema/challengeSchema.js
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
* feat: add skip-to-content button
* fix: remove content start ids from everywhere and add to default layout
* chore: format landing-top.tsx
* use single quotes in skip-to-content component
* include breadcrumbs in navigation
* linting fail fix
* use anchor tag instead of new component
* update challenge title snap
* fix(test): reliably move focus onto the editor
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* 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
* fix: make ctrl/cmd + enter trigger modal
Multifile projects should be handled like legacy challenges in this
regard.
* test: check modal appears
* refactor: ignore additional solutions
* test: fix ctrl + enter tests
* fix: only run on electron
* fix: remove log
* fix: show completion modal if instructions focused
* fix: handle undefined challengeType
* 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
* 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
* fix: fallback to english challenges
All challenges will use the english version if a translated file is not
available. SHOW_NEW_CURRICULUM still gates what's shown in the client.
* refactor: use closures to simplify createChallenge
* refactor: remove messy destructure
* refactor: add meta via helper
* fix: fallback to [] for meta.required
* fix: repair challenge.block
* refactor: use CONST_CASE for meta + challenge dirs
* fix: catch empty superblocks immediately
* fix: clean up path.resolves
* fix: invalid syntax in JS project steps
* fix: default to english comments and relax tests
Instead of always throwing errors when a comment is not translated, the
tests now warn while SHOW_UPCOMING_CHANGES is true, so that tests will
pass while we're developing and allow translators time to work.
They still throw when SHOW_UPCOMING_CHANGES is false to catch issues
in production
* test: update createCommentMap test
* refactor: delete stale comment
* refactor: clarify validate with explanatory consts
* feat: throw if audited cert falls back to english
* fix: stop testing upcoming localized curriculum
* 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>