summaryrefslogtreecommitdiff
path: root/client/components/LoggedInView.jsx
blob: 3fa3e8bf23ac45ce178fc37a6f5a8e9315f7d324 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import React from 'react'
import ModalDialog from './ModalDialog.jsx'
import Menu from './Menu.jsx'
import UserList from './UserList.jsx'
import MealList from './MealList.jsx'

import client from '../client'

export default class LoggedInView extends React.Component {
  constructor(props) {
    super()
    this.state = {
      user: Object.assign({}, props.user),
      mode: 'meals',
    }
    this.updateUser = this.updateUser.bind(this)
    this.toggleMode = this.toggleMode.bind(this)
  }
  toggleMode(){
    this.state.mode = this.state.mode == 'meals' ? 'users' : 'meals'
  }
  updateUser(user) {
    this.setState({
      user: user
    })
  }
  render() {
    let activity = null
    if (this.state.mode == 'meals') {
      activity = (<MealList user={this.state.user} currentUser={this.props.user} />)
    }
    else {
      activity = (<UserList user={this.state.user} currentUser={this.props.user} updateUser={this.updateUser} />)
    }
    return (
      <div>
        <Menu mode={this.state.mode}
              user={this.state.user}
              toggleMode={this.toggleMode}
              currentUser={this.props.user}
              updateUser={this.updateUser} />
        {activity}
      </div>
    )
  }
}