Commit Graph

815 Commits (f792a4380a894ba294873b69d4eca747b8564fef)

Author SHA1 Message Date
Peter Weinberg f868862c0f fix(editor): restore syntax highlighting for light theme 2017-10-13 20:26:51 -04:00
Berkeley Martinez d13ce469e6 Merge pull request #15891 from raisedadead/fix/passwordless-auth
fix(auth): update the passwordless-auth missed changes
2017-10-03 14:02:59 -07: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
Mrugesh Mohapatra d77e9fd411 fix(user): Remove remote method on user create 2017-09-17 15:27:45 +05:30
Mrugesh Mohapatra 5e86b25a69 fix(auth): Remove reset password endpoint 2017-09-17 14:54:48 +05:30
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 251131aceb Merge branch 'ogzcoder/feat/track-user-submit' into staging 2017-09-08 00:17:41 -07:00
Joshua Riddle 6cbdbc2580 feat(user): Track challenge submissions count
BREAKING CHANGE: none

Closes #14881
2017-09-07 20:47:26 -07: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 61d740b8a0 Merge branch 'feature/passwordless-login' into staging 2017-09-01 19:07:41 -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
Mrugesh Mohapatra ab93109828 fix(auth): Fix merge errors from rebase 2017-09-01 17:32:58 -07:00
Mrugesh Mohapatra 2321f7b326 feat(server): Add URL utils to compute server URL, HOST, PORT, etc. 2017-09-01 17:32:20 -07:00
Mrugesh Mohapatra d313ab68e4 fix(email): Error messages for updateEmail API 2017-09-01 17:23:40 -07:00
Mrugesh Mohapatra 3f332fc1f0 fix: Add error handling and refactoring of Observable methods 2017-09-01 17:21:02 -07:00
Mrugesh Mohapatra a426ff7ef9 fix(email): allow sender email var for development
Allows setting the SES_ID, SES_SECRET and EMAIL_SENDER values
2017-09-01 17:21:02 -07:00
Mrugesh Mohapatra 0ce30409c0 refactor(code): cleanup and rebase 2017-09-01 17:21:02 -07:00
Mrugesh Mohapatra 5c56a1e78c Update email views and notifications 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra f3804bb553 chore(passwordless): Update to freeCodeCamp 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra b32e2102ac Remove reset-password logic 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra 239313cb0b Remove sign up page and update button styles 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra fd442c55bb Remove error catch and use update method 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra 26c1389c3a Donot render per request email 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra 19e5ff537e Fix indenting and remove isDev from wait time. 2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra e006f5c97d Optimize code and streamline flow.
- Optimize code and streamline flow.
- Add return statements for error display.
- Invalidate status vars and TTLs on User Model.
- Build Observable for findOrCreate
2017-09-01 17:15:26 -07:00
Mrugesh Mohapatra f8c818e7e7 Implement passwordless login
* Created a new rest API to create and save a temporary token that
  can be exchanged for a access token.
