* 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
* refactor: return response with data from ajax
Because we still need to manipulate the data coming back from the server
(files -> challengeFiles) and we want to keep ajax.ts as the interface
between client and server we need to return the manipulated data with
the response.
* feat: re-enable failed updates flushing
* test: failed updates get resubmitted and flushed
* fix: convert settings requests to use { data }
* refactor: use preserveSession
* added class to td so it takes full width
* added width 100% to dropbox components
* removed excessive code
* limit the max space dropdown takes
* `view` takes the same size as `show-solution`
* undo previous change
* view takes the same size as show-solution
* fix: static width for buttons on small screen
* fix: remove max-width cause iocd
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
* test: tighten up user-token
This should be faster and a little more reliable. before should have
worked, but beforeEach seems more reliable, so I'm trying it.
* test: use a single test for intro-page
Should be more robust as well as a lot faster.
* fix: main menu a11y updates
* update font menu
* fix: sign in button text alignment
* fix: disabled button font
* fix: language menu font
* remove sign-in from main menu
* fix: add section dividers to menu
* fix: height on language selector menu
* fix: alignment of Menu button text
* fix: language globe icon
* refactor: remove dup selector
* update language menu colors
* refactor: clearer name for language menu display state
* fix: don't close onBlur if Menu button is clicked
* refactor: move globe icon styling to CSS
* refactor: get rid of switch statements
* refactor: remove try catch block
* fix: translate Change language button
* fix: move search into nav menu for mobile layout
* fix: forgot a merge
* refactor: updates for changes in i18n/all-langs
* fix: prevent menu from collapsing when focus is on change language button and user clicks into search
* fix: translate cancel change option in language picker
* feat: add cypress tests
* feat: display the complete language list
* fix: fix TS typing
* fix: force scrollbar on lang menu
* fix: remove scroll bar from lang menu
* fix: close menu when user tabs away from last menu item
* add list role to navigation list to appease Safari
* chore: capitalize Change Language/remove CSS comment
* fix: right side search box alignment in narrow view
* remove extraneous list role
* fix: cypress
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
* fix(client): prevent code duplication when using help button
* feat(client): comment file name when opening issue in forum
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* chore: check if canClaimCert before calling backend
* refactor: make canClaimCert declarative
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* feat: combine submission and execution calls
* refactor: rename the click listeners
onChallengeSubmission sounds like something that will get called in
response to challenge submission, not something that will trigger it
* fix: create one debounced function
* fix: use lodash-es
Otherwise we'll include all of lodash in the bundle.
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>