-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
73 lines (66 loc) · 2.9 KB
/
App.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import React, { useState, useEffect } from 'react';
import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
import Error404 from './pages/error404/error404';
import Home from './pages/home/home';
import { ToastContainer } from 'react-toastify';
import Signupg from './pages/Signup';
import axios from 'axios';
import UsrServDashboard from './pages/userdashboard/UsrServServices';
import UploaderD from './pages/Uploader/uploader.jsx'
import Landing from './pages/landing/land';
import Uploadtodo from './pages/do/Uploadtodo.js';
import Uploader from './pages/TempUploader/uploader.jsx';
import UserDashboard from './pages/userdashboard/userDashboard';
import DownloadTempFile from './pages/tempfiledownload/DownloadTempFile.jsx';
import SenderPage from './pages/p2p/Sender.jsx';
import ReceiverPage from './pages/p2p/receiver.jsx';
import MainMenu from './components/mainmenu/MainMenu.js';
import PaymentSuccess from './pages/payment/sucess.jsx';
import PaymentFailure from './pages/payment/failure.jsx';
import { urlforback } from './url.js';
function App() {
const url = `${urlforback}api`;
const [isLogged, setIsLogged] = useState(!!window.localStorage.getItem("IsLogged"));
const token = window.localStorage.getItem('token');
useEffect( () => {
if(token && isLogged) {
axios.post(`${url}/verifytoken`, { 'token': token })
.then((d) => {
window.sessionStorage.setItem('user', d.data.username);
window.sessionStorage.setItem('id', d.data.id);
window.localStorage.setItem('IsLogged', true);
setIsLogged(true);
})
.catch((e) => {
window.localStorage.removeItem('IsLogged');
window.localStorage.removeItem('token');
setIsLogged(false);
console.log(e)
});
}
}, []);
return (
<div>
<ToastContainer className={'hide-scrolbar'} theme='dark' />
<BrowserRouter>
<Routes>
<Route index element={<MainMenu/>}/>
<Route path="/login" element={!isLogged ? <Signupg /> : <Navigate to="/dashboard" />} />
<Route path="*" element={<Error404 />} />
<Route path='/uploader' element={<Uploader/>}/>
<Route path='/demo' element={<UploaderD/>}/>
<Route path='/landing' element={<Landing/>}></Route>
<Route path='/services' element={<UsrServDashboard/>} />
<Route path='/uploadtodo' element={<Uploadtodo/>}> </Route>
<Route path='/dashboard' element={<UserDashboard/>}/>
<Route path='/p2psender/?' element={<SenderPage/>}/>
<Route path='/p2preceiver/?' element={<ReceiverPage/>}/>
<Route path='/paysuc' element={<PaymentSuccess/>}/>
<Route path='/payfail' element={<PaymentFailure/>}/>
<Route path='/admin' element = {<Home/>}/>
<Route path="/DownloadTempFile/:filename?" element={<DownloadTempFile/>}/> </Routes>
</BrowserRouter>
</div>
);
}
export default App;