source: phonelux-frontend/src/context/UserContext.js@ 5201690

Last change on this file since 5201690 was 7e88e46, checked in by Marko <Marko@…>, 22 months ago

Added more components

  • Property mode set to 100644
File size: 1.7 KB
Line 
1import axios from 'axios'
2import React, { Component } from 'react'
3
4const UserContext = React.createContext()
5
6export class UserProvider extends Component {
7
8 constructor(props) {
9 super(props)
10
11 this.state = {
12 userId: '',
13 name: '',
14 role: '',
15 userFavouriteOffers: []
16 }
17 }
18
19 componentDidMount(){
20 if(localStorage.getItem('token'))
21 {
22 let token = localStorage.getItem('token')
23 axios.get('/token/'+token)
24 .then(response => {
25 const {id, firstName,userRole} = response.data
26 this.setState({
27 userId: id,
28 name: firstName,
29 role: userRole
30 }, this.updateUserFavouriteOffers)
31 }).catch(error => console.log(error))
32 }
33 }
34
35 // updateUserFavouriteOffers = () =>{
36 // var config = {
37 // method: 'get',
38 // url: '/user/'+this.state.userId+'/favouriteoffers',
39 // headers: {
40 // 'Authorization': 'Bearer '+localStorage.getItem('token')
41 // }
42 // };
43
44 // axios(config)
45 // .then(response => {
46 // this.setState({
47 // userFavouriteOffers: response.data
48 // })
49 // })
50 // .catch(error => {
51 // console.log(error)
52 // })
53 // }
54
55
56
57 render() {
58 const {userId,name,role, userFavouriteOffers} = this.state
59 // const {updateUserFavouriteOffers} = this
60 return (
61 <UserContext.Provider value={{
62 userId,
63 name,
64 role,
65 // userFavouriteOffers,
66 // updateUserFavouriteOffers
67 }}>
68 {this.props.children}
69 </UserContext.Provider>
70 )
71 }
72}
73
74export default UserContext
Note: See TracBrowser for help on using the repository browser.