Commit Graph

816 Commits (cf436f34bc245bab772336fc4378dd3bc5179bfc)

Author SHA1 Message Date
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
Quincy Larson 7805d74ea7 feat: Update meta tags (#15633) 2017-07-11 23:43:52 -07:00
Berkeley Martinez 6e1a4b0d41 feat(signup): Add disabled signup page (#15604)
Add a beta signup page and logic that will disable the signup page using
a environmental flag
2017-07-06 11:13:38 -05:00
texas2010 dcf0136764 delete code of conduct page and route 2017-06-25 11:29:44 -05:00
padulam 0194f82f21 Remove routes and views for legacy terms of service and privacy pages 2017-06-24 22:22:42 -04:00
Guillermo Hernandez Jr 034635aa2a fixed typos in how nonprofits work page (#15228) 2017-06-06 20:57:06 +05:30
Jae Logan 3e4e779864 Modify COC page (#15231) 2017-06-06 20:56:43 +05:30
Dylan e1a2fecd13 add donate links and mousetrap 2017-06-05 16:46:04 +01:00
Stuart Taylor d6e302dd58 Persist night mode on page load 2017-03-24 17:03:21 +00: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
Petr Gazarov f159027025 Remove bower and port dependencies over to npm 2017-02-09 00:09:39 -05:00
Quincy Larson 3e3fa12b52 Merge pull request #12048 from raisedadead/feature/reporting-profiles
feat(user): Report profiles
2017-01-26 14:16:16 -06:00
systimotic 31b15a4712 Fix community dropdown server view 2017-01-22 11:22:50 +01:00
Berkeley Martinez 86d4b5e841 chore: Remove unused/deprecated files 2017-01-19 17:56:07 -08:00
Peter Weinberg 4fe0b0ca07 chore(server): updated server to freeCodeCamp 2017-01-14 01:01:33 -05:00
Mrugesh Mohapatra 1f67c72fc6 feat(user): Report profiles
This adds a simple email-based mechanism to report profiles for
abuse. An email with text from the report is sent to Free Code
Camp's support account with the reporter's account in copy. This
also adds the reporter's details to the report for follow ups.
2017-01-13 00:14:29 +05:30
Eric Leung 16616f78c8 Fix s/Free Code Camp/freeCodeCamp in /server/views
This commit changes instances of "Free Code Camp" to "freeCodeCamp"
within the /server/views/ directory.
2017-01-11 01:29:38 -08:00
Berkeley Martinez 3a4e62da44 feat(nav): Add dropdown menu 2016-12-30 16:08:15 -08:00
Berkeley Martinez 1892654dab feat(nav): remove sidecar 2016-12-29 22:04:05 -08:00
Ayushi Jain c193c08292 Update Redirect when cancelling to remove account 2016-12-05 19:28:43 -05:00
johnnyqbui baf225ad3a Remove reset progress animations, changed color and increase size of delete account buttons 2016-12-01 13:56:10 -06:00
Ivan Sebastian a455ec0dc1 show core team status in user profile 2016-10-29 15:54:42 +07:00
Jonathan 387899859c Merge pull request #10824 from dhcodes/feature/add-progress-reset-option-in-settings
Add reset progress option to user settings
2016-10-26 16:09:15 +01:00
Logan Tegman 2762238c8d Fix sitemap, remove jobs remnants 2016-10-06 22:10:26 -07:00
Quincy Larson 541ddf64ee fix error in about page 2016-10-04 11:09:20 -07:00
Shlomi Fish 9ffea066a6 Correct a typo.
See https://github.com/FreeCodeCamp/FreeCodeCamp/issues/11034 .
2016-10-03 11:21:50 +03:00
Quincy Larson dc803b1b46 Merge pull request #10949 from BerkeleyTrue/fix/remove-slide-animation
Fix(step): remove slide animation
2016-09-28 23:06:32 -07:00
Quincy Larson 597a2eb5dc Merge pull request #9469 from atjonathan/feature/cert
Overhauled Certificates
2016-09-28 12:14:34 -07:00
Berkeley Martinez a6f9e95ed8 Feat: Add react-hot-loader
Combine webpack and browser-sync on one port
2016-09-27 19:49:58 -07:00
dhcodes e543693d18 Add reset progress option to user settings 2016-09-26 10:54:58 -05:00
Quincy Larson e0d98bb8b7 Merge pull request #10884 from atjonathan/feature/atjonathan
Added new members to the YouTube Channel section
2016-09-25 19:20:41 -07:00
Justin Richardsson 9400c4ddb3 Merge pull request #10902 from marhyorh/feat/menu-should-show-username
(Feat): Menu should show username on sm screens.

Tested on Mac (Chrome, Safari and Firefox), and on iPhone (Chrome and Safari).
2016-09-24 15:43:32 -04:00
Adegbuyi Ademola 5cbe98c3eb (Feat): Menu should show username on sm screens
(Feat): Menu should show username on sm screens

(Feat): Menu should show username on sm screens

(Feat): Menu should show username on sm screens
2016-09-24 20:24:36 +01:00
Dylan 617136e162 Merge pull request #10898 from QuincyLarson/fix/nonprofit-resources-page
fix bad link on nonprofit resources page
2016-09-24 13:58:51 -05:00
Adegbuyi Ademola f1a1166173 fix(Nav): Avatar should light up brownie #10581 2016-09-24 18:07:13 +01:00
Quincy Larson af803056fd fix bad link on nonprofit resources page 2016-09-24 09:48:25 -07:00
Jonathan c05d710156 Added @HKuz as a contact for our Core Curriculum 2016-09-24 12:47:56 +01:00
theflametrooper 7fc4277938 Added @atjonathan as a contact for our Video Challenge Curriculum 2016-09-24 12:41:16 +01:00
Jonathan aec8cda6e7 Added @atjonathan to the YouTube Response Row
- Fixed issue with pug
2016-09-23 16:57:43 +01:00
Quincy Larson 96b00bf8d3 add hoodie and books to shop 2016-09-09 01:35:14 -07:00
Berkeley Martinez 8db46eed26 Fix(nav): Change sign in to sign up 2016-09-08 21:56:46 -07:00
Quincy Larson 5f3911ec7a Merge pull request #10432 from BerkeleyTrue/fix/add-delete-page
Fix(settings): Add separate delete page
2016-09-03 18:04:42 -07:00
alanbares e857df29a6 Update signin and add signup
Add missing semicolon
2016-09-02 21:57:56 -07:00
Berkeley Martinez e0fbc9b1f4 Fix(settings): Redirect to about from delete-my-account page
per @quincylarson's suggestion
2016-09-01 19:00:10 -07:00
Berkeley Martinez b17d6c37f2 Fix(settings): Add separate delete page 2016-09-01 15:33:46 -07:00
dhcodes bbfcf1af54 add links to images in shop 2016-08-31 16:07:36 -05:00
Quincy Larson 76a3f3c217 fix reference to old wiki 2016-08-19 21:27:35 -07:00
Mika Vesasto 1d7d9aabe6 Added a medium story link to FAQ 2016-08-16 10:18:01 +03:00
alanbares b00b7dd3d2 Add question to faq about fast tracking non-camper students to nonprofit projects 2016-08-15 16:16:45 -07:00
Arun Kumar 1e01f48dae
Fix grammar issue 2016-08-12 12:14:52 +05:30