If the code has changed without the user typing (e.g. they've pushed
the restart button), then we jump them back to the editable region.
Otherwise (e.g. they've typed in the editor) we reset the display, but
do not move the editor.
* 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
* feat: added warning for unreachable server
* fix: update initial state in test file
* fix: make offline warning scroll with page
* adjust z-indexes for warning banners
* add hyperlink for offline warning
* feat: dispatch resetChallenge action
* fix: copy challengeFiles instead of in-place sort
* fix: handle null updateFile payloads in redux
* refactor: reorganise region initialization
* refactor: pull code into editorDidMount
Then we can rely on the presence of the editor and monaco and don't have
litter the code with null checks.
* refactor: use better name for editable region init
* refactor: remove unused decoration
* refactor: rename forbidden region init functions
* fix: keep all challengeFiles when resetting
* refactor: remove unused decoration class
* fix: reinitialize editor on reset
* fix: stop adding multiple scroll listeners
Since the challengeFile update on each keystroke extra (unnecessary)
adding of listeners slowed the editor to a crawl.
* fix: only scroll to editor on mount
Rather than on any edit.
* refactor: remove logs and comments
* fix: rename toSortedArray and fix broken test
* fix: check for null not falsy in updateFile
* fix: only update project features when project
* fix: only reset if editor contents have changed
* feat: focus on editor after reset
* fix: require login as step
* fix: cert rendering temporary
* fix: remove keys from other translation files
* fix: cypress test
* chore: shauns suggestions
* fix: remove steps
* fix: use a seperate UseEffect function
* Suggestions from Shaun
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* fix: certification temp rendering
* fix: cert temp rendering hopefully
* fix: button visibility and cert test
* fix: condition
* test: improve claim cert tests
Without npm run seed, retries will be in a different state.
Check the scroll position to (hopefully) catch the weird cert claim bug.
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix(deps): update monaco editor
* chore: rollback monaco, update react-monaco-editor
The latest version of react-monaco-editor is only compatible with monaco
v0.27
* fix: roll-back monaco-editor-webpack-plugin
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>