import React, { Component } from 'react'; import './App.css'; import TopMenu from './components/TopMenu'; import PublicPage from './components/PublicPage'; import PrivatePage from './components/PrivatePage'; import UserManagement from './components/UserComponents/UserManagement'; import DegreeCourseManagement from './components/DegreeCourseComponents/DegreeCourseManagement'; import CreateNewUserForm from './components/UserComponents/CreateNewUser'; import DegreeCourseApplicationManagement from './components/ApplicationComponents/DegreeCourseApplicationManagement' import { connect } from 'react-redux'; import { Routes, Route, Navigate } from 'react-router-dom'; const mapStateToProps = state => { return { user: state.AuthenticationReducer.user }; } class App extends Component { render() { const user = this.props.user let workspace; if (user) { workspace = <Routes> <Route path="/" element={<PrivatePage />}></Route> <Route exact path="/userManagement" element={<UserManagement />}></Route> <Route path='/createNewUserForm' element={<CreateNewUserForm />}></Route> <Route exact path='/degreeCourseManagement' element={<DegreeCourseManagement />}></Route> <Route path='/degreeCourseApplicationManagement' element={<DegreeCourseApplicationManagement />}></Route> <Route path='*' element={<Navigate to="/" />}></Route> </Routes> } else { workspace = <Routes> <Route path="/" element={<PublicPage />}></Route> <Route path='*' element={<Navigate to="/" />}></Route> </Routes> } return ( <div className="App"> <TopMenu /> {workspace} </div> ); } } export default connect(mapStateToProps)(App);