Commit Graph

583 Commits

Author SHA1 Message Date
Stuart Taylor
b16993b915 fix(backend): Unable to submit backend project 2017-12-19 00:07:53 +00:00
Berkeley Martinez
b2b1426e22 Feat: react redux migration (#16200)
* feat: crudely enables test to run solution code against React challenge (and passes!)

* feat: Updates comment

* feat: Adds React 2 and 3, validates challenges in app

* feat: Adds React 4, validates tests

* feat: Adds Peter's migrated challenge seed files for all challenges

* feat: Adds redux, react-redux imports, adds tests for React 7,

* feat: Adds tests for React 08

* fix(challenges): wrap reserved words in <code> and add tests

* feat: complete first two tests for React 9

* feat: modifies tests in React 09

* feat: Adds working tests for React 37, including async setState tests

* feat: Escape hatch to avoid async tests in automated test suite

* feat: Updates React 15 with working tests

* feat: build passes, yay

* feat: Provisions original code string in challenges and adds tests for React Redux 01

* fix(tests): add self-closing tags challenge, other small fixes

* fix(challenge): add react_10, some other stuff

* fix(challenges): update react 22, add react 23

* fix(challenges): react 5 and react 8

* feat: removes dependencies that will break in browser, will replace later

* feat: fix build

* feat: add redux 1

* fix(challenge): add react 24 tests

* feat: partial implemented Redux 2

* feat: migrate redux 3

* feat: Adds React-Redux 04 with working tests under npm test

* feat: Updates automated test runner, just provide all the dependencies. Adds Redux-Thunk.

* feat: Adds working tests for React Redux 07

* feat: redux challenge 4

* feat: migrate redux 5

* feat: redux 6

* feat: migrate Redux test 7

* fix(challenge): add react 25 tests

* feat: Adds tests for React 48, npm test does not pass...

* feat: Migrate Redux test 8

* fix(challenges): skip 26, add react 27 tests

* fix(challenges): add react 28 tests, replace function w/ => throughout, fix linter warnings

* feat: fixes (patches) hard to understand problem with automated test suite

* feat: updates async tests patch

* feat: adds converted tests for React 47

* feat: adds converted tests for React 46

* feat: Partially adds tests for React 43

* docs: adds TO-DO tests for React 43

* feat: migrates tests for React 42

* feat: migrates tests for React 41

* feat: migrates tests for React 39

* feat: Migrates tests for React 38, automated test script fails again!

* feat: migrates tests for React 32

* feat: QAs more React Redux challenge in FCC UI

* feat: Updates tests for React 7

* feat: Migrates React-Redux 3 tests and hardcodes deep-freeze dependency

* feat: migrates React Redux 05 tests

* feat: migrates React Redux 06 tests

* feat: Migrates React Redux 10

* feat: Migrates tests for React 16

* feat: Migrates React 17 tests

* feat: Migrates React 18 tests

* feat: Migrates React 19 tests

* feat: Migrates React 19 tests

* feat: fixing usage of code, replace with editor.getOriginalCode

* feat: Migrates React 21 tests

* feat: Finishes migration of React 09

* fix(challenges): add react 45 tests 💀

* feat: Adds React 11 tests

* feat: Migrates React 50 tests

* feat: Re-enables original code in FCC editor, QAs challenges blocked by original code

* feat: hacks head tail code in editor test environment

* feat: updates React 20 head code

* feat: QAs React Redux 07 in UI

* fix(challenges): add React 29 tests

* fix(challenges): add React 30 tests

* feat: updates async tests

* feat: Migrates React 12, gets ReactDOM challenges working and QAs them

* feat: Migrates React 13 tests

* feat: Migrates tests for React 14 and updates challenge description formatting

* feat: Refactors 2nd test for Redux 02

* feat: Migrates React 33

* feat: Removes React 26 and 43

* feat: Adds React 34 from Kevin

* fix(challenges): add React 31 & 35 tests (thanks Kevin)

* feat: Migrate Redux challenge 10 - pass both UI QA and terminal test

* fix(challenge): add react 40 tests

* feat: Migrates React Redux 02 tests

* feat: Migrates React Redux 08 and fixes async syntax in React challenge

* fix(challenge): add react 49 tests with caveat

* feat: fixes React 49 tests and adds first tests for React Redux 09

* feat: Migrate Redux 11 - pass both terminal test and UI test

* feat: Migrate Redux 12 - passing both UI test and terminal test

* feat: Migrate Redux 13 - passing both terminal and UI tests

* feat: Adding in code tags for previous redux challenges - terminal and UI tests pass

* feat: Migrates React Redux 09 and React 44 (thanks Kevin)

* feat: fix code tag issues - passed UI and terminal tests

* feat: Migrates Redux 14 tests

* feat: Migrates Redux 14

* feat: Migrates Redux 15

* feat: Migrates Redux 17

* feat: Final migration and QA of Redux, except for Redux 9

* feat: migrates React 36 and QAs

* feat: Rewrites Redux 09 and migrates

* feat: refactors pull request and cleans up code

* style(challenges): QA React challenges

* style(challenges): QA react challenges

* fix(challenges): fix react 41 and 45 tests

* style(challenges): QA redux challenges

* style(challenges): QA react and redux challenges

* fix(seed/react): Move head/tail to files

* fix(seed/redux): Move head/tail to file level

* chore(packages): Move jsdom to dev deps

* fix(seed/react/redux): Async funcs

make async func defined

* fix(seed): %s/editor.getUserCode/getUserInput/gc

* fix(Challenges/build): Make sure head/tail is bundled and transformed

* feat(Challenges.react): Add tail to render component

* chore(seed): Disable modern challenge testing for now

We will put these on beta while we update the auto testing framework
2017-12-18 15:04:03 -06:00
Berkeley Martinez
49133ab3d6 Merge pull request #16211 from Bouncey/fix/scroll-position
fix(Instructions): Scroll to top on update
2017-12-18 11:49:40 -08:00
Stuart Taylor
b4542a5aa3 feat(search): Add react-freecodecamp-search to Nav (#16209) 2017-12-18 10:48:21 -06:00
Stuart Taylor
e0f620ad59 fix(Instructions): Scroll to top on update 2017-12-18 12:43:48 +00:00
Quincy Larson
3c077561fa fix(linting): Fix linting issue 2017-12-16 20:11:03 +05:30
Quincy Larson
cda82d68fe feat(navigation): Fix vertical bar in navbar and change "side panel" 2017-12-16 20:11:03 +05:30
Quincy Larson
7a110aaf55 fix(navbar): Fix a mistake I left in the CSS 2017-12-16 20:11:03 +05:30
Quincy Larson
59dc80a621 feat(navbar): Adds vertical line between normal navigation and p 2017-12-16 20:11:03 +05:30
Berkeley Martinez
b1e9a172a2 Feat: anon navbar (#16189)
* chore(React): %s/react-pure-render/React.PureComponent/gc

* fix(Settings): Should redirect to signup when unauthen

* feat(Development): Use SES for mail if defined

* feat(Nav): Show anon navbar when logged in

* fix(server/datasources): Make sure mailhog works if no ses keys are found

LB will use both mail settings if using both local and dev

* fix(Nav): Use text instead of icons

* fix(Nav): Make donate page open in new tab
2017-12-15 15:53:32 -06:00
Mrugesh Mohapatra
6852814e11 fix(rechallenge): Use includes instead 2017-12-15 12:17:30 +05:30
Berkeley Martinez
d3bbf27dab Fix(Challenges): get user code (#16187)
* fix(Challenges.): Prevent source from being overwritten

* fix(Challenges): Tests should use name

* fix(seed/react): Namespace tests for now
2017-12-13 17:24:36 -06:00
Berkeley Martinez
375442d365 fix(Modern): Editor should update not create (#16183) 2017-12-13 17:15:57 -06:00
Anh Tran
127fae59f4 fix(UX): Change the Available/Unavailable to Yes/No label o (#16176) 2017-12-11 09:45:58 +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
Mrugesh Mohapatra
885d5916c0 fix: Update email action should hit API 2017-12-07 00:00:02 +05:30
Berkeley Martinez
7b6f774e9b fix(Settings): Actually change state when nav to update email 2017-12-04 13:50:49 -08:00
Berkeley Martinez
bf706e9bf2 fix(Router): Link should use reselect 2017-12-03 13:38:52 -08:00
Berkeley Martinez
63875316d9 fix(Router): Add lang to payload if payload doesn't exist
closes #16134
2017-12-03 13:21:47 -08: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
Quincy Larson
52c99823b8 feat(UI): Add new congratulations messages and remove confus (#16110) 2017-11-26 01:18:58 +05:30
Berkeley Martinez
dbecdc5618 feat: prep for modern challenges (#15781)
* feat(seed): Add modern challenge

* chore(react): Use prop-types package

* feat: Initial refactor to redux-first-router

BREAKING CHANGE: Everything is different!

* feat: First rendering

* feat(routes): Challenges view render but failing

* fix(Challenges): Remove contain HOC

* fix(RFR): Add params selector

* fix(RFR): :en should be :lang

* fix: Update berks utils for redux

* fix(Map): Challenge link to arg

* fix(Map): Add trailing slash to map page

* fix(RFR): Use FCC Link

Use fcc Link to get around issue of lang being undefined

* fix(Router): Link to is required

* fix(app): Rely on RFR state for app lang

* chore(RFR): Remove unused RFR Link

* fix(RFR): Hydrate initial challenge using RFR and RO

* fix: Casing issue

* fix(RFR): Undefined links

* fix(RFR): Use onRoute<name> convention for route types

* feat(server/react): Add helpful redux logging/throwing

* fix(server/react): Strip out nonjson from state

This prevents thunks in routesMap from breaking serialization

* fix(RFR/Link): Should accept any renderable

* fix(RFR): Get redirects working

* fix(RFR): Redirects and not found's

* fix(Map): Move challenge onClick handler

* fix(Map): Allow Router.link to handle clicks after onClick

* fix(routes): Remove react-router-redux

* feat(Router): Add lang to all route actions by default

* fix(entities): Only fetch challenge if not already loaded

* fix(Files): Move files to own feature

* chore(Challenges): Remove vestigial hints logic

* fix(RFR): Update challenges on route challenges

* fix(code-storage): Should use events instead of commands

* fix(Map): ClickOnMap should not hold on to event

* chore(lint): Use eslint-config-freecodecamp

Closes #15938

* feat(Panes): Update panes on route instead of render

* fix(Panes): Store panesmap and update on fetchchallenges

* fix(Panes): Normalize panesmaps

* fix(Panes): Remove filter from createpanemap

* fix(Panes): Middleware on location meta object

* feat(Panes): Filter preview on nonhtml challenges

* build(babel): Add lodash babel plugin

* chore(lint): Lint js files

* fix(server/user-stats): Remove use of lodash chain

this interferes with babel-plugin-lodash

* feat(dev): Add remote redux devtools for ssr

* fix(Panes): Dispatch mount action

this is needed to trigger window/divider epics

* fix(Panes): Getpane to use new panesmap format

* fix(Panes): Always update panes after state

this lets the panes logic be affected by changes in state
2017-11-09 19:10:30 -06:00
Berkeley Martinez
1ca383a5ff Merge pull request #15803 from vivek28111992/fix/text-change
fix(challenges): Change of text in Introduction to the basic node a
2017-11-02 15:21:12 -07:00
JustusFT
4ba3e64786 fix(nav): Navbar breaks at 768px to 786px 2017-11-03 01:04:38 +05:30
mrugesh mohapatra
326e10feff Merge pull request #16003 from aaronang/fix/shift-tab
fix(editor): Unindent line when nothing is selected
2017-10-24 01:22:43 +05:30
Aaron Ang
50d1b8aae8 fix(editor): Unindent line when nothing is selected
Pressing SHIFT + TAB while no text is selected would indent the text
which is uncommon behavior. This change will always unindent the code
regardless of whether text is selected or not.
2017-10-21 14:12:33 +02:00
Marc Rendl Ignacio
ed68463738 fix: remove random compliment without gender-neutral alternative 2017-10-21 08:18:58 +08:00
Peter Weinberg
f868862c0f fix(editor): restore syntax highlighting for light theme 2017-10-13 20:26:51 -04:00
Berkeley Martinez
509613f5d7 Merge pull request #15889 from ltegman/fix/navbar-props
fix(Navbar): stop using removed onClose prop of react-bootstraop Navbar
2017-09-25 21:15:59 -07:00
Logan Tegman
e0c4e53be3 fix(Navbar): stop using removed onClose prop of react-bootstraop Navbar 2017-09-16 19:12:30 -07:00
dhcodes
63a147257b fix(main): static page links and constantStrings 2017-09-16 17:16:48 -05:00
Quincy Larson
564e76b2bf fix(merge): Fix merge conflicts 2017-09-11 17:43:18 -05:00
Markus Englund
3206d8c549 fix(map): Change styling of map in night mode (#15780)
Previously the map had white background color and white color, making it
impossible to see the text. I changed the colors to the standard
night-mode color variables. I also deleted a css class that was not
doing anything.

Closes #15702
2017-09-11 09:53:16 +02:00
Berkeley Martinez
3be6775245 Merge pull request #15758 from xnt/fix/testResults-a11y
fix(challenges): Provide accessible test description and status
2017-09-04 14:22:05 -07:00
Darth Skywalker
64806f2a3b fix: submit button is not clickable on challenge completion modal 2017-09-02 12:13:07 +05:30
Stuart Taylor
1126bf7004 Protect the global name space from the code editor 2017-09-01 20:24:51 -07:00
Berkeley Martinez
e50fbc05ca fix(redux.utils): Fix test plan 2017-09-01 20:01:57 -07:00
systimotic
01291162ef Fix isBeta challenges displaying without title when they should be hidden 2017-09-01 20:01:57 -07:00
Berkeley Martinez
7dd9d31e54 Merge pull request #15760 from xnt/fix/main-landmark
fix(accessibility): Add main and complementary landmarks
2017-09-01 18:31:23 -07:00
Dylan
900617613f fix(challenges): Added bug modal to classic ch (#15828)
Closes #15740
2017-09-01 11:16:19 -07:00
Timo
dcfe18d5d5 refactor: Replace .com with .org 2017-08-26 00:07:44 +02:00
Vivek
ad20c9724d fix(challenges): Change of text in Introduction to the basic node a
Text was not getting changed going from step 1 to step 2 because ul
cannot be child node of p tag so I changed p tag to div in Introduction
to the basic node and express challenges. For ref.
https://stackoverflow.com/questions/10601345/ul-element-can-never-be-a-child-of-p-element

BREAKING CHANGE: Changed p tag to div tag in Step.jsx

Closes #15796
2017-08-25 16:42:24 +05:30
Zachary Kearns
a5c330de4d fix(settings): Improve email settings buttons
Closes #15772
2017-08-23 23:36:44 -04:00
Vicente Plata
cd9af163f6 fix(challenges): Provide accessible test description and status
Closes #13013

fix(challenges): Fix undefined initial variable status
2017-08-22 22:08:20 -07:00
Vicente Plata
d449c3cdd0 fix(accessibility): Add main and complimentary landmarks
Screen readers and other assistive technologies use it for navigation

Closes #15658
2017-08-12 22:02:01 -07:00
Berkeley Martinez
0d70db5d98 Merge pull request #15022 from no-stack-dub-sack/feat/challenge-desc
feat(views): create global challenge-description component
2017-08-08 18:22:10 -07:00
Marius Espejo
34d512ffeb fix: don't render challange if isBeta (#15741) 2017-08-08 14:44:59 -05:00
Cody Seibert
9f875e1d11 feat(quiz): initial quiz view which can be used for multiple choice (#15743)
quizes
2017-08-08 14:31:26 -05:00
Dylan
f9e925b03e Merge pull request #15734 from anawebdev/fix/hours-display
Correct misalignment between challenge names and hour estimates
2017-08-05 21:17:14 -05:00
Ana
9adbd5fb56 fix: hours-display 2017-08-05 11:06:03 +03:00