* Updated the sign in view
* Add email template for sign in links
* Add route to request a access token and login user
* Make the email views conistent
2017-09-01 17:14:43 -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
Berkeley Martinez c547c26bba Fix: map should redirect to current challenge (#15723)
* fix(routes): /map redirects to current challenge

* fix(map): Normalize server map building

Localize all server code dealing with the map

* refactor(server): Remove unused services

* feat(Nav): Show Map button when no panes

This gives user the ability to quickly return to their challenge using a
known feature

* fix(server.map): Add caching to nameIdMap

Add caching to nameIdMap on the server

* fix(services.map): Fix map service

Move map building utils to map util. Fix bad import. Normalize challenge
lookup
2017-08-03 22:45:36 -05: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 de0101328f Merge pull request #15187 from raisedadead/fix/placeholder-project-view
fix(frontend-projects): replace video with image thumbnail
2017-07-17 16:33:41 -07:00
Berkeley Martinez 2fcd976700 fix(signup): signup auth (#15628)
* fix(models.user): Colocate all user methods

Moved user methods/extensions into one file. Tracked down `next method
called more than once` error and setting headers after their sent. Let
regular error handler handle api errors as well.

* feat(server.auth): Disable github account creation

We are no longer allowing account creation through github

* refactor(Auth): Move user identity link into models dir

* feat(Disable link account login): This removes the ability to use a linked account t

* feat(errorhandlers): Add opbeat, filter out handled error
2017-07-14 00:09:07 +05:30
Mrugesh Mohapatra 91105bdf12 fix(frontend-projects): replace video with image thumbnail 2017-07-13 21:50:47 +05:30
Dylan 6608f82d5a reset to top on new challenge (#15607) 2017-07-09 12:58:25 -05:00
Luke Bousfield 121f53a20b Replaced 'startsWith' with `RegExp.test()` 2017-07-02 15:15:23 +01:00
Peter Weinberg 5501542e10 feat(views): create global challenge-description component 2017-06-29 00:39:55 -04:00
Berkeley Martinez 36c61b1c52 Merge pull request #14979 from padulam/feature/bug-modal-issue-link
Updates create issue button in bug modal to direct user to forum
2017-06-21 15:43:40 -07:00
padulam ec020ad471 Add available for hire button 2017-06-18 09:13:48 -04:00
Dylan e1a2fecd13 add donate links and mousetrap 2017-06-05 16:46:04 +01:00
padulam ea951052a3 Point bug modal to forum 2017-05-30 10:17:21 +05:30
Berkeley Martinez 70f2b797d9 Fixs classic modal styling not rendering
Move classic modal less files co-locating them in the app file structure
2017-05-19 05:46:35 +01:00
Stuart Taylor 2ed64dc1e5 Add a settings skeleton 2017-05-03 00:21:42 +01: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 f018cae686 Merge branch 'staging' into fix/update-config-for-debug-setups 2017-04-17 14:38:28 -07:00
Berkeley Martinez 8dd66b5084 fix(classic-challenge): should not show scroll bar if not needed (#13981) 2017-03-22 00:06:58 -05:00
Mrugesh Mohapatra 566de3e3f2 fix: Update config to be flexible for host 2017-03-20 12:13:27 +00:00
Berkeley Martinez 53001012d1 feat(Map): Map now is closed by default (#13980) 2017-03-18 02:38:11 -05:00
Berkeley Martinez f4443e16dd feat(nav): make navbar static (#13673)
* feat(nav): make navbar static

make the navbar in react layout and the static layout stick to the top of the screen

* feat(challenges): Make classic view flex

Classic view now uses flex to control it's height. This was necessary to control view and allow
navbar to be static on other pages.

This breaks mobile view and other non-classic challenge views

* feat(app): Add logic to make screen expand on tablet

* fix(app): let routes define their content structure

* fix(less): use American spelling of gray

* fix(classic-preview): make preview smaller to prevent scroll

* feat(classic-frame): Make frame border less distinct

* fix(challenges): scope test suite less to challenges

* feat(challenges): make generic ChallengeTitle component
2017-03-13 18:17:07 -05:00
Eric Leung f046a7d5c3 Add space in challenge step counter within parens 2017-03-09 01:42:09 -08:00
Berkeley Martinez b9c54fb859 Merge pull request #13164 from no-stack-dub-sack/fix/backend-challenge-wrapper
fix(challenges): add class to backend challenge wrapper, fix basic no…
2017-02-28 13:43:54 -08:00
Berkeley Martinez 4d4516a2bc Merge pull request #12497 from Bouncey/fix/update-eslint-plugin-react
Enable react/sort-prop-types rule
2017-02-27 14:00:38 -08:00
quentin de707c185e indexOf() instead of includes() 2017-02-20 15:42:50 -05:00
Peter Weinberg 9ec760fa54 fix(challenges): add class to backend challenge wrapper, fix basic node formatting 2017-02-17 20:20:23 -05:00
Stuart Taylor c96ce25598 Enable react/sort-prop-types rule 2017-02-05 13:13:36 +00:00
Peter Weinberg 0b60d7de3a chore(seed): freeCodeCampify remaining sections of codebase 2017-02-02 18:29:59 -05:00
Dylan 2d836f0237 Merge pull request #12917 from systimotic/feature/editor-focus-hotkeys
Add editor focus and unfocus hotkeys
2017-01-29 21:44:24 -06:00
Samuel Plumppu 3ebfb05171 Merge pull request #12856 from systimotic/fix/bug-reporting-indentation
Fix closing backticks indentation on bug report
2017-01-29 22:20:57 +01:00
systimotic c57f577fe0 Add editor focus and unfocus hotkeys 2017-01-27 16:42:05 +01:00
systimotic 01d10c5316 Fix closing backticks indentation on bug report 2017-01-27 09:24:21 +01: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
Berkeley Martinez 962675ee17 feat(api): Add active user api 2017-01-26 18:01:15 -08:00
Samuel Plumppu 1196093ca2 Merge pull request #12833 from systimotic/fix/es6-linting
Fix ES6 linting
2017-01-25 17:16:17 +01:00
systimotic 9d457c4cac Fix ES6 linting 2017-01-25 15:29:52 +01:00
Mrugesh Mohapatra f262bfd960 fix(night-mode): Update indenting and change border color 2017-01-24 22:23:20 +05:30
Markus Török e1261526d8 fix(night-mode): Add css classes to unsubscribe button
Add class btn-toggle and remove bg-color from inactive buttons in night mode
2017-01-24 22:17:45 +05:30
systimotic 6e653c65bd Center images in introduction challenges 2017-01-21 21:58:34 +01:00
dhcodes d45dd23adf update blockNameify preformattedBlocks for beta 2017-01-19 21:16:48 -06:00
Peter Weinberg 3ed485b14a chore(common): updated common to freeCodeCamp 2017-01-14 19:49:01 -05:00
Quincy Larson ed91c4bf09 Merge pull request #12438 from BerkeleyTrue/fix/open-toggle-warning
fix(nav): add noop for onToggle to remove warning
2017-01-09 23:28:38 -06:00
Berkeley Martinez 0cd2e9b390 fix(settings): Lang attribute warnings 2017-01-08 20:33:00 -08:00
Berkeley Martinez f25d850c92 fix(nav): add noop for onToggle to remove warning 2017-01-08 19:58:45 -08:00
Stuart Taylor a9059eb2c6 Make translated challenge titles searchable 2017-01-07 22:36:45 +00:00
Stuart Taylor b9c7532efd Next step unlocked persistence 2017-01-05 21:33:52 +00:00
Berkeley Martinez 8bb85c9f8d Merge pull request #11784 from Bouncey/fix/entitiesReducerRefactor
Fix: Entities reducer refactor to enable update of redux-actions
2017-01-04 16:16:53 -08:00
Stuart Taylor bba4ecc13c Refactor entities reducer for redux-actions update 2017-01-05 00:09:47 +00:00
Berkeley Martinez dd5425eb21 Merge pull request #12306 from Bouncey/feature/codemirrorSkeleton
Render CodeMirror skeleton for SSR
2017-01-04 15:42:57 -08:00
Berkeley Martinez 568091785f Merge pull request #12322 from systimotic/fix/improve-log-output
Improve console.log output
2017-01-04 15:39:01 -08:00
Quincy Larson 19facd3781 add new nav dropdown options 2017-01-04 22:55:46 +00:00
systimotic 27713a9d21 Improve console.log output 2017-01-04 18:25:54 +01:00
Stuart Taylor 075476f15f Render CodeMirror skeleton for SSR 2017-01-03 21:25:14 +00:00
Berkeley Martinez 3d93e70a73 Show dropdown on hover 2017-01-03 07:04:07 +00:00
Quincy Larson 2e23886309 Merge pull request #12288 from BerkeleyTrue/feat/add-dropdown-nav
feat(nav): Add dropdown menu
2016-12-30 21:26:37 -06:00
Berkeley Martinez 3a4e62da44 feat(nav): Add dropdown menu 2016-12-30 16:08:15 -08:00
Dylan 79a8c412f1 change node-uuid to uuid 2016-12-30 16:47:09 -06:00