diff --git a/browser/main/HomeContainer/Components/ArticleNavigator.js b/browser/main/HomeContainer/Components/ArticleNavigator.js
index 3c03d534..2cffda47 100644
--- a/browser/main/HomeContainer/Components/ArticleNavigator.js
+++ b/browser/main/HomeContainer/Components/ArticleNavigator.js
@@ -1,12 +1,61 @@
import React, { PropTypes } from 'react'
-class ArticleNavigator extends React.Component {
+export default class ArticleNavigator extends React.Component {
render () {
+ let { user } = this.props
+ if (user == null) return (
)
+ console.log(user)
+ let folders = user.Folders.map(folder => {
+ return (
+
+ )
+ })
+
+ let members = Array.isArray(user.Members) ? user.Members.map(member => {
+ return (
+ {member.profileName}
+ )
+ }) : null
+
return (
+
+
{user.profileName}
+
{user.name}
+
+
+
+
+
+
+
+
+
+
+
+ {folders}
+
+
+
+ {user.userType === 'team' ? (
+
+ ) : null}
+
)
}
}
-export default ArticleNavigator
+ArticleNavigator.propTypes = {
+ user: PropTypes.object
+}
diff --git a/browser/main/HomeContainer/Components/UserNavigator.js b/browser/main/HomeContainer/Components/UserNavigator.js
index a0c3b53a..825eeb95 100644
--- a/browser/main/HomeContainer/Components/UserNavigator.js
+++ b/browser/main/HomeContainer/Components/UserNavigator.js
@@ -11,7 +11,7 @@ export default class UserNavigator extends Component {
// for dev
componentDidMount () {
- openModal(CreateNewTeam)
+ // openModal(CreateNewTeam)
}
renderUserList () {
diff --git a/browser/main/HomeContainer/actions.js b/browser/main/HomeContainer/actions.js
index 41e2c390..4760c9f9 100644
--- a/browser/main/HomeContainer/actions.js
+++ b/browser/main/HomeContainer/actions.js
@@ -1,8 +1,16 @@
+export const PARAMS_CHANGE = 'PARAMS_CHANGE'
export const USER_UPDATE = 'USER_UPDATE'
export function updateUser (user) {
return {
- type: 'USER_UPDATE',
+ type: USER_UPDATE,
data: user
}
}
+
+export function switchParams (params) {
+ return {
+ type: PARAMS_CHANGE,
+ data: params
+ }
+}
diff --git a/browser/main/HomeContainer/index.js b/browser/main/HomeContainer/index.js
index bbc6a3c1..35ee7d10 100644
--- a/browser/main/HomeContainer/index.js
+++ b/browser/main/HomeContainer/index.js
@@ -1,22 +1,38 @@
import React, { PropTypes} from 'react'
import { connect } from 'react-redux'
-// import actionss....
+import { switchParams } from './actions'
import UserNavigator from './Components/UserNavigator'
import ArticleNavigator from './Components/ArticleNavigator'
import ArticleTopBar from './Components/ArticleTopBar'
import ArticleList from './Components/ArticleList'
import ArticleDetail from './Components/ArticleDetail'
+import { findWhere } from 'lodash'
// var AuthFilter = require('../Mixins/AuthFilter')
// var KeyCaster = require('../Mixins/KeyCaster')
class HomeContainer extends React.Component {
+ componentDidMount () {
+ const { dispatch, params } = this.props
+ console.log(params)
+ dispatch(switchParams(params))
+ }
+
+ componentWillReceiveProps (nextProps) {
+ const { dispatch } = this.props
+ if (nextProps.params.userId !== this.props.params.userId) {
+ let params = nextProps.params
+ dispatch(switchParams(params))
+ }
+ }
+
render () {
- const { users } = this.props
+ const { users, user } = this.props
+
return (
-
+
@@ -30,14 +46,21 @@ function remap (state) {
let teams = Array.isArray(currentUser.Teams) ? currentUser.Teams : []
let users = [currentUser, ...teams]
+ let user = findWhere(users, {id: parseInt(state.params.userId, 10)})
return {
- users
+ users,
+ user
}
}
HomeContainer.propTypes = {
- users: PropTypes.array
+ users: PropTypes.array,
+ user: PropTypes.object,
+ params: PropTypes.shape({
+ userId: PropTypes.string
+ }),
+ dispatch: PropTypes.func
}
-export default connect(remap, {})(HomeContainer)
+export default connect(remap)(HomeContainer)
diff --git a/browser/main/HomeContainer/reducer.js b/browser/main/HomeContainer/reducer.js
index 693130f1..0fabda86 100644
--- a/browser/main/HomeContainer/reducer.js
+++ b/browser/main/HomeContainer/reducer.js
@@ -1,7 +1,8 @@
import { combineReducers } from 'redux'
-import { USER_UPDATE } from './actions'
+import { PARAMS_CHANGE, USER_UPDATE } from './actions'
const initialCurrentUser = JSON.parse(localStorage.getItem('currentUser'))
+const initialParams = {}
function currentUser (state, action) {
switch (action.type) {
@@ -10,10 +11,22 @@ function currentUser (state, action) {
localStorage.setItem('currentUser', JSON.stringify(user))
return user
default:
- return initialCurrentUser
+ if (state == null) return initialCurrentUser
+ return state
+ }
+}
+
+function params (state, action) {
+ switch (action.type) {
+ case PARAMS_CHANGE:
+ return action.data
+ default:
+ if (state == null) return initialParams
+ return state
}
}
export default combineReducers({
- currentUser
+ currentUser,
+ params
})
diff --git a/browser/main/index.js b/browser/main/index.js
index a8c1e5a9..3638feaf 100644
--- a/browser/main/index.js
+++ b/browser/main/index.js
@@ -27,22 +27,22 @@ let routes = (
)
// with Dev
-// import { compose } from 'redux'
-// // Redux DevTools store enhancers
-// import { devTools, persistState } from 'redux-devtools'
-// // React components for Redux DevTools
-// import { DevTools, DebugPanel, LogMonitor } from 'redux-devtools/lib/react'
+import { compose } from 'redux'
+// Redux DevTools store enhancers
+import { devTools, persistState } from 'redux-devtools'
+// React components for Redux DevTools
+import { DevTools, DebugPanel, LogMonitor } from 'redux-devtools/lib/react'
-// let finalCreateStore = compose(devTools(), persistState(window.location.href.match(/[?&]debug_session=([^&]+)\b/)))(createStore)
-// let store = finalCreateStore(reducer)
-// let devEl = (
-//
-//
-//
-// )
+let finalCreateStore = compose(devTools(), persistState(window.location.href.match(/[?&]debug_session=([^&]+)\b/)))(createStore)
+let store = finalCreateStore(reducer)
+let devEl = (
+
+
+
+)
// On production
-let store = createStore(reducer)
+// let store = createStore(reducer)
let el = document.getElementById('content')
@@ -51,6 +51,7 @@ React.render((
{() => {routes}}
+ {devEl}
), el, function () {
let loadingCover = document.getElementById('loadingCover')
diff --git a/package.json b/package.json
index 5e3359e7..7f948285 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,6 @@
},
"homepage": "https://github.com/Rokt33r/codexen-app#readme",
"dependencies": {
- "babel-core": "^5.8.25",
"devicon": "^2.0.0",
"font-awesome": "^4.3.0",
"fs-jetpack": "^0.7.0",
@@ -52,8 +51,7 @@
"reflux": "^0.2.8",
"socket.io-client": "^1.3.6",
"superagent": "^1.2.0",
- "superagent-promise": "^1.0.3",
- "titlebar": "^1.3.0"
+ "superagent-promise": "^1.0.3"
},
"devDependencies": {
"babel-loader": "^5.3.2",
diff --git a/webpack.config.js b/webpack.config.js
index 29090475..962a8110 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -25,8 +25,8 @@ module.exports = {
]
},
plugins: [
- new webpack.HotModuleReplacementPlugin(),
- new webpack.NoErrorsPlugin()
+ new webpack.HotModuleReplacementPlugin()
+ // new webpack.NoErrorsPlugin()
],
externals: [
'socket.io-client',