This commit is contained in:
Delucse
2020-12-03 11:17:39 +01:00
parent 4f57e7fd32
commit 5d9bfa97af
7 changed files with 440 additions and 14 deletions
+56
View File
@@ -0,0 +1,56 @@
import { USER_LOADED, USER_LOADING, AUTH_ERROR, LOGIN_SUCCESS, LOGIN_FAIL, LOGOUT_SUCCESS, LOGOUT_FAIL, REFRESH_TOKEN_SUCCESS } from '../actions/types';
const initialState = {
token: localStorage.getItem('token'),
refreshToken: localStorage.getItem('refreshToken'),
isAuthenticated: null,
progress: false,
user: null
};
export default function(state = initialState, action){
switch(action.type){
case USER_LOADING:
return {
...state,
progress: true
};
case USER_LOADED:
return {
...state,
isAuthenticated: true,
progress: false,
user: action.payload
};
case LOGIN_SUCCESS:
case REFRESH_TOKEN_SUCCESS:
localStorage.setItem('token', action.payload.token);
localStorage.setItem('refreshToken', action.payload.refreshToken);
console.log(action.payload);
return {
...state,
user: action.payload.data.user,
token: action.payload.token,
refreshToken: action.payload.refreshToken,
isAuthenticated: true,
progress: false
};
case AUTH_ERROR:
case LOGIN_FAIL:
case LOGOUT_SUCCESS:
case LOGOUT_FAIL:
localStorage.removeItem('token');
localStorage.removeItem('refreshToken');
return {
...state,
token: null,
refreshToken: null,
user: null,
isAuthenticated: false,
progress: false
};
default:
return state;
}
}
+2
View File
@@ -5,8 +5,10 @@ import tutorialBuilderReducer from './tutorialBuilderReducer';
import generalReducer from './generalReducer';
import projectReducer from './projectReducer';
import messageReducer from './messageReducer';
import authReducer from './authReducer';
export default combineReducers({
auth: authReducer,
workspace: workspaceReducer,
tutorial: tutorialReducer,
builder: tutorialBuilderReducer,