Projekt

Obecné

Profil

Stáhnout (2.89 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
  const [userName, setUserName] = useState([
26
    { name: 'Golstoj Hyhrenciv' }
27
  ]);
28

    
29

    
30

    
31
  return (
32
    <BrowserRouter>
33
      <div className="App">
34
        <Nav userName={userName} />
35
        <div className="container">
36
        <Switch>
37
          <Route path="/" exact component={() => <Home userName={userName} setUserName={setUserName}/>}/>
38
          <Route path="/setting">
39
            {userName.role === 'EMPLOYER'
40
            ?
41
              <Setting/> 
42
            :
43
              <div className="permissionText column">
44
                <p>You don't have permission to access on this server.</p>
45
              </div>
46
            }
47
          </Route> 
48
          <Route path="/logout"><LogOut/></Route>
49
          <Route path="/login"><Login/></Route>
50
        </Switch>  
51
        </div>
52
      </div>
53
    </BrowserRouter>
54
  );
55
}
56

    
57
const Home = (props) => {
58
  const [userRequest, setUser] = useState([]);
59

    
60
  const [acceptedRequest, setRequest] = useState([]);
61

    
62
  useEffect(() => {
63
    const dataUserRequest = getDataUserRequest();
64
    setUser(dataUserRequest);
65
  }, []);
66

    
67
  // OverviewAdmin state 
68
  const [employees, setEmployees] = useState([
69
    {
70
       name: 'Sadam',
71
       id: 0,
72
       sickday: 10,
73
       holiday: 10,
74
       takenSickday: 2
75
    }
76
 ]);
77

    
78
  function getDataUserRequest() {
79
    return ([]);
80
  }
81
  
82
  return (
83
    <div className="container">
84
      <div className="main-content">
85
        {props.userName.role === 'EMPLOYER'
86
        ? 
87
          <UpcomingRequests userRequest={userRequest} setUser={setUser} acceptedRequest={acceptedRequest} setRequest={setRequest} setEmployees={setEmployees}/>
88
        : 
89
          <YourRequests userRequest={userRequest} setUser={setUser} acceptedRequest={acceptedRequest} setRequest={setRequest} userName={props.userName}/>
90
        }
91
        <Calendar setUser={setUser} userRequest={userRequest} acceptedRequest={acceptedRequest} setRequest={setRequest} userName={props.userName} setEmployees={setEmployees} setUserName={props.setUserName}/> 
92
      </div>
93
      {props.userName.role === 'EMPLOYER'
94
      ?
95
        <OverviewAdmin employees={employees} setEmployees={setEmployees} />
96
      :
97
        <Overview userName={props.userName} employees={employees}  />
98
      }
99
    </div>
100
  )
101
};
102

    
103
export default App;
104

    
(2-2/17)