* 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>
* Adding Portuguese top30 links to footer
Changing the links on the Trending List of the footer on the Portuguese editorial to the top 30 Portuguese articles
* fix(i18n): shortened titles for Trending List
Shortened titles as per suggestion. Thanks, @ieahleen!
* fix(i18n): changed last long title - line 14
Changed last long title - line 14
* feat: add ask for help button
* feat: move button to test output area
* feat: track number of attempts
* feat: add ask button to buttons container
* feat: restructure lower jaw
* feat: adjust the lower jaw styles
* fix: unmount component
* feat: restructure the lowerjaw
* fix: move aria live region to encompass both status and hint
* feat: rebase main
* feat: remove lower jaw update from test useEffect
* fix: output viewzone resize on output change
* fix: change encouragement message based on attemps
* fix: maintain lowerjaw height when tests run
* feat: remove set height and clear feedback
* fix: adjust lower jaw state on reset
* fix: focus submit button when challenge is completed
* fix: add aria-hidden after 500ms
* add translations
* fix: clean up
* feat: fade in test feedback after each attempt
* feat: make lower jaw accessible
* fix: clean up
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Bruce B <bbsmooth@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* 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
* 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>
* 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
* Update trending.json
Added 30 articles from the column "Published" on Trello
* Update trending.json
Replaced the first thirty titles and links
* Update trending.json
Ho ridotto la lunghezza di alcuni titoli (<=28 caratteri) e spostato la parentesi di chiusura su una nuova riga
* Add missing comma
* JSON formatting
* fixed titles length
* Apply suggestions from code review
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Ilenia <nethleen@gmail.com>
Co-authored-by: Naomi Carrigan <nhcarrigan@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>
* fix: token rework functional
fix: clean up
fix: more clean up
fix: more clean up
fix: add widget back to settings
fix:
fix:
fix: cypress
Apply suggestions from code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
fix: use flash enum
* chore: rename webhookToken -> userToken
fix: add translations I forgot to save
* fix: add missing tones for flash messages
* fix: node test
* 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>
It's important to not pass frame to transform when using
transformWithFrame. Instead we need to pass either frame.contentDocument
or frame.contentDocument.documentElement
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
* refactor: re-organise show-project-links
* refactor: update ChallengeFile's declared shape
* fix: handle missing challenge solution
* refactor: use display function for Certification
* refactor: use display function for TimeLine
* refactor: use common component for timeline + cert
* fix: handle legacy solutions
* refactor: use widget for certifications
* refactor: reorganise ShowDisplayWidget
* refactor: remove unused ids
* test: pass dataCy, not projectTitle, to widget
* chore: kebabify
* revert: add id back for dropdown
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* revert: add the ids back
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* fix: make breadcrumb nav more accessible
* refactor: cypress test and jest snapshot
* slight adjustment to left breadcrumb focus outline
* feat: translate aria for nav
* chore(tools): update snapshot
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* feat: make all sources available in tests
The original contents of all files (index.html, script.js etc.) will be
accessible in tests. For example __sources['index.html'] gets the
original html file and nothing else.
* feat: use __file to get user code