Projekt

Obecné

Profil

Stáhnout (2.36 KB) Statistiky
| Větev: | Tag: | Revize:
1
import React, { useEffect, useState } from 'react';
2
import './App.css';
3
import Nav from './Nav';
4
import Overview from './Overview';
5
import OverviewAdmin from './OverviewAdmin';
6
import Calendar from './Calendar';
7
import UpcomingRequests from './UpcomingRequests';
8
import YourRequests from './YourRequests';
9
import Setting from './Setting';
10
import LogOut from './LogOut';
11
import Login from './Login';
12
import { BrowserRouter, Route, Switch } from "react-router-dom";
13
import * as api_fetch from './api'
14

    
15
function App() {
16

    
17
  useEffect(() => {
18
    api_fetch.getCurrentProfile().then(currentProfile => {
19
    setUserName(currentProfile);
20
    }).catch(reason => {
21
      alert(reason)
22
    });
23
  }, []);
24

    
25

    
26
  const [userName, setUserName] = useState([
27
    {
28
    name: 'Golstoj Hyhrenciv'
29
  }
30
]);
31

    
32
  return (
33
    <BrowserRouter>
34
      <div className="App">
35
        <Nav userName={userName} />
36
        <div className="container">
37
        <Switch>
38
          <Route path="/" exact component={() => <Home userName={userName}/>}/>
39
          
40
          <Route path="/setting">{userName.role === 'EMPLOYER' ? <Setting/>:
41
           <div className="permissionText column">
42
             <p>You don't have permission to access on this server.</p>
43
            </div>}</Route> 
44

    
45
          <Route path="/logout"><LogOut/></Route>
46
          <Route path="/login"><Login/></Route>
47
        </Switch>  
48
        </div>
49
      </div>
50
    </BrowserRouter>
51
  );
52
}
53

    
54
const Home = (props) => {
55
  const [userRequest, setUser] = useState([]);
56

    
57
  const [acceptedRequest, setRequest] = useState([]);
58

    
59
  useEffect(() => {
60
    const dataUserRequest = getDataUserRequest();
61
    setUser(dataUserRequest);
62
  }, []);
63

    
64
  function getDataUserRequest() {
65
    return ([]);
66
  }
67
  
68
  return (
69
  <div className="container">
70
    <div className="main-content">
71
      {props.userName.role === 'EMPLOYER' ? <UpcomingRequests userRequest={userRequest} setUser={setUser} acceptedRequest={acceptedRequest} setRequest={setRequest} /> : <YourRequests userRequest={userRequest} setUser={setUser} acceptedRequest={acceptedRequest} setRequest={setRequest} userName={props.userName}/>}
72
      <Calendar setUser={setUser} userRequest={userRequest} acceptedRequest={acceptedRequest} setRequest={setRequest} userName={props.userName}/> 
73
    </div>
74
    {props.userName.role === 'EMPLOYER' ? <OverviewAdmin /> : <Overview userName={props.userName} />}
75
  </div>
76
  )
77
};
78

    
79
export default App;
80

    
(2-2/17)