summaryrefslogtreecommitdiff
path: root/client/components/Menu.jsx
blob: d53803d1cbd766c86b98cfbef63c834c65b0aae9 (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
49
50
51
52
53
54
55
56
57
import React from 'react'

import client from '../client'

export default class Menu extends React.Component {
  constructor() {
    super()
    this.setGoal = this.setGoal.bind(this)
    this.logout = this.logout.bind(this)
  }
  setGoal() {
    const goal = Math.abs(parseInt(prompt('Please enter your calorie goal', this.props.user.goal)))
    if (goal) {
      client.service('users').patch(this.props.user.id, {
        goal: goal,
        token: client.get('token'),
      }).then((user) => {
        this.props.updateUser(user)
      })
    }
  }
  logout() {
    client.logout().then(() => {
      window.location.reload()
    })
  }
  render() {
    const user = this.props.user
    const items = []
    items.push( <li key='hello'>Hello {user.email}</li> )
    items.push( <li key='goal' onClick={this.setGoal}><a href='#'>Goal</a>: {user.goal}</li> )
    switch (user.role) {
      case 'admin':
        if (this.props.user.id !== this.props.currentUser.id) {
          items.push( <li key='resetUser'><a href='#' onClick={this.resetUser}>Reset User</a></li> )
        }
        items.push( <li key='userlist'><a href='#' onClick={this.props.toggleMode}>Users</a></li> )
        items.push( <li key='meallist'><a href='#' onClick={this.props.toggleMode}>Meals</a></li> )
        break
      case 'manager':
        items.push( <li key='userlist'><a href='#' onClick={this.props.toggleMode}>Users</a></li> )
        items.push( <li key='meallist'><a href='#' onClick={this.props.toggleMode}>Meals</a></li> )
      case 'user':
        break
    }
    items.push( <li key='logout'><a href='#' onClick={this.logout}>Logout</a></li> )

    return (
      <div>
        <ul className='menu'>
          {items}
        </ul>
      </div>
    )
  }
}