import React, { Component } from 'react'; import './App.css'; import TopMenu from './react/authentication/components/TopMenu'; import PublicPage from './react/pages/PublicPage'; import PrivatePage from './react/pages/PrivatePage'; import UserManagement from '../src/react/user/UserManagement'; import DegreeCourseManagement from '../src/react/degreeCourse/DegreeCourseManagement'; import CreateNewUserForm from '../src/react/user/components/CreateNewUser'; import DegreeCourseApplicationManagement from '../src/react/degreeCourseApplication/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);