Commit Graph

2252 Commits

Author SHA1 Message Date
a2937
7a904e2e17 chore(a11y): standardize keyboard focus (#49579)
* Create a focus indicator

* Use two different colors for the palletes.

* Use focus-visible instead.

* Remove redundant css

* Use blue-mid for the focus outline color.

* Add a global fallback.

* Clean up the rules some more.

* Remove some bootstrap styling.

* fix: display focus outline on all sides of lower jaw icon buttons

* fix: breadcrumb focus outlines

---------

Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Bruce B <bbsmooth@gmail.com>
2023-03-24 20:31:55 +02:00
Tom
605fdf220a feat(curriculum): make college algebra with python live (#49695) 2023-03-23 21:57:32 +00:00
renovate[bot]
90efc43149 fix(deps): update dependency i18next to v22 (#49799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Sboonny <muhammedelruby@gmail.com>
Co-authored-by: Muhammed Mustafa <muhammed@freecodecamp.org>
2023-03-24 01:02:33 +05:30
Sem Bauke
87d9ade1a7 fix(curriculum,client): move the Euler Project to its own superBlock (#49294)
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
2023-03-23 21:29:13 +05:30
Muhammed Mustafa
fbdc8a7ec1 feat(client): rename portofolio file to portfolio-projects (#49615)
* feat(client): rename portofolio file to protfolio-projects

* squash merge to main

* fix typo in the file name

* use one type for profileProjects

* revert the renaming of portfolio prop

* fix type in the new form Correct function
2023-03-23 12:06:52 +05:30
Ahmad Abdolsaheb
2adaf4c87a feat (client): turn classic show into a functional component (#49491)
* feat: turn classic show into a functional component

* fix: pass redux challengeFiles to components

* feat: add hooks

---------

Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Muhammed Mustafa <muhammed@freecodecamp.org>
2023-03-22 17:54:10 +00:00
renovate[bot]
7ecf6a44bc chore(deps): update jest monorepo to v29 (major) (#49775)
* chore(deps): update jest monorepo to v29

* chore: install jest-environment-jsdom

* chore: update snapshots

* fix: update config to transform nanoid+uuid

* chore: update babel's node target

This does not seem strictly necessary, but is probably for the best.

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-03-21 12:37:23 +00:00
Shaun Hamilton
3dab4261fb fix(client): allow endpoint on projects (#49656)
* fix(client): allow endpoint on projects

* refactor: structure form.tsx code similarly 

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-03-21 09:47:04 +01:00
Muhammed Mustafa
5a2b5f1ed2 fix(client): stop margin from pushing outline out of the container (#49647)
* feat(client): stop margin from pushing outline out of the container

* remove the parent because it was breaking the layout on mobile devices

* sort the mobile and laptop layout

* remove extra property

* Update client/src/components/Header/components/universal-nav.css

* center the logo and fix the extra pixel issue

Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>

* increase padding top

---------

Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
2023-03-21 13:56:04 +05:30
Manabu Matsumoto
9136f8e408 fix(UI): give the spacer a few standard sizes (#49723)
Co-authored-by: Muhammed Mustafa <muhammed@freecodecamp.org>
2023-03-21 08:17:42 +00:00
Ahmad Abdolsaheb
d3396a2017 feat(client): expose nav donate button for non-donor (#49705)
Co-authored-by: Muhammed Mustafa <muhammed@freecodecamp.org>
2023-03-21 13:31:44 +05:30
Muhammed Mustafa
92a5a48534 refactor(client): clean landing page CSS file (#49726)
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
2023-03-21 13:20:44 +05:30
Wenodh
e06ef206d4 fix(client): misaligned quotes on the 404 page (#49744)
Co-authored-by: Muhammed Mustafa <muhammed@freecodecamp.org>
2023-03-21 13:19:22 +05:30
Mrugesh Mohapatra
e1f0ff5b60 chore: rename components in kebab-case (#49737) 2023-03-18 23:03:37 +07:00
Mrugesh Mohapatra
14c05d99fb chore: rename templates in kebab-case (#49738) 2023-03-17 12:56:38 -07:00
Sem Bauke
f578a22c99 fix: disable portfolio description if over 288 characters (#49730)
* fix: description if characters is over 288 characters on portfolio

* feat: add tests

* Update client/src/components/helpers/form/block-save-button.tsx
2023-03-17 12:27:53 +01:00
Oliver Eyton-Williams
a2d8905375 feat: keep log when toggling challenge preview (#49724) 2023-03-16 08:28:35 +07:00
Slieptsov Denys
e64bac9a3f fix(learn): progress bar label alignment (#49659)
Co-authored-by: Denys Slieptsov <denys.slieptsov@leaseplan.com>
2023-03-15 13:15:39 +00:00
Manabu Matsumoto
ba40dbddbb fix(UI): remove the ButtonSpacer (#49480)
Co-authored-by: Muhammed Mustafa <muhammed@freecodecamp.org>
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
2023-03-15 15:31:56 +03:00
sidemt
d3f089474f fix(client): use translated string for 'Certification' in timeline (#49663)
fix(client): use translation for 'Certification' in timeline
2023-03-13 11:59:25 -07:00
Ahmad Abdolsaheb
9340566428 feat(client): turn nav-links component functional (#49690)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Muhammed Mustafa <muhammed@freecodecamp.org>
2023-03-13 13:33:40 +00:00
Ahmad Abdolsaheb
0b21a505fa feat: standardize analytics (#49657)
* feat: standarize analytics

* feat: add experiment view event to GrowthBook
2023-03-13 00:26:10 +07:00
Tom
b950070f80 feat(curriculum): add college algebra cert as upcoming change (#43605)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-10 10:55:50 +00:00
Muhammed Mustafa
74046d1d82 refactor(client): delete honest-Policy file (#49643)
* refactor(client): clean extra element I have added by mistake

* reduce the complexicity of the file
2023-03-10 09:45:29 +01:00
Muhammed Mustafa
86c215acdd feat(client): add type reset (#49628)
* feat(client): add type reset

* downgrade babel types

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

---------

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-03-09 14:25:30 +00:00
Mrugesh Mohapatra
b13713c33f chore(client): rename and update analytics (#49626) 2023-03-08 15:01:22 +00:00
Muhammed Mustafa
32380519f9 feat(client): clean extra CSS properties (#49608)
* feat(client): clean extra css property

* remove the extra panel default property
2023-03-08 08:37:36 +01:00
Shaun Hamilton
f45d8b06dc feat(client): warn endpoint url submission (#49560)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-03-06 16:24:48 +05:30
sidemt
a4ce8fa425 fix(client): prevent word wrap in Chinese & Japanese button text (#49571)
fix(client): prevent word wrap in CJK button text
2023-03-06 16:20:06 +05:30
Muhammed Mustafa
f937e89bc3 feat(client): improve card accessibility (#49566)
Co-authored-by: Bruce B <bbsmooth@gmail.com>
Co-authored-by: Co-authored-by: Bruce B <bbsmooth@gmail.com>
2023-03-06 10:41:09 +03:00
Naomi Carrigan
ec9fb04fb7 feat: statistics calculator (#48181)
* feat: stats calculator to step 23

* feat: complete steps

* feat: starting the tests

* feat: finish tests

* chore: manual review suggestions

* chore: apply jessica's suggestions

Co-authored-by: Jessica Wilkins  <67210629+jdwilkin4@users.noreply.github.com>

* fix: broken mathjax

Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>

* chore: fix typo

Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>

* fix: update regex, clarify first step

* feat: forgot to add solution

* chore: apply sem's review suggestions

Co-authored-by: Sem Bauke <semboot699@gmail.com>

* chore: apply kolade's review suggestions

* chore: apply kris' suggestions

Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>

---------

Co-authored-by: Jessica Wilkins  <67210629+jdwilkin4@users.noreply.github.com>
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Sem Bauke <semboot699@gmail.com>
2023-03-03 17:41:25 +09:00
Oliver Eyton-Williams
d7848ae01a feat: migrate to pnpm for better workspace DX (#49293)
* feat: npm -> pnpm 

This resolves the issues with the gatsby client (gatsby-plugin-pnpm
deals with the fact that gatsby is relying on its own dependencies
being de-duped)
and challenge-editor (which doesn't seem to want to automatically install
codemirror and needed its own eslint config)

* fix: correct mocha path for curriculum tests

* fix: use select workspace with -F not -w

* fix: reorganise packages and restrict hoisting

pnpm works best if the workspaces keep their own dependencies, since
dependencies are not flattened and then what node resolves from a
require is predictable.

@types seem to be a special case and more care is required to prevent
them getting smushed together in the root (hence the .npmrc)

* fix: add types for tools + root

* fix: decouple challenge-auditor from client

* fix: add ui-components types

* fix(client): use the latest types for react 16

* fix: prettify

* fix: prettierignore pnpm-lock

* fix: relax hoisting

Turns out pnpm works just fine with types. I don't know what was going
wrong before, but there are no-longer any type conflicts.

* fix: add @redux-saga/core to fix eslint issue

It seems to only be redux-saga that import/named can't cope with, so it
is probably okay to work around this one.

* chore: add chai to tools/scripts/build

* fix: add store to root for cypress

* fix: allow cypress to download binaries

If we want to keep preventing cypress from downloading binaries, we can
figure out a workaround, but I'm allowing it to ease the transition to
pnpm.

My guess about why this is happening is that npm triggers Cypress's
postinstall script, but pnpm does not (because pnpm install only
installs if necessary, perferring to link)

* chore: re-enable pre/post scripts

* fix: update build scripts for client

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

* chore: update engines to use pnpm


* fix: enable choice of (super)block for tests

Only 'nix machines for now.

* chore: pin pnpm to version 7

* chore: remove last npms

Except web + curriculum-server. I'll update them when I start work on
them again.

* fix: lockfile check to catch any package-locks

* fix(action): install pnpm for upcoming tests

* chore: add nodemon to new api

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-02 18:17:44 +00:00
Oliver Eyton-Williams
66438c271f fix: add more explicit return types (#49567) 2023-03-02 17:26:40 +00:00
Muhammed Mustafa
caad02d1c5 feat(client): make tables in challenges LTR when it's RTL layout (#49543)
Co-authored-by: hbar1st hanaab@gmail.com
2023-02-28 21:45:20 +07:00
David fox
80c40227d9 fix(client): added conditional to check for 0 (#49465)
added condition to stop the render if 0
2023-02-28 13:27:00 +02:00
Muhammed Mustafa
6c4c360139 feat(client): remove the Media component for our Card component (#49278)
* create a desktop version of the card

* finish creating the grid for the cards

* fix the responsive niche cases

* add screen reader text

* add border and account for the added border

Co-authored: Bruce B <bbsmooth@gmail.com>

* add the full width back

* clean and fix values grid columns values

* make the outline block

* use underline because outline overflows out the

Co-authored-by: sembauke <semboot699@gmail.com>

* turn the link into a button

Co-authored-by: sembauke <semboot699@gmail.com>

* fix: web-layout

* fix: mobile-layout

* sort the large text in wide screens

* hide the tool panel

* Revert "hide the tool panel"

This reverts commit 21499f840d.

* change the grid rows to account for big text

* make the card clickable

---------

Co-authored-by: sembauke <semboot699@gmail.com>
2023-02-28 11:00:27 +01:00
a2937
e300a82b84 feat(client): show error, warn, and info in FCC debug console (#49528)
* Allow error,warn, and info to be logged to FCC console.

* Apply DRY principles
2023-02-28 10:50:16 +01:00
Bruce Blaser
baee36ded4 fix(ui): preserve monaco tab trap on resize (#49477)
* fix: preserve tab trap on resizing

* fix: tab trap aria status messages
2023-02-27 17:18:30 -08:00
Lasse Jørgensen
5751d0c28e feat(client): make the new help icon clearer (#49516)
* feat(learn): update help button

* fix: remove space between svgs

* move style objects out of component
2023-02-27 16:23:44 -08:00
xarcode
de87492cf8 refactor(client): togglebutton's layout from float to flex (#49510)
* Refactor the togglebutton from float to flex

* Update toggle-button.css
2023-02-27 18:12:31 +01:00
a2937
a936806a22 Chore (settings) - Rename tabindex to tabIndex (#49519)
* Chore (settings) - Rename tabindex to tabIndex

* Update client/src/templates/Challenges/components/hotkeys.css

Co-authored-by: Bruce Blaser <bbsmooth@gmail.com>

* Fix hotkeys.css

---------

Co-authored-by: Bruce Blaser <bbsmooth@gmail.com>
2023-02-27 08:03:37 +02:00
Muhammed Mustafa
a64e732458 fix(client): default challengeFiles to array (#49474)
* refactor(client): check challengesfile length in the epic

* change the initial state of challenge files to array
2023-02-23 10:18:04 +00:00
Muhammed Mustafa
06fe9b6d16 refactor(client): stop the homepage image from changing the layout (#49476)
refactor(client): stop the homepage from changing the the layout
2023-02-23 14:53:53 +05:30
Muhammed Mustafa
0971b6a8a3 refactor(client): remove react lazy loader library (#49468)
* feat(client): remove react lazy loader library

* fix: use loading='lazy' to defer loading
2023-02-22 18:05:08 +01:00
Muhammed Mustafa
f56816d3e1 refactor(client): fix types in the nav-links file (#49291)
* refactor(client): clean some mistype errors in the nav-links file

* fix showLanguage prop type in the other files

* add-ts-ignore-comment

* swap to map for easier maintainablity

* Change the eslint naming comment

* fix: using the wrong handlekeydown function

Co-authored-by: Bruce B <bbsmooth@gmail.com>

* hide the menu when focus is on the userimage

* hide the menu only if camper didn't press shift key

---------

Co-authored-by: Bruce B <bbsmooth@gmail.com>
2023-02-22 05:36:05 +02:00
Oliver Eyton-Williams
424711fcad fix(client): provide return types for get-completion-percentage (#49458)
fix: provide return types

I also moved the undefined check closer to the source, so it's clearer
what is missing
2023-02-21 07:40:01 -08:00
Jeff
9f1562291c fix: remove unused className spacer from spacer helper (#49067)
* fix: remove unused className spacer from spacer helper

---------

Co-authored-by: jeff <jeff@vpmbp4.local>
2023-02-21 19:20:29 +05:30
Sem Bauke
8c8cf9afab fix: optional video ids the odin project (#49380)
* fix: optional video ids the odin project

* Update client/src/templates/Challenges/odin/Show.tsx

Co-authored-by: Niraj Nandish <nirajnandish@icloud.com>

---------

Co-authored-by: Niraj Nandish <nirajnandish@icloud.com>
2023-02-21 10:13:31 +00:00
Muhammed Mustafa
181e108418 fix(client): submit button size for external projects (#49448) 2023-02-21 07:40:56 +01:00
Shaun Hamilton
e8b010d7e2 fix(client): selector return, invalid prop val (#49447)
* fix(client): correctly return type from selector

* fix(client): remove incorrect prop [button-spacer]
2023-02-20 21:34:34 +02:00