source: frontend/src/Components/Resources/ResourcesTab.js@ e9b4ba9

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

prototype

  • Property mode set to 100644
File size: 4.5 KB
Line 
1import React, { useTransition } from "react";
2import { Container, Col, Row, Image, Nav, Tab } from "react-bootstrap";
3import { useState } from "react";
4import { FaTaxi, FaHotel } from "react-icons/fa";
5import { MdRestaurant } from "react-icons/md";
6import AddNew from "./AddNew";
7import ResourceListing from "./ResourceListing";
8import { Link } from "react-router-dom";
9import useGet from "../Hooks/useGet";
10
11function ResourcesTab(props) {
12 const [activeTab, setActiveTab] = useState(props.tab);
13 // const [changed, setChanged] = useState(0);
14 const userId = localStorage.getItem("userId");
15 const { data, setData, isLoading, getData, setChanged } = useGet(`${props.tab}/user/${userId}`);
16
17 const handleSelect = (eventKey) => {
18 setActiveTab(eventKey);
19 console.log(props.refresh);
20 props.refresh(eventKey);
21 console.log("refresh" + eventKey);
22 };
23
24 !isLoading && console.log(data);
25 console.log(props.tab);
26
27 return (
28 <Container className="rounded-5">
29 <Tab.Container
30 activeKey={activeTab}
31 onSelect={handleSelect}
32 className="bg-dark rounded-5"
33 >
34 <Nav
35 fill
36 variant="tabs"
37 className="bg-body rounded-top-5"
38 activeKey="/hotel"
39 id="tab_item"
40 >
41 <Nav.Item className="tab_item rounded-5">
42 <Nav.Link href="/resources/hotel" className="text-left rounded-5">
43 <span className="ikona">
44 <FaHotel
45 color="#159895"
46 style={{ lineHeight: "100em" }}
47 size={"1.5em"}
48 className="mx-3"
49 />
50 </span>
51 <span className="ikona">Сместувања</span>
52 </Nav.Link>
53 </Nav.Item>
54 <Nav.Item className="tab_item">
55 <Nav.Link href="/resources/restaurant">
56 <span className="ikona">
57 <MdRestaurant color="#159895" size={"1.5em"} className="mx-3" />
58 </span>
59 <span className="ikona">Ресторани</span>
60 </Nav.Link>
61 </Nav.Item>
62 <Nav.Item className="tab_item rounded-5">
63 <Nav.Link
64 href="/resources/transport"
65 className="text-left rounded-5"
66 >
67 <span className="ikona">
68 <FaTaxi color="#159895" size={"1.5em"} className="mx-3" />
69 </span>
70 <span className="ikona">Превоз</span>
71 </Nav.Link>
72 </Nav.Item>
73 </Nav>
74
75 <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
76 <Tab.Pane eventKey="/hotel" key="hotelPane">
77 {props.tab == "/hotel" && !isLoading && data != null &&
78 data.map((hotel) => {
79 return (
80 <Link key={hotel.hotelId} to={"/resources/hotel/" + hotel.hotelId}>
81 <ResourceListing
82 key={hotel.hotelId}
83 id={hotel.hotelId}
84 type="hotel"
85 data={hotel}
86 />
87 </Link>
88 );
89 })}
90 <AddNew type="hotel" refresh={setChanged} />
91 </Tab.Pane>
92 <Tab.Pane eventKey="/restaurant" key="restaurantPane">
93 {props.tab == "/restaurant" && !isLoading && data != null &&
94 data.map((restaurant) => {
95 console.log("mapiranje " + restaurant)
96 return (
97 <Link key={restaurant.restaurantId} to={"/resources/restaurant/" + restaurant.restaurantID}>
98 <ResourceListing
99 key={restaurant.restaurantId}
100 type="restaurant"
101 data={restaurant}
102 />
103 </Link>
104 );
105 })}
106 <AddNew type="restaurant" refresh={setChanged}/>
107 </Tab.Pane>
108 <Tab.Pane eventKey="/transport" key="transportPane">
109 {props.tab == "/transport" && !isLoading && data.length > 0 &&
110 data.map((transport) => {
111 return (
112 <ResourceListing
113 key={transport.transportId}
114 id={transport.transportId}
115 type="transport"
116 data={transport}
117 />
118 );
119 })}
120 <AddNew type="transport" refresh={setChanged}/>
121 </Tab.Pane>
122 </Tab.Content>
123 </Tab.Container>
124 </Container>
125 );
126}
127
128export default ResourcesTab;
Note: See TracBrowser for help on using the repository browser.