blob: c943b715782f8fccdfa53f953863b0902b4cffc8 [file] [log] [blame]
Larbi Gharibe9af9732021-03-31 15:08:01 +01001/*
2 Company: Savoir-faire Linux
3 Author: Larbi Gharib <larbi.gharib@savoirfairelinux.com>
Larbi Gharibe9af9732021-03-31 15:08:01 +01004 License: AGPL-3
5*/
6
7import React from 'react';
Adrien Béraud6ecaa402021-04-06 17:37:25 -04008import CssBaseline from '@material-ui/core/CssBaseline';
9import authManager from './AuthManager'
Larbi Gharibe9af9732021-03-31 15:08:01 +010010//import logo from './logo.svg';
11import './App.css';
12
Larbi Gharibe9af9732021-03-31 15:08:01 +010013import { BrowserRouter as Router, Route, Switch, Link, Redirect } from 'react-router-dom';
14
Adrien Béraud6ecaa402021-04-06 17:37:25 -040015import SignInPage from "./pages/loginDialog.jsx";
16import JamiMessenger from "./pages/messenger.jsx"
17import AccountSettings from "./pages/accountSettings.jsx"
18import AccountSelection from "./pages/accountSelection.jsx"
Larbi Gharibe9af9732021-03-31 15:08:01 +010019import NotFoundPage from "./pages/404.jsx"
20
Larbi Gharibe9af9732021-03-31 15:08:01 +010021class App extends React.Component {
Adrien Béraud6ecaa402021-04-06 17:37:25 -040022 constructor(props) {
23 super(props);
24 this.state = {
25 authenticated: authManager.isAuthenticated(),
26 };
27 authManager.setOnAuthChanged(authenticated => this.setState({authenticated}))
28 }
Larbi Gharibe9af9732021-03-31 15:08:01 +010029
30 render() {
Adrien Béraud6ecaa402021-04-06 17:37:25 -040031 return <React.Fragment>
32 <CssBaseline />
33 <Router>
34 <Switch>
35 <Route exact path="/"><Redirect to="/account" /></Route>
36 <Route path="/account/:accountId" component={AccountSettings} />
37 <Route path="/account" component={AccountSelection} />
38 <Route path="/messaging" component={JamiMessenger} />
39 <Route component={NotFoundPage} />
40 </Switch>
41 </Router>
42 {!this.state.authenticated && <SignInPage open={!this.state.authenticated}/>}
43 </React.Fragment>
Larbi Gharibe9af9732021-03-31 15:08:01 +010044 }
45}
46
Adrien Béraud6ecaa402021-04-06 17:37:25 -040047export default App