source: frontend/src/Pages/NoBusinessRegisteredError.js@ 0f5aa27

Last change on this file since 0f5aa27 was 0f5aa27, checked in by darsov2 <62809499+darsov2@…>, 5 months ago

ouath, mailing impl

  • Property mode set to 100644
File size: 4.8 KB
Line 
1import React, { useEffect } from "react";
2import { useState } from "react";
3import Navigation from "../Components/Layout/Navbar/Navigation";
4import { Row, Col, Container, Button, Modal } from "react-bootstrap";
5import { IoBusinessSharp } from "react-icons/io5";
6import RegisterBusinessForm from "../Components/Forms/RegisterBusinessForm";
7import useGet from "../Components/Hooks/useGet";
8import {Navigate, useNavigate} from "react-router-dom";
9import {useAuth} from "../Components/Context/AuthContext";
10
11const NoBusinessRegisteredError = (props) => {
12 const [show, setShow] = useState(false);
13 const [changed, setChanged] = useState(0);
14 const Auth = useAuth();
15 const isLoggedIn = Auth.userIsAuthenticated();
16 const userId = Auth.getUser().userId
17 const [registered, setRegistered] = useState(false);
18 let checked = false;
19 const navigator = useNavigate()
20
21 const handleClose = () => setShow(false);
22 const handleShow = (e) => {
23 e.preventDefault();
24 setShow(true);
25 };
26
27 const { data: firma, isLoading: firmaIsLoading, getData: getFirmi} = useGet("/business/" + userId + "/unapproved", changed)
28 const { data, isLoading, getData} = useGet("/" + userId + "/hasBusiness")
29
30
31 useEffect(() => {
32
33 console.log(firma)
34 setRegistered(() => {
35 return firma !== null && firma.length > 0
36 })
37
38 }, [firmaIsLoading])
39
40 // useEffect(() => {
41
42 // setRegistered(() => {
43 // console.log(data)
44 // return data !== null && data
45 // })
46
47 // }, [isLoading])
48
49
50 if(!isLoggedIn)
51 {
52 return <Navigate to={'/login'}/>
53 }
54
55 !isLoading && data && navigator("/resources/hotel")
56
57
58 return (
59 <>
60 <Navigation></Navigation>
61 {!registered && (
62 <Container>
63 <Row className="mt-5 mb-3">
64 <Col>
65 <h3 style={{ color: "#159895" }}>
66 За да менаџирате со Вашите ресурси мора да имате регистрирано
67 фирма одобрена од администраторот!
68 </h3>
69 </Col>
70 </Row>
71 <Row>
72 <Col>
73 <Button
74 type="button"
75 onClick={handleShow}
76 style={{
77 backgroundColor: "#159895",
78 border: "2px solid white",
79 }}
80 size="lg"
81 >
82 <span className="ikona my-1" color="white">
83 <IoBusinessSharp style={{ color: "white" }} />
84 </span>
85 <span className="ikona mx-3">Регистрирај фирма</span>
86 </Button>
87 </Col>
88 </Row>
89 </Container>
90 )}
91 {registered && (
92 <>
93 <Container>
94 <Row className="mt-5">
95 <Col className="mb-5">
96 <h3 className="mb-5" style={{ color: "#159895" }}>
97 {" "}
98 За да менаџирате со Вашите ресурси мора да имате регистрирано
99 фирма одобрена од администраторот!
100 </h3>
101 <h4 style={{ color: "#159895" }}>
102 Тековни неодобрени регистрации
103 </h4>
104 </Col>
105 </Row>
106 <Row>
107 <Container className="w-75">
108 <table className="table table-hover">
109 <thead>
110 <tr>
111 <th scope="col">Ред. бр.</th>
112 <th scope="col">Име на фирма</th>
113 <th scope="col">Адреса</th>
114 <th scope="col">Даночен број</th>
115 <th scope="col">Одговорно лице</th>
116 </tr>
117 </thead>
118 <tbody>
119 {!firmaIsLoading && firma.map((f, i) => { return <tr key={f.businessId}>
120 <th scope="row">{i + 1}</th>
121 <td>{f.name}</td>
122 <td>{f.address}</td>
123 <td>{f.edbs}</td>
124 <td>{f.user.name + " " + f.user.surname}</td>
125 </tr>})}
126 </tbody>
127 </table>
128 </Container>
129 </Row>
130 </Container>
131 </>
132 )}
133
134 <Modal show={show} onHide={handleClose}>
135 <Modal.Header closeButton>
136 <Modal.Title style={{ color: "#159895" }}>
137 Регистрација на фирма
138 </Modal.Title>
139 </Modal.Header>
140 <Modal.Body>
141 <RegisterBusinessForm hide={handleClose} edit={setChanged}></RegisterBusinessForm>
142 </Modal.Body>
143 </Modal>
144 </>
145 );
146};
147
148export default NoBusinessRegisteredError;
Note: See TracBrowser for help on using the repository browser.