Commit Graph

207 Commits

Author SHA1 Message Date
Anirudh Modi
ef3b7ec955
chore(eslint): enables recommended eslint rules for testing-library and jest-dom (#42817) 2021-07-20 21:21:16 +07:00
Tom
292482792e
update(curriculum): Change advanced bash tutorial title to new title (#42885)
* rename: advanced bash file

* rename: all instances of advanced bash tutorial to new title
2021-07-20 00:17:11 +05:30
ABHINAV SHARMA
e2ca65c803
feat(client): ts-migrate layoutSelector component (#42748) 2021-07-12 14:05:01 +07:00
gikf
59191d581f
fix(client): allow regex to match windows-like paths (#42720)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-07-06 12:10:53 +05:30
Tom
918d5a160d
feat(client): ts-migrate challenge templates/show components (#42553) 2021-06-30 20:50:56 +05:30
Oliver Eyton-Williams
1db9a123ae
fix(client): handle challenge creation (#42272)
This lets us create new challenges/steps without having to restart the
client
2021-06-28 13:38:11 +05:30
Ahmad Abdolsaheb
b3f2c64de8
fix(client): remove algolia and hot keys modules from landing pages (#42394)
* fix(client): remove algolia and hot keys from landing pages

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-06-24 12:50:36 +03:00
Huyen Nguyen
2c16234853
chore: add jest global variables (#42573) 2021-06-20 09:14:42 +02:00
Tom
067761f2f6
feat(curriculum): add relational databases cert as upcoming change (#41658) 2021-06-15 16:37:13 +01:00
Oliver Eyton-Williams
bd4d46915a
feat(curriculum): add project creation tool (#42410)
* refactor: extract help category map as JSON

* refactor: extract block names as json

* feat: add create-project script

* fix: correct case for tsconfig target

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

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-06-09 00:57:45 +05:30
saeed
66c5523909
feat: render footer correctly (#42096)
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
2021-05-24 00:30:07 +02:00
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
Ahmad Abdolsaheb
27c8d564e4
fix(client): replace Stripe with PayPal (#41924)
* feat: remove stripe payment option from client

* feat: remove stripe completely

* fix: remove last Stripe remnants

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-05-03 11:45:23 +03:00
Oliver Eyton-Williams
669844527c
chore: remove unused code (#41878) 2021-04-22 11:36:56 +03:00
Ahmad Abdolsaheb
cbf088595c
feat: add gap scripts for production and staging (#40807)
* feat: set gap

* feat: add gap script conditionally

* feat: add 2.16.2 script

* feat: add initial tests

* feat: add dev and chinese gap scripts

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-04-16 14:29:53 +05:30
Oliver Eyton-Williams
740370eb60
refactor: explicit mocking for analytics (#41562)
The previous approach did avoid a fair number of jest.mock calls, but
made debugging the tests harder. If you don't know about the mapping
it's unclear why the imported module does not behave as normal.

By forcing the use of jest.mock it means that the answer to that
question is in the test you are working on.
2021-03-29 16:48:58 -07: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
Mrugesh Mohapatra
6c91f81b0e chore(deps): upgrade eslint, prettier & related packages 2021-03-11 12:19:42 +05:30
Oliver Eyton-Williams
f8699a8d55
refactor: simplify challenge.block usage (#41185) 2021-02-23 09:52:48 +05:30
Ahmad Abdolsaheb
b57e268329
fix(client): add tests for layoutSelector (#41047) 2021-02-18 10:41:05 +05:30
Oliver Eyton-Williams
97fcaa693f
refactor: only use dasherized superBlock (#41067) 2021-02-13 10:36:04 +05:30
Ahmad Abdolsaheb
b45e78d1ee
fix(client): adjust layoutSelector for i18n (#41005) 2021-02-09 11:21:27 +05:30
Oliver Eyton-Williams
fffc0e51ec
chore(client): refactor & organise config (#40875) 2021-02-03 15:22:07 +05:30
Nicholas Carrigan (he/him)
1a642ba542
feat(i18n, client): migrate meta translations (#40885) 2021-02-03 13:33:52 +05:30
Ahmad Abdolsaheb
13a248ba2b
fix(client): landing and donate page night mode friendly (#40883) 2021-02-03 00:49:27 +05:30
Ahmad Abdolsaheb
4879d26604 fix(client): inject bootstrap tags to the top of head (#40804) 2021-01-31 12:15:40 +05:30
Ahmad Abdolsaheb
3ec468be38 feat: optimize head tags (#40630)
Co-authored-by: moT01 <20648924+moT01@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
Kabindra Shrestha
ac3d762bb5 fix(learn): split and simplified learn map (#39154) 2021-01-31 12:15:35 +05:30
Oliver Eyton-Williams
24d9c94fe5 refactor: remove confusing abstraction 2021-01-31 12:15:34 +05:30
Tom
3978c6be28 feat: i18n user interface (#40306)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-01-31 12:15:32 +05:30
Oliver Eyton-Williams
e4a9b2988c
feat: update Ask for help (#40114)
* feat: get helpCategory from frontmatter

* DEBUG: sets all the projects to JavaScript

This is just so the tests pass, it'll need to go.

* fix: updated helpCategoryMap categories

* fix: added Python to helpCategory frontmatter key

Co-authored-by: Randell Dawson <rdawson@onepathtech.com>
2020-10-30 14:10:34 -05:00
Oliver Eyton-Williams
9718244431
fix: watch curriculum changes 2020-09-29 22:09:02 +02:00
Oliver Eyton-Williams
4b14f9297b
fix: source certificates into Gatsby (#39648)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Shaun Hamilton <51722130+Sky020@users.noreply.github.com>
2020-09-24 16:04:35 +05:30
Randell Dawson
06da30e48a feat(learn): Basic CSS Cafe Menu instructions and hints/tests (v7) (#39407)
* feat: created step instructions for cafe menu

fix: added instructions to steps 1-31

fix: changed steps 29-31

fix: added instructions for steps 32-42

fix: changed prototype class definition

fix: padded file names

fix: added instructions for steps 43-61

fix: add object id to final.md and final prototype to meta.json

fix: correct typos in steps 26 and 27

fix: misc wording changes

fix: added forward slash to closing html tag

fix: added instructions for steps 62-75

feat: added instructions to steps 76-79

fix: added FOOTER comment for steps 68-75

fix: add steps 68a and 68b

fix: add steps 69a and reorder steps

fix: added instructions to the final steps

* fix: remove final.md

* fix: fixed typo of menue to menu

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

* fix: changed wording to improve readability

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

* fix: changed wording to improve readability

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

* fix: changed wording to improve readability

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

* fix: combined two lines into same paragraph

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

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2020-09-16 11:54:13 +05:30
Randell Dawson
fd6f8b5cd4 feat(learn): Update Basic HTML Cat Photo App project descriptions and hints and tests (v7) (#39131)
* feat: added Cat Photo App project

Added new steps

feat: add tests + targetted hints for demo

simplify wording and combine some tests

feat: update text and add tests/hints

fix: changed descriptions and tests

feat: added tests for part 11 - 15

fix: reworded description for steps 2 and 10

fix: changed isBeta to isHidden

fix: temporarily remove fcc-editable strings

fix: added project to challengeTypes.js

fix: added missing parentheses

fix: test text improvements

fix: changes to tests and text discussed in meeting

fix: adjust logic for detecting indentation in part 07

fix: missing regex characters and made last test more permissive for part 04

feat: add steps 25 to 55 and notes

fix: added h1 element back to steps 5-24

fix: h1 and h2 elements from steps 25 to 50

fix: added missing DOCTYPE declaration steps 20-24

fix: miscellaneous text edits

fix: break up part 28, change local paths for images to short s3 cdn URLs

fix: part 01 and 02 descriptions and tests

feat: pull in changes from #39145 and remove solution sections

fix: adjust descriptions and break up steps 33 and 35

fix: break up more steps and adjust text

feat: add tests for parts 25 - 30

* fix: ran reorder-steps.js

* fix: added editable region markers

* fix: standardize opening tag hint text

* fix: remove trailing periods from descriptions and hints and adjust tests

* fix: remove unnecessary instructions sections

* fix: added test to check for only one h1 element

* fix: removed comma

* fix: changed paragraph element to `p` element

* fix: added test for extra h1 element

* fix: test to validate only one img element exists

* fix: replaced code tags with backticks

* fix: reworded description

* fix: reworded step description

* fix: changed tests for first step

* fix: change last two alt values to sentences

* fix: check for spaces in text strings

* fix: removed extra dot before replace method

* fix: moved example before instruction

* fix: rearranged step 6 tests

* fix: capitalized p in paragraph

* fix: rewored step 7's description and a test text

* fix: corrected test for step 8

* fix: improved step 9 tests

* fix: moved example above instruction

* fix: corrected step 9 test wording

* fix: rearrange test order for step 10

* fix: moved example before instructions for step 11

* fix: improved step 12 descripton and tests

* fix: corrected tests for steps 9, 10, 11, 13, 14

* fix: added ERMs to steps 4-14

* fix: minor typos

* fix: reword steps so examples are above instructions

* fix: introduce inline and block elements and use divs instead of br

* fix: add or adjust tests for steps 15 - 27

* fix: moved ERM up one line

* fix: removed unnecessary quotes in tests' text

* fix: added dfn tags for step 45

* fix: removed adding # to href step

* fix: tests 15 - 16

* fix: reword descriptions so they're not as hand holdy

* fix: reorder/reword steps 58 - 60

* feat: simplify radio button steps

* fix: wording and add demo step

* fix: remove doctype and teach in last step

* fix: update part-demo

* fix: added some more step 15 hints

* fix: added step to introduce section elems

* fix: added section elements to project

* fix: update final code

* fix: update tests for 15a and 16

* fix: add section elements to parts 45 to 61

* fix: change p elements to h3, update tests and text

* fix: added new test for step 9

* fix: fixed/added tests for steps 15-30a

* fix: use fieldset elements instead of divs in the form

* fix: added new test to setp 30a

* fix: changed `main` to `section`

* fix: corrected/added tests for step 31

* feat: add tests 32 - 36

* fix: revert change to js rpg game

* fix: simplify tests 32 - 36

* fix: updated submit-cat-form url

fix: changed submit-cat-form url

* fix: added/rearranged tests steps 32-36

* fix: added tests for step 36a

* fix: used hasAttribute where applicable

* fix: misc edits for steps 10 and 35-36a

* fix: add tests to step 37

* fix: reworded step 37

* fix: added more verbiage to steps 35 and 36

* fix: modified step 38 desc and added tests

* fix: added hints/tests for step 40

* fix: added hints/tests for step 41

* fix: added hints/tests for steps 42 and 43

* fix: made attribute values match exactly

* fix: change wording from text input to text field

* fix: rearrange name attribute lessons

* feat: tests for 44 - 44b

* fix: added a step  35a

* fix: added name="catphotourl" to steps 36-61

* fix: reworded steps 41 and 43

* fix: removed intro to for attribute

* fix: rewrite of step 44b's desc and tests

* fix: added step 45 hints/tests

fix

* fix: removed for attribute from steps 45a-61

* fix: removed extra )

* fix: wrapped "section" with backticks

* fix: added test for steps 45a and 45b

* fix: adjust position of label steps 55-61

* fix: removed conole.log statements

* fix: added tests to step 45c

* fix: renamed step 49 to step 46a

* fix: moved label element for steps 48-53

* fix: reworded step 47 description and instructions

* fix: typos in description and test text

* feat: add tests 46-48

* fix: wording

* fix: remove case insensitivity from a couple of tests

* fix: wording and add erms

* fix: add additional test for step 48

* fix: added hints/tests for step 50

* fix: added hints/tests for step 51

* fix: added hints/tests to step 53

* fix: added hints/tests for step 55

* fix: added hints/tests for step 56

* feat: tests for 57-61

* fix: removed duplicate test in step 55

* fix: adjusted 1st test for step 57

* fix: simplified test for title text

* fix: improved tests for step 60-61

* fix: removed demo.md file

* fix: ran reorder-steps.js

* fix: part 10 description

* fix: part 14 description

* fix: part 24 - move ERMs

* fix: part 05 description

* fix: part 54 test text

* fix: part 06 - wording and add test for p and main closing tag order

* fix: part 50 - add test to check for order of fieldset elements

* feat: value attribute for radio buttons step and seed changes

* feat: value attribute for checkboxes step and seed changes

* fix: update part 14 description

* fix: revert ERMs for part 24

* fix: remove last test in part 06

* fix: text and typos for new radio and checkbox lessons

* fix: text and typos for new radio and checkbox lessons

* fix: add test to part 01

* fix: ran reorder-steps.js

Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
2020-09-16 11:54:09 +05:30
Oliver Eyton-Williams
754a33970e refactor(multi) move preparation into curriculum 2020-09-16 11:54:05 +05:30
Kris Koishigawa
4f1be63055 feat(learn): sync master and next-curriculum branches 2020-09-16 11:54:01 +05:30
Kristofer Koishigawa
c648a595df fix: intermediate js calorie counter challengeType (#38270) 2020-09-16 11:54:01 +05:30
Tom
977701937b Feat: add d3 dashboard project to next curriculum (#38028)
* feat: add d3 dashboard project to next curriculum
2020-09-16 11:54:01 +05:30
lmilliken
39b0afd5f0 feat: tests for calorie counter 2020-09-16 11:54:00 +05:30
Kristofer Koishigawa
d3d5147c1f fix: renamed files and titles in the frontmatter for consitency (#37792) 2020-09-16 11:53:59 +05:30
Ahmad Abdolsaheb
d9dad10f43
feat(client): shinny new landing page 🎉 (#39400)
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2020-08-24 23:36:40 +05:30
Kristofer Koishigawa
77df0e32cd
feat(learn): rename certificates, cert slugs, and cert flags (#39026) 2020-06-15 21:51:30 +05:30
Oliver Eyton-Williams
b4926052f4
chore: refactor and simplify testing (#39050) 2020-06-13 14:57:15 +05:30
Oliver Eyton-Williams
d233cb35a3
fix(client): ensure validation works during watch (#38936) 2020-05-28 20:54:29 +05:30
Beau Carnes
3a653438fc Feat: add python security video course (#38683) 2020-05-27 13:19:14 +05:30
Beau Carnes
256ed00fb9 feat(learn): split InforSec and QA into individual certs (#38347)
Co-authored-by: Mrugesh Mohapatra <me@raisedadead.com>
Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
2020-05-27 13:19:12 +05:30
Tom
379f6f89ca fix(learn): tests for python video lessons (#38600)
* fix: improve tests for video challenges

* fix: remove unused challenges + get rid of no description warning

* fix: remove non-existent challenges from meta
2020-05-27 13:19:11 +05:30
Tom
63fe67e53f feat: add video lessons to db on submit + update UI (#38591)
* feat: add video lessons to db on submit + update UI

* feat: delete CompletionVideoModal

* feat: clean up component + add comments

* feat: remove comment

* feat: remove log

* feat: remove log

* fix: update buttons + fix some testing

* fix: remove unused selector
2020-05-27 13:19:10 +05:30
Beau Carnes
e776529ed0 feat(learn): add python video challenges (#38424) 2020-05-27 13:19:09 +05:30
mrugesh
22afc2a0ca feat(learn): python certification projects (#38216)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Beau Carnes <beaucarnes@gmail.com>
2020-05-27 13:19:08 +05:30
Oliver Eyton-Williams
48532d6ccb fix: hide isHidden challenges from hotkey nav 2020-05-25 16:25:19 +05:30
Oliver Eyton-Williams
68aef571ee feat: hide isHidden challenges 2020-05-25 16:25:19 +05:30
Mrugesh Mohapatra
421bbdefbe
fix(client): add footer on learn home (#38830) 2020-05-19 12:50:15 +05:30
Josh Soref
004b99bf8f chore: fix typos in spelling (#38100)
* spelling: accidentally

* spelling: announce

* spelling: assembly

* spelling: avoid

* spelling: backend

* spelling: because

* spelling: claimed

* spelling: candidate

* spelling: certification

* spelling: certified

* spelling: challenge

* spelling: circular

* spelling: it isn't

* spelling: coins

* spelling: combination

* spelling: compliant

* spelling: containers

* spelling: concise

* spelling: deprecated

* spelling: development

* spelling: donor

* spelling: error

* spelling: everything

* spelling: exceed

* spelling: exist

* spelling: falsy

* spelling: faulty

* spelling: forward

* spelling: handle

* spelling: indicates

* spelling: initial

* spelling: integers

* spelling: issealed

* spelling: javascript

* spelling: length

* spelling: maximum

* spelling: minimum

* spelling: mutable

* spelling: notifier

* spelling: coordinate

* spelling: passport

* spelling: perform

* spelling: permuter

* spelling: placeholder

* spelling: progressively

* spelling: semantic

* spelling: submission

* spelling: submit

* spelling: translations

* spelling: turquoise

* spelling: visualization

* spelling: without

* spelling: registration

* spelling: representation
2020-02-08 23:59:10 +05:30
Oliver Eyton-Williams
c6eb40ceef
feat: remove protection from interview prep (#38136)
The interview prep section includes many challenges that require long
running calculations which can be mistaken for infinite loops. This
removes the loop protection from those challenges, while the tests are
being evaluated.

It keeps the protection for the preview, since it is easy to create
broken code while working on a challenge and that should not crash the
site.
2020-02-04 10:33:56 +05:30
mrugesh
059e826465
fix: remove all year-end gift implementation (#38030) 2020-01-09 02:37:50 +05:30
Ahmad Abdolsaheb
1289d35435
fix: show default theme for donation related pages (#37956)
* fix: show default theme for donation related pages

* feat: add default theme to stripForm
2019-12-18 17:40:48 +03:00
Ahmad Abdolsaheb
a9bbcda211
feat(donate):add donation modal and certification message (#37822)
Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2019-12-02 15:48:53 +03:00
Mrugesh Mohapatra
f737b24b6f feat(donate): remove themes from donate pages 2019-11-19 22:28:05 +05:30
Tom
5ca2d2467a fix: make help button use subforum topics (#37741)
* fix: make help button use subforum topics

* fix: add test to check that block exists

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

* fix: improve error message

* Update curriculum/test/test-challenges.js

Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2019-11-15 23:03:08 +05:30
Ahmad Abdolsaheb
55a4cadf2a fix: clean failed challenges (#37526) 2019-11-04 19:20:14 +05:30
mrugesh
2e82c76b53
Revert "feat: load scripts conditionally based on path " (#37351)
This reverts commit 87be96a244.
2019-10-17 02:41:33 +05:30
Ahmad Abdolsaheb
87be96a244 feat: load scripts conditionally based on path (#37344) 2019-10-17 00:44:53 +05:30
Oliver Eyton-Williams
9c2f1ffd82 refactor: combine slug utils into one module 2019-09-26 22:15:27 +05:30
mrugesh
5d92b3c668 fix: project views and icons for intros (#36811) 2019-09-19 10:14:58 +03:00
Ahmad Abdolsaheb
9ff7bf5801 feat: simplify landing page 2019-09-04 18:23:21 +05:30
Oliver Eyton-Williams
67d49efd1e fix: remove redundant helper and guide code from Header 2019-07-26 19:40:46 +05:30
Mrugesh Mohapatra
0124e7556d fix: removed all guide bits from gatsby 2019-07-26 19:40:46 +05:30
Tom
8757deb56c feat(client): add prev next btns to lessons (#35485)
* feat/add-prev-next-btns-to-lessons

redirect to learn instead of home

* fix/button-css-properties

* fix/change-buttons-to-suggested

* fix/add-tests+change-button-to-link

Co-authored-by: ojeytonwilliams ojeytonwilliams@gmail.com

* Revert "fix/add-tests+change-button-to-link"

This reverts commit ae26504d1d.

* fix/add-tests+change-button-to-link

Co-authored-by: ojeytonwilliams <ojeytonwilliams@gmail.com>
2019-07-18 15:16:00 +05:30
Valeriy
839e81426e feat(client): show and execute backend project tests (#35673) 2019-06-11 21:16:36 +05:30
Valeriy S
73961da21a fix(client): always show footer on 404 page 2019-06-11 20:28:51 +05:30
Bouncey
15f18d1cda fix: Dedupe layout selection logic 2019-06-08 03:16:28 +05:30
moT01
ebe420c099 feat(guide): add footer link to article source on GitHub
fix/suggested-changes
2019-05-02 15:30:39 -07:00
jnguyen0220
414219965d fix: adding f to the featureImage source (#35758)
<!-- Please follow this checklist and put an x in each of the boxes, like this: [x]. It will ensure that our team takes your pull request seriously. -->

- [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md).
- [x] My pull request has a descriptive title (not a vague title like `Update index.md`)
- [x] My pull request targets the `master` branch of freeCodeCamp.
- [x] None of my changes are plagiarized from another source without proper attribution.
- [x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
- [x] My changes do not use shortened URLs or affiliate links.

<!--If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.-->

Closes #35749
2019-04-04 10:54:31 +05:30
Bouncey
b13e5fb41a feat: Use prettier-eslint to format code 2019-02-19 14:30:27 +05:30
Valeriy
6a93b44aca feat(client): use custom components for guide articles 2019-02-14 09:33:53 +00:00
Valeriy
dd41028f5b fix(client): replace decodeHTMLEntities to entities package 2019-01-28 12:02:45 +00:00
Mrugesh Mohapatra
fdc2219f81 feat: remove news from platform 2019-01-16 13:48:38 +00:00
Valeriy
261b1e197f fix(client): proper link to the guide for a hint button 2019-01-16 10:55:22 +00:00
Akhilesh Halageri
ed5b434ad1 Merge pull request #34510 from akhileshh/master
fix: Fixes  api word capitalization freeCodeCamp
2018-12-03 09:56:18 +00:00
Stuart Taylor
d327a5c36b Feat: News in the client app (#34392) 2018-11-29 15:12:15 +03:00
Valeriy
088cbb684e fix: watch challenges 2018-11-28 15:19:38 +00:00
Valeriy
4c1b8ce52c fix: replace localeChallengesRootDir to getChallengesDirForLang 2018-11-28 15:19:38 +00:00
Stuart Taylor
cee98aef43 feat: watch challenges (#34321) 2018-11-16 23:52:52 +05:30
Stuart Taylor
7da04a348b fix: Update packages and fix local dev (#26907)
<!-- Please follow this checklist and put an x in each of the boxes, like this: [x]. It will ensure that our team takes your pull request seriously. -->

- [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md).
- [x] My pull request has a descriptive title (not a vague title like `Update index.md`)
- [x] My pull request targets the `master` branch of freeCodeCamp.
2018-10-23 18:48:46 +05:30
Mrugesh Mohapatra
a5ba2f1086 fix: add env var to build language files 2018-10-09 16:46:14 +05:30
Valeriy
6c3b9b616d fix(learn): path to Intros 2018-10-07 08:54:52 +01:00
Bouncey
b22c719651 fix(source-plugin): Switch out gatsby-source-filesystem 2018-10-05 15:58:12 +01:00
Bouncey
6e728ce16d feat(guide): Import guide in to the client app 2018-10-05 15:58:12 +01:00
Bouncey
e7e69081b6 chore(challenge): Remove unsed help field 2018-09-30 23:24:46 +01:00
Bouncey
5b254f3ad6 chore(learn): Merge learn in to the client app 2018-09-30 12:42:40 +01:00
Bouncey
77a4452437 feat(certs): Convert certification views to gatsby 2018-09-04 19:40:07 +05:30
Bouncey
e59ad6ebda chore(client): Move client app to /client 2018-09-03 17:47:48 +05:30
Stuart Taylor
156ea1af76 Feat: Welcome Page (#17150) 2018-05-15 10:42:05 +05:30
Berkeley Martinez
2e410330f1 Feat(Challenges): no js preview (#16149)
* fix(files): Decouple files from challenges

* feat(server/react): Remove action logger

use redux remote devtools instead!

* feat(Challenges): Disable js on edit, enable on execute

* feat(Challenge/Preview): Show message when js is disabled

* refactor(frameEpic): Reduce code by using lodash

* feat(frameEpic): Disable js in preview by state

* feat(frameEpic): Colocate epic in Challenges/redux

* refactor(ExecuteChallengeEpic): CoLocated with Challenges

* refactor(executeChallengesEpic): Separate tests from main logic

* feat(Challenge/Preview): Update main on edit

* feat(frameEpuc): Replace frame on edit/execute

This allows for sandbox to work properly

* fix(Challenges/Utils): Require utisl

* revert(frameEpic): Hoist function to mount code in frame

* fix(frameEpic): Ensure new frame is given classname

* feat(executeChallenge): Update main on code unlocked

* fix(frameEpic): Filter out empty test message

* fix(Challenge/Preview): Remove unnessary quote in classname

* feat(codeStorageEpic): Separate localstorage from solutions loading

* fix(fetchUser): Merge user actions into one

prefer many effects from one action over one action to one effect

* fix(themes): Centralize theme utils and defs

* fix(entities.user): Fix user reducer namespacing

* feat(frame): Refactor frameEpic to util

* feat(Challenges.redux): Should not attempt to update main from storage

* fix(loadPreviousChallengeEpic): Refactor for RFR

* fix(Challenges.Modern): Show preview plane
2017-12-07 18:13:19 -06:00
Berkeley Martinez
dced96da8e feat: react challenges (#16099)
* chore(packages): Update redux utils

* feat(Panes): Invert control of panes map creation

* feat(Modern): Add view

* feat(Panes): Decouple panes from Challenges

* fix(Challenges): Decouple challenge views from panes map

* fix(Challenge/views): PanesMap => mapStateToPanesMap

This clarifies what these functions are doing

* fix(Challenges): Add view type

* fix(Panes): Remove unneeded panes container

* feat(Panes): Invert control of pane content render

This decouples the Panes from the content they render, allowing for
greater flexibility.

* feat(Modern): Add side panel

This is common between modern and classic

* feat(seed): Array to string file content

* fix(files): Modern files should be polyvinyls

* feat(Modern): Create editors per file

* fix(seed/React): Incorrect keyfile name

* feat(Modern): Highligh jsx correctly

This adds highlighting for jsx. Unfortunately, this disables linting for
non-javascript files as jshint will only work for those

* feat(rechallenge): Add jsx ext to babel transformer

* feat(seed): Normalize challenge files head/tail/content

* refactor(rechallenge/build): Rename function

* fix(code-storage): Pull in files from localStorage

* feat(Modern/React): Add Enzyme to test runner

This enables testing of React challenges

* feat(Modern): Add submission type

* refactor(Panes): Rename panes map update action
2017-11-29 17:44:51 -06:00
Berkeley Martinez
42bfa2e64d feat(app): new layout (#14707)
* feat(app): Restructure app to be more flexible and redux idiomatic

BREAKING CHANGE: Lots of breaking changes

* refactor(challenges): Redux to started file structure

* fix(app): lint issues due to refactor

* fix(settings): Refactor settings to use folder structure

* refactor(challenges): Move step redux stuff into step folder

* fix(challenges): Remove fetchchallenges actions

* refactor(challenges): Move project redux logic into project view subdirectory

* refactor(app): %s/sagas/epics/g

* refactor(redux): Use new redux-epic with combineEpic and ofType

* refactor(app): Move challenge selector to app level

* fix(app): Move loading challenge info into challenge route

This moves a lot of the logic needed to load challenge info into the challenge app. This decouples
the main app from the challenge route

* refactor(map): Map is now decoupled from challenges

* refactor(challenges): Use selectors everywhere instead of guessing state shape

* refactor(client): refactor client epics to use selectors

* refactor(app): Refactor userSelector to return user object instead of object.user

* refactor(entities): Move entities logic into it's own file

* fix(redux): combineTypes should be combineActions

* fix(app): reducer namespacing and import

* fix(Map): Fix undefined type and update redux-action

* fix(redux): Refactor fetchUser to be more declarative

Use rxjs methods instead of imperative if/else. Also prevent non-actions from being emitted

* fix(redux): toString multi phase action types

* fix(redux): typecast multiphase type, fix typo in reducer

toString multiphase types in fetch challenge epic. Add epic to epics lists. Fix type in fetch
challenge complete handler

* fix(redux): updateCurrentChallengelogic should be centerlized

Move route changes to one location.

* fix(Nav): Prevent event object from hanging around

closeDropDown/openDropDown where handing on to the event object. This was causing issues with react
since event objects are recycled in React.

* fix(Map.Challenge): decouple map selector

* fix(Map): Decouple panel selectors from props

Panel Selectors no longer need to know the shape of a components props. Refactored component
selectors to decouple them entities state shape

* fix(Map.redux): Add select challenge epic and connect map epics

* fix(redux.analytics): Fix meta creator and nav/map events

* fix(redux): Update current challenge ajax

* fix(challenges): ssr fetch challenge should update challenge ui

Was using an epic to update challenge ui on fetch complete, but this was not working on ssr due to
the way ssr disables epics to wait for completion. This commit fixes this by causing the complete to
directly update state in the challenge ui

* fix(challenges): wrong import of types, refactor epic name

* fix(redux): Prevent fetch challenge epic from emitting null to dispatch

* fix(redux): prevent executechallenge from emitting null

* fix(challenges.redux): testsSelector returns just tests

* fix(challenges.redux): Prevent completion challenge from emitting null

* refactor(Challenges.Step): Refactor step challenge to release event object

* fix(redux): wrap reducers in factories
reducers exported from features need to be factories
this helps avoid cyclic requires messing up reducer creation
We end up with exports from files being undefined as node tries
to resolve cyclic dependencies.
This prevents that by wrapping the `handleActions` call so that the ref
to types imported from parent features are closures and can be resolved
by node before we need them.

* fix(Map): createUi not working correctly

map utils should receive just map ui state, createMapUi needs to add title to challenge

* feat(Challenges): Adds Panes and panes backend challenge

* fix: Create child container to wrap children

Create a ChildContainer comp' to wrap all children that represent the view for the current route.
This let's the child route define if they want a full width view or if they want the standard
max-width view.

* feat(Panes): panes now render dividers

* feat(Panes): Get divider to move currectly

* fix(Nav): Add top margin to contained childs

Move margin-bottom from nav to child container as margin top. This let's the jsbin style views fit
snug with navbar

* fix(Panes): Should be contained within their borders

* feat(Panes): Update navbar height of pane on app mount

* feat(Panes): Toggle map on map nav btn click

* fix(gulpfile): Ensure nodemon exits on restart

On process exit, wait for nodemon to shutdown before process.exit

* feat(Panes): Make Panes redux first

* fix(Panes): Fix divider positioning

* fix(Panes): Update divider moved handler

dividerMoved action now uses new panesByName structure

* feat(Panes): Pane nav button will hide panes

* chore(package-lock): Update package lock

* feat(Panes.redux): Recaculate dividers on pane toggle

* fix(Challenges): Update challenge on dashedName change

This fixes backwards navigation not updating the redux state current
challenge

* feat(Panes.redux): Clear panes on unmount

Clearing panes on unmount will clear bin buttons in nav

* refactor(Map): Colocate styles

* feat(Map): New map layout

* fix(Map): No longer has it's own page

* fix: FetchChallenges on appMounted

* feat: Normalize fetchChallenge(s) results

This allows superblocks to be sent with both fetchChallenge and
fetchChallenges so the map is always populated on first load

* feat(Map): Show blocks on first load

* fix(less): Remove old css

* feat(Nav): Reduce nav height

* fix(Nav): Render nav after content

Render nav after content and use css to reverse again on screen. We do
this so the panes can render first and update redux panes state which
will then update the nav ui state before nav has a chance to render

* fix(Panes): Add container

This adds a Panes Container that will allow it to udpate redux state so
Panes Component will have redux state ready to actually render panes

* feat(Challenges.Classic): Add panes

* fix(Challenge.Classic): Editor onchange should not need to know about file

* fix(Panes): Index on panes hide should account for hidden pane

* fix(Challanges.Classic): Fix panes types

* fix(Challenges): Add completion modal to all challenges

Change classic modal to completion modal

* fix(Panes): Dividers live on top of planes

* fix(Challenges): Remove codemirror theme

Remove codemirror theme and remove borders from preview frame

* fix(Challenges.Classic): Remove old component

* feat(Challenges.Step): Add panes to step challenge

* feat(Challenges.Project): Add panes to projects

* fix(Challenges.Projects): Remove row

* fix(Modals): Move modal text color to challenge less

This text color is dependent on the actual header color

* fix(Map): Use Superblock title for ui

* fix(Map): Reduce panel header height

* fix(app): Capitalize Toasts folder

Feature folders should be campitalized

* chore(Map): Remove unused epic file

* fix(Step): Fix tests

* test(Map): Update createMapUi tests input
2017-07-31 22:04:01 -05:00
Berkeley Martinez
ee8ac7b453 feat(rechallenge): Retool challenge framework (#13666)
* feat(rechallenge): Retool challenge framework

* fix(code-storage): should use setContent not updateContent

* fix(rechallenge): fix context issue and temporal zone of death

* fix(rechallenge): Fix frame sources for user code

* fix(polyvinyl): Set should ignore source and transform should keep track of source

* fix(rechallenge): Missing return statement causing issues
2017-04-28 20:30:23 -05:00
Berkeley Martinez
f1d936198e feat(challenges): add backend challenge infrastructure (#11058)
* Feat: Initial backend view

* Feat: Refactor frame runner

* Feat: backend challenge submit runs tests

* Feat: Backend challenge request

* Feat: Whitelist hyperdev in csp

* Fix: Use app tests instead of challenge tests

* Feat: Allow hyperdev subdomains

* Fix(csp): allow hypderdev.space subdomains

* feat(challenge): submit backend

* feat: Add timeout to test runner (5 sec)

* chore(seed): Add more to test backend

* fix(csp): s/hyperdev/gomix/g

* fix(app): fix code mirror skeleton filepath

* fix(app): remove Gitter saga import

* fix(app): codemirrorskeleton does not need it's own folder
fix(app): cmk needs to work with Null types

* fix: No longer restart the browser when challenges change

* fix(app): Update jquery for challenges

* fix(seed): Remove to promise jquery call

* fix(lint): Undo merge error
undefined is no allowed

* fix(app): linting errors due to bad merge

* fix(seed): Remove old seed file
2017-01-26 23:07:22 -06:00
Stuart Taylor
496c648f46 Fix: Lang routes persist between sessions 2016-11-29 23:10:08 +00:00
Berkeley Martinez
9d1e8c5a33 chore(toasts): refactor and test flash to toast logic 2016-09-01 18:46:09 -07:00
Berkeley Martinez
fb9c1001b0 Fix(code-uri): use href instead of search to remove code uri 2016-08-18 09:44:40 -07:00
Berkeley Martinez
c919ce5dc8 Feature(code-uri): Load and remove code uri on loadCode 2016-08-18 09:44:40 -07:00
Berkeley Martinez
3f3aab3ff7 Feature(challenges): add code-uri utils
Fix(nav): points nav item propTypes
2016-08-18 09:44:40 -07:00
Berkeley Martinez
5381b0660c Feature(analytics): Add redux logic for analytics
Add(nav): Add event tracking to nav bar
Add(Drawer): Add event tracking to chat/map drawer
2016-07-28 23:40:01 -07:00