diff --git a/browser/main/HomeContainer/Components/ArticleNavigator.js b/browser/main/HomeContainer/Components/ArticleNavigator.js
index dd901dc3..1c1ef5c8 100644
--- a/browser/main/HomeContainer/Components/ArticleNavigator.js
+++ b/browser/main/HomeContainer/Components/ArticleNavigator.js
@@ -1,14 +1,18 @@
import React, { PropTypes } from 'react'
import ProfileImage from '../../components/ProfileImage'
+import { findWhere } from 'lodash'
export default class ArticleNavigator extends React.Component {
render () {
- let { user } = this.props
+ let { user, status } = this.props
if (user == null) return (
)
- console.log(user)
+ console.log(user.Folders)
+
+ let activeFolder = findWhere(user.Folders, {id: status.folderId})
+
let folders = user.Folders.map(folder => {
return (
-
+
)
})
@@ -41,7 +45,7 @@ export default class ArticleNavigator extends React.Component {
-
+
{folders}
diff --git a/browser/main/HomeContainer/actions.js b/browser/main/HomeContainer/actions.js
index 4760c9f9..ba6eeb5e 100644
--- a/browser/main/HomeContainer/actions.js
+++ b/browser/main/HomeContainer/actions.js
@@ -1,5 +1,6 @@
-export const PARAMS_CHANGE = 'PARAMS_CHANGE'
export const USER_UPDATE = 'USER_UPDATE'
+export const SWITCH_USER = 'SWITCH_USER'
+export const SWITCH_FOLDER = 'SWITCH_FOLDER'
export function updateUser (user) {
return {
@@ -8,9 +9,16 @@ export function updateUser (user) {
}
}
-export function switchParams (params) {
+export function switchUser (userId) {
return {
- type: PARAMS_CHANGE,
- data: params
+ type: SWITCH_USER,
+ data: userId
+ }
+}
+
+export function switchFolder (folderId) {
+ return {
+ type: SWITCH_FOLDER,
+ data: folderId
}
}
diff --git a/browser/main/HomeContainer/index.js b/browser/main/HomeContainer/index.js
index 35ee7d10..59bd72f7 100644
--- a/browser/main/HomeContainer/index.js
+++ b/browser/main/HomeContainer/index.js
@@ -1,6 +1,6 @@
import React, { PropTypes} from 'react'
import { connect } from 'react-redux'
-import { switchParams } from './actions'
+import { switchUser } from './actions'
import UserNavigator from './Components/UserNavigator'
import ArticleNavigator from './Components/ArticleNavigator'
import ArticleTopBar from './Components/ArticleTopBar'
@@ -13,26 +13,26 @@ import { findWhere } from 'lodash'
class HomeContainer extends React.Component {
componentDidMount () {
- const { dispatch, params } = this.props
- console.log(params)
- dispatch(switchParams(params))
+ const { dispatch } = this.props
+
+ dispatch(switchUser(this.props.params.userId))
}
componentWillReceiveProps (nextProps) {
- const { dispatch } = this.props
- if (nextProps.params.userId !== this.props.params.userId) {
- let params = nextProps.params
- dispatch(switchParams(params))
+ const { dispatch, status } = this.props
+
+ if (nextProps.params.userId !== status.userId) {
+ dispatch(switchUser(nextProps.params.userId))
}
}
render () {
- const { users, user } = this.props
+ const { users, user, status } = this.props
return (
-
+
@@ -42,15 +42,18 @@ class HomeContainer extends React.Component {
}
function remap (state) {
+ let status = state.status
+
let currentUser = state.currentUser
let teams = Array.isArray(currentUser.Teams) ? currentUser.Teams : []
let users = [currentUser, ...teams]
- let user = findWhere(users, {id: parseInt(state.params.userId, 10)})
+ let user = findWhere(users, {id: parseInt(status.userId, 10)})
return {
users,
- user
+ user,
+ status
}
}
@@ -60,6 +63,10 @@ HomeContainer.propTypes = {
params: PropTypes.shape({
userId: PropTypes.string
}),
+ status: PropTypes.shape({
+ userId: PropTypes.string,
+ folderId: PropTypes.number
+ }),
dispatch: PropTypes.func
}
diff --git a/browser/main/HomeContainer/reducer.js b/browser/main/HomeContainer/reducer.js
index 0fabda86..329fa448 100644
--- a/browser/main/HomeContainer/reducer.js
+++ b/browser/main/HomeContainer/reducer.js
@@ -1,5 +1,5 @@
import { combineReducers } from 'redux'
-import { PARAMS_CHANGE, USER_UPDATE } from './actions'
+import { SWITCH_USER, SWITCH_FOLDER, USER_UPDATE } from './actions'
const initialCurrentUser = JSON.parse(localStorage.getItem('currentUser'))
const initialParams = {}
@@ -16,10 +16,16 @@ function currentUser (state, action) {
}
}
-function params (state, action) {
+function status (state, action) {
switch (action.type) {
- case PARAMS_CHANGE:
- return action.data
+ case SWITCH_USER:
+ state.userId = action.data
+ console.log(action)
+ state.folderId = null
+ return state
+ case SWITCH_FOLDER:
+ state.folderId = action.data
+ return state
default:
if (state == null) return initialParams
return state
@@ -28,5 +34,5 @@ function params (state, action) {
export default combineReducers({
currentUser,
- params
+ status
})