Commit Graph

513 Commits

Author SHA1 Message Date
Vivek Agrawal
de940a4ca5 fix(challenges): Changed background color of preview panel for night mode (#16502)
Closes #16318
2018-01-19 00:43:18 +05:30
Berkeley Martinez
167b609853 Merge pull request #16496 from huyenltnguyen/fix/editors-theme-in-dark-mode
fix(challenges): Add logic to toggle editor theme
2018-01-17 11:24:21 -08:00
huyenltnguyen
e1bda08c59 fix(challenges): Add logic to toggle editor theme
Closes #16284
2018-01-17 05:11:20 +07:00
Berkeley Martinez
6e17281fda Merge pull request #16442 from iabrenne/feature/link-to-guide
Feature/link to guide
2018-01-16 12:52:03 -08:00
Peter Weinberg
62e079c721 feat(panes/nav): persist pane state across transitions; rename side panel to lesson 2018-01-16 09:52:29 -08:00
Vivek Agrawal
9c3f0f3628 fix(challenges): Add spacing between test-suite rows (#16491)
Closes #16484
2018-01-15 00:17:34 +05:30
Irina Brennen
c7a898bed7 refactor(seed): Add link to guide
Partially #16388
2018-01-10 18:32:16 -06:00
Berkeley Martinez
c27250eec1 Merge pull request #16429 from jameskaupert/feature/add_default_project_img
feat(challenges): Add default project image when none exists
2018-01-10 00:27:10 -08:00
James Kaupert
2bc1f0ae59 feat(challenges): Add default project image when none exists
BREAKING CHANGE: none

Closes #16426
2018-01-08 19:34:16 -05:00
Berkeley Martinez
55adc282fa Merge pull request #16430 from raisedadead/fix/preview-pane-background
revert(preview): Remove night mode background-color
2018-01-06 14:25:19 -08:00
Mrugesh Mohapatra
f11fe6c5fb revert(preview): Remove night mode background-color 2018-01-07 02:44:07 +05:30
James Kaupert
da9e1f1129 fix(challenges): Remove broken images when undefined
BREAKING CHANGE: none

Closes #16410
2018-01-05 19:48:31 -05:00
Chloe Collier
5f65f04ba4 fix(style): changed colors for dark-mode (#16404) 2018-01-04 12:09:19 +05:30
Vivek Agrawal
68e1c83db7 style(lesson-section): Add paddings (#16391)
Closes #16299

styles moved to challenges.less
2018-01-02 22:30:40 +00:00
Berkeley Martinez
540b0ec4d4 Merge pull request #16295 from Bouncey/fix/duplicateKeys
fix(step-challenge): Fix duplicate keys in Step
2018-01-01 12:57:33 -08:00
Joshua Swift
603a354e56 Merge branch 'staging' into fix/js-disabled-message 2017-12-30 11:12:57 +00:00
Berkeley Martinez
4aa4248204 Merge branch 'Bouncey:fix/toolpanelConflict' into staging 2017-12-29 16:08:48 -08:00
Berkeley Martinez
46a696472c fix(lint): Move rsa link to utils 2017-12-29 16:08:29 -08:00
Joshua Swift
23d2f2a08b JS is disabled alert 2017-12-29 20:26:38 +00:00
Stuart Taylor
0f68940865 chore(step-redux): Remove console.log 2017-12-28 19:07:28 +00:00
Stuart Taylor
a3a9683bf7 fix(step-keys): Use description slice for key 2017-12-28 18:59:56 +00:00
Stuart Taylor
def690b282 fix(step-challenge): Fix duplicate keys in Step 2017-12-28 18:59:56 +00:00
Filip Havrlent
bed731d2ad fix(challenges): Change e.meta to e.metaKey
The Command + Enter was not working on Mac in completition modal

Closes #16352
2017-12-28 19:51:59 +01:00
Stuart Taylor
2884b551c3 fix(classNames): Use block prop for .btn-block className 2017-12-28 18:47:42 +00:00
Stuart Taylor
2c6f0b1f09 fix(merge-conflicts): Add missing classNames to Get Help button 2017-12-24 09:34:05 +00:00
Stuart Taylor
71708aa7ff fix(merge-conflicts): Resolve conflicts 2017-12-24 09:25:25 +00:00
Stuart Taylor
4c96c2079e Merge branch 'fix/merge-78e86f5' of https://github.com/mpontus/freeCodeCamp into fix/toolpanelConflict 2017-12-24 09:21:03 +00:00
Khaled Saleh
7f2edb6a71 style(challenges): Changed the lesson buttons to match production sty 2017-12-23 09:15:07 -06:00
Mikhail Pontus
3144820405 fix(challenges): Implement Help Dialog
This commit applies changes from 78e86f514f.

It introduces Help dialog which guides the user to review Read-Search-Ask
methodology, ask the question on the forums or in gitter chatroom.

This dialog replaces existing Help button which was leading to Gitter Chatroom.
2017-12-23 14:58:06 +03:00
Stuart Taylor
b14a821f6c fix(document.title): Update document title for Challenge route 2017-12-23 11:21:30 +00:00
Berkeley Martinez
65356ff7e7 fix(Challenges/frame.js): Make iframe href base relative to / (#16221)
This prevents requests from appending to the current challenge url
2017-12-23 09:53:11 +00:00
Kristofer Koishigawa
3df65c30cd fix(common): Fix for loopProtect undefined error (#16263)
Edited the file so that the loopProtect code, which is in the head of
the iframe on www.freecodecamp.org, is in the same script tag as the
base challenge content that get's rendered to the page. While the
loopProtect code is not rendered to the page like the rest of the
challenge code, it's within the same scope and seems to function
normally.

BREAKING CHANGE: None that I know of, but will keep checking.

Closes #16260
2017-12-22 14:51:21 -05:00
Angel Eduardo
8ee27fa6ed fix: missing space in quiz score (#16241) 2017-12-21 16:04:20 -06:00
mrugesh mohapatra
8f6deff199 fix: Update text for GitHub and Settings (#16253)
This commit adds back changes from the
commit 9142aec8ad

Just updates the labels of some of the buttons
2017-12-21 15:35:21 -06:00
Berkeley Martinez
e412ce7d0a Fix: storage files use challenge files as source (#16215)
* fix(files): CreateFiles shouldn't preserve previous state

* fix(Challenges): Use fileSpec when pulling from storage
2017-12-19 11:41:09 -06:00
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
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
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
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
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