Commit Graph

41 Commits

Author SHA1 Message Date
Naomi Carrigan
a430aa42ef feat(client): styling for project cards (#44771)
* feat: project -> certification project

* feat: add certification icon

* feat: cert project banner

* feat: combine new cert detection methods

* feat: add a dynamic tag

* feat: replace blocks with grid bloks for new RWD

* feat: adjust individual progress bar

* feat: add dropdown icon

* feat: add conditional rendering

* feat: add local and fix cert card link

Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
2022-02-08 19:49:00 -06:00
Shaun Hamilton
9cb87d0257 chore: remove verify-can-claim-cert logic (#44574)
* chore: remove verify-can-claim-cert logic

* remove extraneous

* remove console log before Nich wakes up

* add api route back with flash

* remove unnecessary logic in completion-epic

* change tests for new layout

* dynamically use api location

* rename file

* fix Cypress api location

* fix(test): anchor does not have disabled class

* fix(tests): change js test to claim from /settings

* chore: change status to 410 (gone)

* update testing again

* oliver is nitpicky

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

* make oliver happy

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-01-18 08:52:49 -06:00
Oliver Eyton-Williams
60258d40c9 fix: order import (again) (#44670)
* refactor: reenable import ordering

* refactor: require alphabetic ordered imports
2022-01-05 16:05:50 -06:00
Ahmad Abdolsaheb
cb201a8e8b feat: add grid map (#44557)
* feat: add map grid

* fix: lint/prettier/ts

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-12-23 10:29:52 -06:00
Tom
dfd3fd452d fix: make beta go to RWD superblock instead of learn (#44563) 2021-12-23 19:18:12 +05:30
Oliver Eyton-Williams
fd63bb6f85 feat: mvp features for soft launch (#44539)
* refactor: use enum

* feat: create links between legacy and new

* refactor: pull out legacy-links component

* fix: import order

* fix: provide icon for new superblock

* feat: only show the copy on the new superblock

* fix: use the proper i18n keys correctly

* feat: put the new superblock at the end of the map

* feat: update the new superblock title

* test: update for soft launch order

* fix: show original project links on /settings

Soft launch only.

* test: use SHOW_NEW_CURRICULUM in tests

* fix: rename the remaining rwd-22s

* feat: make the messge prettier

* fix: message copy

* refactor: make comment make sense

Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
2021-12-22 16:53:40 +00:00
Nicholas Carrigan (he/him)
8614db7a32 feat: enable new curriculum (#44183)
* feat: use legacy flag

chore: reorder challenges

fix: linter

revert: server change

feat: unblock new editor

fix: proper order

fix: 0-based order

fix: broke the order

feat: move tribute certification to its own block

feat: split the old projects block into 4

fix: put all blocks in order

chore: add intro text

refactor: use block, not blockName in query

fix: project progress indicator

* fix: reorder new challenges/certs

* fix: reorder legacy challenges

* fix: reintroduce legacy certs

* feat: add showNewCurriculum flag to env

* chore: forgot sample.env

* feat: use feature flag for display

* fix: rename meta + dirs to match new blocks

* fix: add new blocks to help-category-map

* fix: update completion-modal for new GQL schema

* test: duplicate title/id errors ->  warnings

* fix: update completion-modal to new GQL schema Mk2

* chore: re-order metas (again)

* fix: revert super-block-intro changes

The intro needs to show both legacy and new content.  We need to decide
which pages are created, rather than than what a page shows when
rendered.

* feat: move upcoming curriculum into own superblock

* fix: handle one certification with two superBlocks

* fix: remove duplicated intros

* fix: remove duplicate projects from /settings

* fix: drop 'two' from Responsive Web Design Two

* chore: rename slug suffix from two to v2

* feat: control display of new curriculum

* feat: control project paths shown on /settings

* fix: use new project order for /settings

This does mean that /settings will change before the release, but I
don't think it's serious.  All the projects are there, just not in the
legacy order.

* fix: claim/show cert button

* chore: remove isLegacy

Since we have legacy superblocks, we don't currently need individual
blocks to be legacy

* test: fix utils.test

* fix: verifyCanClaim needs certification

If Shaun removes the cert claim cards, maybe we can remove this entirely

* fix: add hasEditableBoundaries flags where needed

* chore: remove isUpcomingChange

* chore: v2 -> 22

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-12-20 12:36:31 -06:00
Prashant
304773d62b fix(i18n): Expand/Collapse Courses Button text (#44528)
* fix(i18n): Expand/Collapse Courses Button text

* Update client/i18n/locales/english/intro.json

Co-authored-by: Ilenia <nethleen@gmail.com>

* Update client/i18n/locales/english/intro.json

Co-authored-by: Ilenia <nethleen@gmail.com>

Co-authored-by: Ilenia <nethleen@gmail.com>
2021-12-20 18:24:09 +01:00
Oliver Eyton-Williams
3b560deab6 refactor: stop spreading challenge over the node (#44499)
* refactor: stop spreading challenge over the node

Instead of creating a Gatsby node with id of challenge.id, we create a
single node field that has all the challenge data.

While this makes the GraphQL queries more verbose, it means we're free
to create multiple nodes with the same challenge.id.

* test: update time-line test for new GQL schema

* test: update mocks with new GQL schema
2021-12-14 12:11:20 -06:00
Nicholas Carrigan (he/him)
42acc542b7 fix: handle uppercase and missing user verification (#44444)
* fix: hotfix for isHonest null

* fix: early return if no user?

* fix: handle invalid input on api

Also lowerCases the username it receives since the client could send any
case.

* fix: report errors to user when verification fails

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-12-10 11:23:26 +00:00
Shaun Hamilton
23e241bbc0 chore(client): tidy Flash by tidying tone (#44320)
* chore(client): tidy Flash by tidying tone

* add store import

* fix enum, remove default switch case

Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>

* typo galore

Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>

* rejig everything, because refactoring is fun 🙃

* refactor: DRY playTone

* fix url to foss library

Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>

* alphabetasize FlashMessage enum

* add all FlashMessages to tone/index.ts

* remove redundant type

* my code is correctnpm run develop:client

* fix: remove circular dependency

* fix: typo

* remove logs, play special tones for nightmode

* play sound on challengeComplete

Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>

Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-12-01 10:45:17 -08:00
Tom
69bb48b7e1 fix: failing CI issues (#44339) 2021-11-30 15:18:54 -06:00
Ismail Tlemcani
845659105f feat(client): ts-migration for Introduction templates (#43752)
* chore: rename the file CertificationCard.js to tsx

* refactor: refactor the file CertificationCard to tsx

refactor: refactor the file CertificationCard to tsx

refactor: refactor the file CertificationCard to tsx

* chore: rename the file ClaimCertSteps.js to tsx

* refactor: refactor the file ClaimCertSteps to TS

* chore: rename the file SuperBlockIntro.js to tsx

* refactor: refactor the file SuperBlockIntro to TS

* chore: rename the file Block.js to tsx

* refactor: refactor the file Block to TS

refactor: refactor the file Block to TS

refactor: refactor the file Block to TS

* chore: rename the file CertChallenge.js to tsx

* refactor: refactor the file CertChallenge to TS

* fix typing

* ignore missing redux store connection

Co-authored-by: ismail <i.tlemcani@quinten-maroc.com>
Co-authored-by: Ismail Tlemcani <ismail.tlemcani@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-11-30 12:36:33 -06:00
Oliver Eyton-Williams
89c94e54e7 chore(client): add and apply naming convention (#44110)
* refactor: remove unused types

* chore: add naming-convention lint rule

* refactor: rename redux proptypes

* chore: remove Type suffix from prop-types

* chore: apply conventions to ajax

* chore: apply convention to create-types

* chore: apply convention to show-project-links

* chore: search-bar

* chore: Hotkeys

* chore: privacy

* chore: portfolio

* chore: search-page-hits

* chore: search-suggestion

* chore: search-hits

* chore: no-hits-suggestion

* chore: timeline-pagination

* chore: various profile files

* chore: heat-map

* chore: portfolio

* chore: certifications

* chore: landing-top

* chore: certifications

* chore: campers-image

* chore: big-call-to-action

* chore: paypal related files

* chore: show-user

* chore: show-settings

* chore: show-certification

* test: rename profile snap

* fix: ignore snake case for stripe card form

* refactor: remove duplicate type declarations

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

* fix: handle null solutions in Timeline

* test: add remaining Profile props

* refactor: revert accidental rename

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-11-11 10:09:50 -08:00
Nicholas Carrigan (he/him)
07bfe87419 feat: add campfire mode (#42663)
* feat: add campfire mode

fix: resolve lint issues

feat: add sound to editor

fix: restore flash messages

fix: linter issues

fix: obey sound setting

Update the editor to obey the camper's sound setting.

chore: apply suggestions from code review

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

fix: use @types/store

fix: linter issues

feat: simplify sound saga

Update client/src/redux/sound-mode-saga.js

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

fix: missing bracket

chore: use new s3 bucket

fix: lint

fix: import only needed bits

fix: remove from navbar

(was intermittently broken here anyway)

fix: dynamic imports?

fix: more dynamic imports

fix: tweak theme logic

chore: boolean | undefined

fix: dns

fix: no hammer local storage

* chore: apply oliver's review suggestions

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

* fix: lost an import

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-10-27 17:50:29 -05:00
Sem Bauke
cfc9b7258d fix(client): cert rendering temporarily (#43335)
* 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>
2021-10-01 10:00:14 +05:30
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
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
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
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
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
Shaun Hamilton
24be225fa4 feat(client): refactor propTypes to TS types (#42278) 2021-06-03 14:23:46 +03:00
Lasse Jørgensen
a73c205e04 feat(client): add optional information block to intro pages (#42091)
* feat: add optional information block to intro pages

* feat: rename to note, add property to all blocks
2021-05-12 11:30:08 +05:30
renovate[bot]
21dd80c47a chore(deps): update dependency prettier to v2.3.0 (#42074)
* chore(deps): update dependency prettier to v2.3.0

* chore: apply formating per prettier

* fix: correctly disable import/no-unresolved

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mrugesh Mohapatra <hi@mrugesh.dev>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-05-10 08:48:49 -07:00
Mrugesh Mohapatra
1805631e4a fix(client): add info circle to claim cert steps (#42060) 2021-05-08 12:54:29 +05:30
Mrugesh Mohapatra
7c4676d0a4 fix(client): quick-fix for cert claiming (#42055)
* chore: reinstate the quick-fix for cert claiming

This reverts commit d80d093c8b.

* feat: add progress to claim cert card
2021-05-07 12:39:42 -07:00
Mrugesh Mohapatra
d80d093c8b revert(client): add quick superblock cert claim steps
This reverts commit e8578341b5.
2021-05-07 02:39:38 +05:30
Shaun Hamilton
e8578341b5 feat(client): add quick superblock cert claim steps (#42031)
* feat(client): add quick superblock cert claim steps

* remove comments
2021-05-06 11:45:19 -07:00
Shaun Hamilton
d3f59e6d5d fix(dev): rename superBlock with v7 to certSlug (#41738)
* fix(dev): rename superBlock with v7 to slug

* improve name slug -> certSlug

* superBlockTitle -> superBlock

* correct teeny, tiny mistake

* fix: correct slug to certSlug in certLocation

* refactor currentCerts

* rename showCert cert -> certSlug and various
2021-04-23 22:29:17 +03:00
Mrugesh Mohapatra
ad9b1f89d8 fix(api, client): update Gatsby, webpack & related things (#41452)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-03-25 12:13:43 -07:00
Shaun Hamilton
3aad0808ed fix(client): fix v7 certlocation (#41565) 2021-03-24 20:28:13 +05:30
Nicholas Carrigan (he/him)
f1c8a9825b fix(i18n,client): translatable cta url (#41384) 2021-03-12 17:14:54 -07:00
Mrugesh Mohapatra
6c91f81b0e chore(deps): upgrade eslint, prettier & related packages 2021-03-11 12:19:42 +05:30
Oliver Eyton-Williams
97fcaa693f refactor: only use dasherized superBlock (#41067) 2021-02-13 10:36:04 +05:30
Tom
32eade41b1 feat(client): improve navigation experience with scrolling (#41042) 2021-02-11 23:52:04 +05:30
Oliver Eyton-Williams
6c1f6bebed feat: label un-audited challenges (#41002)
Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Mrugesh Mohapatra <me@raisedadead.com>
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2021-02-11 18:10:32 +05:30
Ahmad Abdolsaheb
df014a4715 fix(client): add visual hierarchy to card blocks (#40822) 2021-01-31 12:15:41 +05:30
Kristofer Koishigawa
9ec8aa3db4 fix: update intro pages and learn map (#40745) 2021-01-31 12:15:39 +05:30
Kristofer Koishigawa
2615490bac fix(learn): update copy for cert landing pages
* fix: update copy for certification landing pages (#40744)

* fix: broken ci tests (#40746)

Co-authored-by: Quincy Larson <QuincyLarson@users.noreply.github.com>
2021-01-31 12:15:39 +05:30
Tom
625469c82f feat: improve ui/ux learn map (#40579)
Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
2021-01-31 12:15:39 +05:30