Commit Graph

427 Commits

Author SHA1 Message Date
Oliver Eyton-Williams
222fc3f255 refactor: minor clean up of editor (#43513) 2021-09-21 18:05:12 +05:30
Nicole Aldurien
cc1b945fab refactor(client): migrating ActionRow.js to TypeScript (#43490) 2021-09-21 10:13:54 +02:00
Sem Bauke
c0e0241440 feat(Cypress): hotkey tests (#43434)
* feat(Cypress): hotkey tests

* fix: test previous next for projects

* fix: link time-out firefox

* feat: test the "r" hotkey

* fix: change select back to body for now

* fix: retain navigation mode for video challenges

* test: find focused elements

* fix: move focus from panel before pressing 'r'

Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>

* test: add hotkey test for backend

* test: remove redundant {esc} presses

* refactor: naming change

* fix: refactor properly

* fix: actually refactor it properly

Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: gikf <60067306+gikf@users.noreply.github.com>
2021-09-20 20:53:42 +02:00
Igor Cunha
2dd106eb2f feat(client): migrate to ts - (HelpModal, Preview, VideoModal, Side-Panel) (#42857)
* refactor: migrate HelpModal, Preview, VideoModal, Side-Panel

* refactor: import order

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-09-17 18:37:53 +01:00
EhEhRon91
88385e46bb fix: button width and text not matching (#43380) 2021-09-07 20:18:25 +05:30
awu43
f8aa621672 delete old ts-ignore comments (#43329) 2021-08-27 23:38:30 +02:00
Nicholas Carrigan (he/him)
b9d08f2fea feat: locale specific help posts (#43290) 2021-08-25 21:43:40 +05:30
Oliver Eyton-Williams
5e49521fc2 fix(client): some editor edge cases (#43256)
* fix: handle erm on line zero

* refactor: fix eslint errors

* fix: prevent crash on zero height editable region
2021-08-23 11:34:53 -07:00
Nicholas Carrigan (he/him)
b99ee5e7de feat: english forum for guide posts (#43246) 2021-08-20 11:58:07 +05:30
Shaun Hamilton
5806c3047d fix(client): convert challengeFiles->files before sending to api (#43204)
* fix(client): convert challengeFiles->files before sending to api

* update use of user.completeChallenges

* parse response in ajax, pre-typing

* add typing to getSessionUser

* refactor: use Omit

* fix: reorganise getSessionUser

* refactor ajax for simplicity

* refactor to be worse

* allow for undefined completedChallenges

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-08-17 12:31:25 -05:00
Shaun Hamilton
e98d3dd3da fix(client): allow old local-storage code (#43196) 2021-08-13 13:15:50 -05:00
Shaun Hamilton
59f17f237b refactor: files{} -> challengeFiles[], and key -> fileKey (#43023)
* fix(client): fix client

* fix propType and add comment

* revert user.json prettification

* slight type refactor and payload correction

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* update ChallengeFile type imports

* add cypress test for code-storage

* update test and storage epic

* fix Shaun's tired brain's logic

* refactor with suggestions

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* update codeReset

* increate cypress timeout because firefox is slow

* remove unused import to make linter happy

* use focus on editor

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* use more specific seletor for cypress editor test

* account for silly null challengeFiles

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-08-12 20:48:28 +02:00
awu43
dd5d2919be feat(client): ts-migrate client/utils/** (#42823)
* rename js files

* update imports and references

* migrate build-challenges

* migrate challenge-types

* migrate utils/index

* migrate state-management

* install @types/psl for tags

* migrate tags

* migrate tags.test

* migrate challenge-page-creator

* migrate utils/gatsby/index

* migrate layout-selector

* migrate layout-selector.test

* revert challenge-types

Curriculum can't handle TS or modules

* convert arrow functions

* revert build-challenges

* revert utils/gatsby/index

* revert challenge-page-creator

* revert challenge-types reference

* Delete state-management

Deleted in #42960

* Disable render-result-naming-convention (for now)

* update layout-selector.test comment

* reorder imports in build-challenges

* change ts-ignore to ts-expect-error
2021-08-09 10:30:31 +02:00
Sem Bauke
eccc642d83 fix(client): store accessibility for screenreaders (#42996)
* fix: store accessibility for screenreaders

* Apply suggestions from code review

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* fix: remove old comments

* feat: at short cut announcement when running test

* feat: announce that accesibility mode is turned on

* fix: use Redux values

* Apply suggestions from code review

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* Apply suggestions from Oliver

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix: "rip out redux stuff" and use store instead

* Apply suggestions from code review

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* Apply suggestions from code review

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix: old use of props

* Update client/src/templates/Challenges/classic/editor.tsx

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-08-06 14:17:17 +02:00
Oliver Eyton-Williams
e118dda13a fix: order imports and remove circular dependencies (#41824)
* fix: remove circular dependency

redux depended on templates/Challenges/redux and vice versa.  This
meant that import order mattered and confusing bugs could arise.

(cherry picked from commit 7d67a4e70922bbb3051f2f9982dcc69e240d43dc)

* feat: require imports to be in alphabetical order

Import order generally does not matter, but there are edge cases
(circular  imports and css imports, for example) where changing order
changes behaviour

(cherry picked from commit b8d1393a91ec6e068caf8e8498a5c95df68c2b2c)

* chore: order imports

* fix: lift up challenge description + title comps

This brings the classic Show closer to the others as they
now all create the description and title components

* fix: remove donation-saga/index circular import

(cherry picked from commit 51a44ca668a700786d2744feffeae4fdba5fd207)

* refactor: extract action-types from settings

(cherry picked from commit 25e26124d691c84a0d0827d41dafb761c686fadd)

* fix: lint errors

* feat: prevent useless renames
2021-08-02 08:39:40 -05:00
Shaun Hamilton
47adbde90b feat(client): add multifile editor breadcrumbs (#42907)
* feat(client): add multifile editor breadcrumbs

* adjust margin

* update snapshot

* re-remove duplicate css

* adjust arrow colours

* update that pesky snapshot

* add title to editor jaw

* remove bolding, and center

* update snapshot
2021-07-28 17:29:11 +03:00
Victor Duarte
80e75ea690 fix(client): remove odd snap of editor panels (#42990)
* fix(client): remove odd snap of editor panels

* fix(client): reduce set state calls
2021-07-25 14:41:22 +02:00
Victor Duarte
10511a7402 refactor(client): document and test create types utilities (#42960)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-07-24 23:24:08 +07:00
Anirudh Modi
ef3b7ec955 chore(eslint): enables recommended eslint rules for testing-library and jest-dom (#42817) 2021-07-20 21:21:16 +07:00
Shaun Hamilton
31486b368b fix(client): refactor to use correct i18n t type (#42865)
* fix(client): refactor to use correct i18n t type

* appease Oliver by importing directly from react-i18n

* fix: use default TFunction type variable

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-07-19 09:48:02 -07:00
Sem Bauke
1f9aa2f28b fix: remove old croudsourcing translation for videos (#42880) 2021-07-16 14:43:16 +02:00
Shaun Hamilton
6ca6d9950c feat(client): improve SuperBlock cert claiming UX (#41147)
* feat(client): improve SuperBlock cert claiming UX

* broken: add certCard foundation

* broken: add TODO comments for scatter-brain

* restructure stepsToClaimSelector

* add api-server verifyCanClaimCert logic

* temp: correct verifyCanClaim URL

* move GET logic to CertificationCard, remove console.logs

* add error handling, and navigation logic

* correct verification logical flow

* fix completion-epic updates, fix cert verify

* update widget to button, disable button unless verified

* working: refactor CertChallenge with hook state

* add StepsType

* update Honesty snapshot

* add DonationModal to SuperBlockIntro

* disable Claim Cert button unless also isHonest

* prevent warning when viewing cert

* test: use navigate in Modal to return to hash

* test: replace gatsby.navigate with reach/router.navigate

* add propTypes

* fix: rename propTypes -> prop-types

* use react-scrollable-anchor to squash modal bug

* update location parser type

* open-source Oliver's suggestion

* fix superblock title

* add claim-cert-from-learn tests

* use larger tests

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix some cypress stuff

* fix ShowCertification cypress test

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-07-15 23:51:27 +09:00
Oliver Eyton-Williams
03913024a5 fix: various multifile editor bugs (#42855)
* refactor: use refs to hold editor and monaco

Also removed a lot of unnecessary conditionals

* refactor: get a ref to the editor directly

Previously we got a ref to react-monaco-editor, but that's an
unnecessary layer of abstraction

* fix: replace data state with ref

* fix: replace remaining useStates with useRefs

* refactor: simplify dataRef access

* fix: store correct id for output zone

* refactor: remove unused parts of MultifileEditor

* fix: use separate models per fileKey

Temp fix, I think the data should store one version per fileKey

* fix: create data for each editor

* refactor: declare data once

* fix: handle widgets etc. like other data

* fix: store an editor per fileKey

* refactor: clean up types + initial properties

* refactor: remove redundant constructor

* fix: remove redundant comment

* refactor: update comments
2021-07-14 18:09:50 +02:00
Adriano Cangiamila
480afedd62 Update completion-modal.tsx (#42842) 2021-07-14 17:43:14 +02:00
awu43
e1d8f4be3a feat(client): ts-migrate client/src/utils (#42666)
* rename js files to ts

* start migrating ajax

* finish migrating ajax

* migrate algolia-locale-setup

* migrate format

* migrate format.test

* migrate get-words

* install axios for types in handled-error

* migrate handled-error

* migrate handled-error.test

* migrate report-error

* migrate script-loaders

* migrate to-learn-path

* correct renamed imports

* remove unnecessary type assertions in searchBar

* remove unnecessary global comment

* remove unnecessary max-len enable/disable

* change axios imports to type imports

* revert to .then() from await

* use UserType from redux/prop-types

* replace assertion with generic type

* revert format to JS

* remove unused getArticleById()

* update putUpdateUserFlag() to use Record

* remove unnecessary envData cast

* update algolia-locale-setup types

* remove invalid key property
2021-07-12 11:17:58 +02:00
gikf
a8e2aff073 feat(client): add hotkey 'r' to focus on instructions panel (#42503) 2021-07-12 09:20:07 +05:30
Moshe
63f26db336 refactor(client): Replace <Fragment> tags to <> (#42796)
* refactor(40115): Replace <Fragment> tags to <>
2021-07-09 09:50:11 +02:00
Shaun Hamilton
0891d41c35 fix(client): re-ref editor (#42799) 2021-07-09 09:29:11 +05:30
Sem Bauke
d23b86f77b feat: convert solutionForm to ts (#42766)
* feat: convert solutionForm to ts

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-07-07 10:38:58 +02:00
Renovate Bot
7c2a4aff6e chore(deps): update dependency jest to v27 2021-07-06 19:01:17 +05:30
Parth Parth
5f9d507d70 feat(client): ts-migrate .../Challenges/components/PrismFormatted.js (#42667)
* migrate

* add mistakenly deleted displayName

* add static displayName declaration

* remove extra space

Co-authored-by: Parth Parth <thecodingaviator@users.noreply.github.com>
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2021-07-02 18:11:54 +05:30
Shaun Hamilton
de2f4e2843 fix(client): open completionModal on shortcut (#42685) 2021-06-30 20:52:18 +05:30
Shaun Hamilton
36ad0dbcc5 feat(client): ts-migrate editor component (#42285)
* class component to functional component

* rename Editor to .tsx

* add @types and no-verify changes

* init ts with no-verify

* refactor: files -> challengeFiles

* prop-types built from GraphQL

* Editor: halfway through 💪

* editor: almost done 🚀

* post-meeting changes with errors

* fix: remove chord keybindings

* Revert "refactor: files -> challengeFiles"

* fix tests type, fix editor bug

* fix linting issues

* re-add Loadable

* kebab-case editor

* remove Range import

* format package and prop-types

* update Show and prop-types

* fix: editor background color

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2021-06-30 20:52:18 +05:30
ABHINAV SHARMA
de261a2b58 feat(client): ts-migrate LearnLayout component (#42644)
* feat(client) Renamed Learn.js to learn.tsx

* feat(client) ts-migrate LearnLayout Component

* rename types for convention

* fix(client) disable ts error for DonationModal usage

- DonationModal migration required typescript to fix error hence disable ts error in LearnLayout component

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-06-30 20:52:18 +05:30
Parth Parth
6b52d6c331 feat(client): ts-migrate client/src/resources/certAndProjectMap.js (#42648)
Co-authored-by: Parth Parth <thecodingaviator@users.noreply.github.com>
2021-06-30 20:52:17 +05:30
Parth Parth
4737d96084 feat(client): ts-migrate /client/src/.../Tool-Panel.js (#42646)
Co-authored-by: Parth Parth <thecodingaviator@users.noreply.github.com>
2021-06-30 20:52:17 +05:30
Parth Parth
1e86063f04 feat(client): ts-migrate Challenges/components/ (#42582)
Co-authored-by: Parth Parth <thecodingaviator@users.noreply.github.com>
2021-06-30 20:50:57 +05:30
Tom
6cd8a025a7 feat(client): ts-migrate challenge-templates complete-modal (#42598) 2021-06-30 20:50:57 +05:30
Tom
8c7cc2e532 feat(client): ts-migrate challenge templates- challengeTitle + breadCrumbs (#42586) 2021-06-30 20:50:56 +05:30
Tom
918d5a160d feat(client): ts-migrate challenge templates/show components (#42553) 2021-06-30 20:50:56 +05:30
Parth Parth
0a3a5e7a53 feat(client): migrate icons to TS (#42453)
* migrate files and update tests

fix: use more memory for gatsby develop (#42433)

feat(client): remove whitespace from calculated values (#42400)

* feat(client?): remove whitespace for calculated values

* feat(client): remove whitespace from styledeclaration

* do not automatically strip

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix: include all properties of CSSStyleDeclaration

* fix test for getPropVal

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

fix: get showUpcomingChange from env.json (#42440)

fix(client): display legacy certs like current ones (#42038)

* fix: display legacy certs like the current ones

* fix: link projects in legacy certs to project pages

* fix: update tests to changed legacy cert display

* fix: update tests for removed legacy certs forms

* fix: display legacy certs like the current ones

* fix: submit projects for cert on projects pages

* fix: remove legacy certs form submitting handling

* fix: move claiming cert setup before both tests

* fix: remove legacy cert update props and actions

* fix: remove legacy cert updates from api

* fix: correct merge conflict

fix(curriculum): rework Project Euler 98 (#42423)

* fix: rework challenge to use argument in function

* fix: add solution

* fix: use MathJax to improve math notation

fix(curriculum): rework Project Euler 56 (#42364)

* fix: rework challenge to use argument in function

* fix: add solution

* fix: use MathJax to improve look of math notation

fix(curriculum): correct small english typo (#42447)

chore: group together monaco-editor and plugin (#42443)

This should get renovate to create PRs where both are modified.

fix(deps): update dependency algoliasearch to v4.9.2 (#42432)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

migrate files and update tests

Algorithm moved to TSX

first ten files renamed to tsx

first 10 migration complete

first 20 files renamed

migrate some files. rename all

test

index.tsx forced to ignore ts issues

rename and migrate all files

update tests

* remove missed propType declarations

* kebab-caseify

* fi xlinting

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Parth Parth <thecodingaviator@users.noreply.github.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-06-30 20:50:56 +05:30
Marlon Johnson
4b44bb37d9 feat(client): ts-migrate client/src/components/helpers/** (#42593)
* refactor(client): convert toggle-button to TypeScript

* chore: rename Space to tsx

* refactor(client): convert space to TypeScript

* chore: rename SlimWidthRow to tsx

* refactor(client): slim-width-row to TypeScript

* chore: rename SkeletonSprite to ts

* fix: fixed typos and resolved paths

* chore: resolve path inconsistencies

* refactor(client): skelton-sprite to TypeScript

* chore: rename loader.test to tsx

* chore: add types for react-spinkit

* refactor(client): loader to TypeScript

* refactor(client): link to TypeScript

* refactor(client): image-loader to TypeScript

* refactor(client): full-width-row to TypeScript

* refactor(client): current-challenge-link to TypeScript

* refactor(client): button to TypeScript

* refactor(client): border-color-picker to TypeScript

* refactor(client): avatar-renderer to TypeScript

* chore: changed loadertest(snap) to ts

* chore: optional types added and cleaned files

* fix: args are now optional

* push small updates for Spacer component merge

* update snapshot

* remove type defs from deps

* Revert "remove type defs from deps"

This reverts commit 9f58bf3554.

* correctly remove client type deps

* final push to remove from deps

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-06-30 20:50:56 +05:30
Sem Bauke
3b4afe0e59 fix: unneeded scrollbar multi file editor (#42411)
* fix: multi editor unneeded scrollbar
2021-06-23 19:15:36 +02:00
Huyen Nguyen
2c16234853 chore: add jest global variables (#42573) 2021-06-20 09:14:42 +02:00
Victor Duarte
310bbdf54b fix(client): store challenge panes sizes (#42519)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-06-17 23:50:39 +05:30
Mrugesh Mohapatra
a378bc6dd4 chore: rework the language audits for build (#42510)
This also reverts commit cd5c28b332.
2021-06-15 23:07:52 +05:30
Nicholas Carrigan (he/him)
cd5c28b332 revert: disable portuguese (#42508)
* revert: disable portuguese

First certification is not 100% yet. Shipped too soon. :(

* feat: enable portuguese curriculum

Curriculum can build in portuguese, leaving client disabled to
prevent language from appearing in nav bar.

* feat: move audited cert list

Moves the audited cert list to the config, instead of the utils.
2021-06-15 21:32:29 +05:30
Tom
067761f2f6 feat(curriculum): add relational databases cert as upcoming change (#41658) 2021-06-15 16:37:13 +01:00
Sem Bauke
a53b235bd8 fix: multi editor bottom cut off (#42375) 2021-06-08 18:43:21 +02:00
Oliver Eyton-Williams
440169a7cb feat: conditionally include files (#42205)
Co-authored-by: Shaun Hamilton <51722130+ShaunSHamilton@users.noreply.github.com>
2021-06-05 11:15:13 -07:00