diff --git a/frontend/src/App.js b/frontend/src/App.js index 935e4af..c9d37ee 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,34 +1,37 @@ -import React, {Component} from 'react'; -import {connect} from 'react-redux'; +import React, { Component } from 'react'; +import { connect } from 'react-redux'; import ContentContainer from './containers/ContentContainer.jsx'; import LogInContainer from './containers/login/LogInContainer.jsx'; import './App.css'; import './mainComponents/box/WiaasBox.css'; import NotificationBox from './mainComponents/notification/NotificationBox.jsx'; import DialogBox from './mainComponents/dialog/DialogBox.jsx'; +import LoaderContainer from './containers/LoaderContainer'; class App extends Component { + render() { - const {isLoggedIn, updateMessages, isDialogOpen, dialogContent} = this.props; + const { isLoggedIn, updateMessages, isDialogOpen, dialogContent } = this.props; + let hasAccesToken = localStorage.accessToken; return (
{ !isLoggedIn - ? () - : () + ? hasAccesToken ? () : () + : () } - - + +
); } } const mapStateToProps = (state) => ({ - isLoggedIn: state.auth.isLoggedIn, - updateMessages: state.notificationReducer.updateMessages, - isDialogOpen: state.dialogReducer.isDialogOpen, - dialogContent: state.dialogReducer.dialogContent + isLoggedIn: state.auth.isLoggedIn, + updateMessages: state.notificationReducer.updateMessages, + isDialogOpen: state.dialogReducer.isDialogOpen, + dialogContent: state.dialogReducer.dialogContent }); export default connect(mapStateToProps)(App); diff --git a/frontend/src/containers/LoaderContainer.jsx b/frontend/src/containers/LoaderContainer.jsx new file mode 100644 index 0000000..5b14039 --- /dev/null +++ b/frontend/src/containers/LoaderContainer.jsx @@ -0,0 +1,27 @@ +import React, { Component } from 'react'; +import { connect } from 'react-redux'; +import './loaderContainer.css'; +import { validateAccessToken } from '../actions/login/authActions'; +import { + Col +} from 'reactstrap'; + +class LoaderContainer extends Component { + + componentDidMount() { + if (localStorage.accessToken) { + this.props.dispatch(validateAccessToken()); + } + } + + render() { + return ( + + + + ) + } + +} + +export default connect()(LoaderContainer); \ No newline at end of file diff --git a/frontend/src/containers/loaderContainer.scss b/frontend/src/containers/loaderContainer.scss new file mode 100644 index 0000000..efd6a3b --- /dev/null +++ b/frontend/src/containers/loaderContainer.scss @@ -0,0 +1,3 @@ +.login-loader { + padding: 100px +} diff --git a/frontend/src/containers/login/LogInForm.jsx b/frontend/src/containers/login/LogInForm.jsx index 7d69f4e..6da0db9 100644 --- a/frontend/src/containers/login/LogInForm.jsx +++ b/frontend/src/containers/login/LogInForm.jsx @@ -9,7 +9,7 @@ import { Button } from 'reactstrap'; import './login.css'; -import {validateCredentials, validateAccessToken, generatePassword} from '../../actions/login/authActions'; +import {validateCredentials, generatePassword} from '../../actions/login/authActions'; import {setDialogContent, setDialogOpenFlag} from '../../actions/dialog/dialogActions'; import {loginMessages, loginTexts} from '../../constants/authConstants'; @@ -53,12 +53,6 @@ class LogInForm extends Component { this.props.dispatch(generatePassword(currentDialogState.inputValue)); } - componentDidMount() { - if (localStorage.accessToken) { - this.props.dispatch(validateAccessToken()); - } - } - setDialogParams(dialogContent) { this.props.dispatch(setDialogOpenFlag(true)); this.props.dispatch(setDialogContent(dialogContent));