* fix: update jaw on all ctrl-enter presses
* fix: show running tests while hiding feedback
Screenreaders still announcing running tests and then the output, and
the display now stops showing a flash of the new feedback message
* refactor: camelCase
* refactor: clean up and reduce renders
previousHint isn't really state, insofar as it changing should not
trigger a new render - a ref does the trick.
* chore: remove log
* fix: use ref to track latest attempts prop
* fix: allow lower jaw to trigger viewzone updates
React.render's callback cannot be relied on. It does not necessarily
get called on every update to the rendered element.
updateContainer is called on every render, so the editor will be
updated.
* refactor: attemptsNumber -> attempts
* fix: do not render on attempt changes
* refactor: more camelCase
* fix: try to prevent previous hint rendering
Co-authored-by:
Manabu Matsumoto <mmatsumoto1026@gmail.com>
* test: resetting of lower jaw
* fix: reset lower jaw when step is reset
* test: check congrats message appears on completion
* fix: hide feedback after reset
* fix: leave focus in the editor after passing tests
This is an attempt to work around a JAWS issue whereby the submit
shortcut (ctrl+enter) is ignored after the user passes all tests.
* test: submit button receives focus when tests pass
* fix: focus submit button when tests pass
Co-authored-by: Bruce Blaser <bbsmooth@gmail.com>
Co-authored-by: Bruce Blaser <bbsmooth@gmail.com>
* 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>
* feat: add preview popout window
* fix: remove unused
* fix: add title to window
* fix: add preview to window title
* feat: it works
* chore: clean up
* chore: more clean up
* fix: add better screen reader messages
* feat: add lang code to iframe
* feat: apply Naomi's code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* fix: Iframe title test
* Apply suggestions from code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* fix: hopefully things make sense
* fix: steal sem's idea for DOMParser
* fix: make the solution work on the main frame
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* 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>
attach i18next to window, give window alerts access to i18next.t
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* 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
If a user runs the tests and they pass, the multifile editor will show a
submit button. If the user then edited the page, it would no longer be
possible to submit.
This ensures the redux store keeps the original, passing, tests and lets
the user submit
* fix(UI): missing sign-in button at small devices
* feat: replace menu and sign-in buttons text with images
* refactor: svg icons replaced by fortawesome ones
* test: fix e2e test of navigation menu button
* feat: display sign in button and hide all
* feat: display sign in icon on nav for small screens
* feat: add accessibility span for menu icon
* fix: lint errors
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@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
* feat: add title to "ask for help" forum requests
* fix: remove need for translation
* fix: remove dangling comma
* fix: no email-fallback but remove user part if no username is available
* fix: fallback to username if no name is set
* Use nanoid instead of username
* Add block title to challenge description
* 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>
* 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
With this change the preview should function as if the user had written
a script with script.js's contents. <script src="script.js"> is
replaced, so the script element's position in the html matters.
* 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