diff --git a/react/src/actions/user.js b/react/src/actions/user.js index c52e697..6d421b0 100644 --- a/react/src/actions/user.js +++ b/react/src/actions/user.js @@ -1,4 +1,5 @@ import { API_ROOT, getToken } from './util'; +import { loadLists } from './lists'; export const LOGIN_SUCCESS = 'LOGIN_SUCCESS'; export const LOGIN_FAIL = 'LOGIN_FAIL'; @@ -40,6 +41,7 @@ export function loadUser() { if (json.success) { localStorage.setItem('jwt', json.data.jwt); dispatch(loginSuccess(json.data)); + dispatch(loadLists()); } else { dispatch(loginFail(json.error)); } @@ -63,6 +65,7 @@ export function login(user) { if (json.success) { localStorage.setItem('jwt', json.data.jwt); dispatch(loginSuccess(json.data)); + dispatch(loadLists()); } else { dispatch(loginFail(json.error)); } @@ -91,6 +94,7 @@ export function signup(user) { if (json.success) { localStorage.setItem('jwt', json.data.jwt); dispatch(signupSuccess(json.data)); + dispatch(loadLists()); } else { dispatch(signupFail(json.error)); } diff --git a/react/src/components/Todos.js b/react/src/components/Todos.js index 785b699..069e08c 100644 --- a/react/src/components/Todos.js +++ b/react/src/components/Todos.js @@ -5,23 +5,24 @@ import InputContainer from '../containers/InputContainer'; import TodoListContainer from '../containers/TodoListContainer'; import Header from './Header'; -export default function Todos({ user, loadLists, history }) { - if (user.user) { - loadLists(); - } else if (!user.dirty) { - history.push('/login'); +export default class Todos extends React.Component { + componentDidUpdate() { + if (!this.props.user.user && !this.props.user.dirty) { + this.props.history.push('/login'); + } + } + render() { + return ( +