blob: 10db90a70cfb2e4ffd6dc6de27ffc85876256661 [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';
Adrien Béraudfe56ba32021-04-08 00:32:11 -040011import './App.scss';
Larbi Gharibe9af9732021-03-31 15:08:01 +010012
Larbi Gharibe9af9732021-03-31 15:08:01 +010013import { BrowserRouter as Router, Route, Switch, Link, Redirect } from 'react-router-dom';
14
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040015import SignInPage from "./pages/loginDialog.jsx"
Adrien Béraud6ecaa402021-04-06 17:37:25 -040016import JamiMessenger from "./pages/messenger.jsx"
17import AccountSettings from "./pages/accountSettings.jsx"
18import AccountSelection from "./pages/accountSelection.jsx"
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040019import AddContactPage from "./pages/addContactPage.jsx"
20
Larbi Gharibe9af9732021-03-31 15:08:01 +010021import NotFoundPage from "./pages/404.jsx"
22
Larbi Gharibe9af9732021-03-31 15:08:01 +010023class App extends React.Component {
Adrien Béraud6ecaa402021-04-06 17:37:25 -040024 constructor(props) {
25 super(props);
26 this.state = {
27 authenticated: authManager.isAuthenticated(),
28 };
29 authManager.setOnAuthChanged(authenticated => this.setState({authenticated}))
30 }
Larbi Gharibe9af9732021-03-31 15:08:01 +010031
32 render() {
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040033 console.log("App render")
34 console.log(this.props)
35
Adrien Béraud6ecaa402021-04-06 17:37:25 -040036 return <React.Fragment>
37 <CssBaseline />
38 <Router>
39 <Switch>
40 <Route exact path="/"><Redirect to="/account" /></Route>
Adrien Béraud995e8022021-04-08 13:46:51 -040041 <Route path="/account/:accountId/settings" component={AccountSettings} />
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040042 <Route path="/account/:accountId/addContact/:contactId" component={JamiMessenger} />
43 <Route path="/account/:accountId/conversation/:conversationId" component={JamiMessenger} />
44 <Route path="/account/:accountId" component={JamiMessenger} />
Adrien Béraud6ecaa402021-04-06 17:37:25 -040045 <Route path="/account" component={AccountSelection} />
Adrien Béraud6ecaa402021-04-06 17:37:25 -040046 <Route component={NotFoundPage} />
47 </Switch>
48 </Router>
49 {!this.state.authenticated && <SignInPage open={!this.state.authenticated}/>}
50 </React.Fragment>
Larbi Gharibe9af9732021-03-31 15:08:01 +010051 }
52}
53
Adrien Béraud6ecaa402021-04-06 17:37:25 -040054export default App