* fix: beta RWD course toggle button accessibility
* refactor: passing props to icons
* simplify prop name and give it a default value
* remove console log
* fix: added translations
* refactor: announce percentage of course completed to screen readers
* fix: variable name typo
* fix: add a clear separation between course title and status
* 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: place textarea between the jaws
* refactor: convert upper jaw to content widget
* fix: upper jaw shift on restart button
* fix: reset height of lower jaw on restart
* fix: upper jaw width resizing
* fix: placement of upper jaw on editor resize
* chore: remove unnecessary code
* chore: add useful comment
* refactor: create function to set height on test feedback
* feat: migrate locale test to ts v2
* fix: langCodes
* fix: locale test
* fix: nav dropdown
* fix: header test
* fix: use type predicates
* refactor: DRY up all-langs
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* feat: add secure donation border to donation form
* feat: add string to translations
* Apply suggestions from code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* feat: cleanup and reorder logic
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* feat: let users save cert project code to db
fix: move getChallenges call out of request function so it only runs once
fix: use FlashMessages enum
fix: transform challengeFiles earlier
test: make tribute page use multifile editor
stuff I was playing with - revert this to get it to a working state
refactor: allow undefined editableRegionBoundaries
fix: save history
history is not necessarily ["name.ext"] and using the incorrect history
could cause weird bugs
fix: replace files -> challengeFiles on the client
refactor: DRY out ajax
fix: use file -> challengefile map
refactor: rename ajax types
fix: alphatize flash-messages.ts
revert: tribute page project
fix: remove logs
fix: prettier
fix: cypress
fix: prettier
fix: remove submitComplete action
fix: block UI for new projects
fix: handle code size
* fix: catch undefined files
* fix: don't default to undefined when it's already the default
* fix: only update savedChallenges if applicable
* fix: dehumidify backend + fine tune nearby stuff
* fix: prop-types
* fix: dehumidify sagas
* fix: variable name
* fix: types
* Apply suggestions from code review
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* fix: typo
* fix: prettier
* fix: props types
* fix: flash messages
* Update client/src/utils/challenge-request-helpers.ts
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: rename function uniformize -> standardize
* fix: flash message
* fix: add link to forum on flash messages
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* Add border-left to description-container
* Add description-container use primary-background
* Jaw border to quaternary bg
* Select editor line to highlight bg
* Update client/src/templates/Challenges/classic/editor.tsx
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>