source: frontend/src/Components/RestaurantEdit/RestaurantEditTab.js@ 07f4e8b

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

prefinal fixes

  • Property mode set to 100644
File size: 4.9 KB
Line 
1import React from "react";
2import { Container, Col, Row, Image, Nav, Tab } from "react-bootstrap";
3import { useState } from "react";
4import { FaTaxi, FaHotel } from "react-icons/fa";
5import { MdOutlineStickyNote2, MdOutlineTableBar } from "react-icons/md";
6import AddNew from "../Resources/AddNew";
7import { BiData } from "react-icons/bi";
8import AddRestaurantForm from "../Forms/AddRestaurantForm";
9import MenuListing from "./MenuListing";
10import TableListing from "./TableListing";
11import EditModal from "../Resources/EditModal";
12import ReservationListing from "../HotelEdit/ReservationListing";
13import useGet from "../Hooks/useGet";
14
15function RestaurantEditTab(props) {
16
17
18 const [activeTab, setActiveTab] = useState("/hotel");
19 const [modalData, setModalData] = useState("")
20 const [changed, setChanged] = useState(0)
21
22 const [show, setShow] = useState(false);
23
24 const handleClose = () => setShow(false);
25 const handleShow = () => {
26 //e.preventDefault();
27 setShow(true);
28
29 };
30
31 const showModal = (modalData) => {
32 setModalData(modalData);
33 handleShow();
34 }
35
36 const handleSelect = (eventKey) => {
37 setActiveTab(eventKey);
38 };
39
40 const {
41 data,
42 isLoading,
43 setData,
44 getData,
45 setChanged: dhanged
46 } = useGet(`/restaurant/${props.displayMenu.restaurantID}/reservations/active`)
47
48 console.log(props.displayMenu.restaurantID)
49 return (
50 <Container className="rounded-5">
51 <Tab.Container
52 activeKey={activeTab}
53 onSelect={handleSelect}
54 className="bg-dark rounded-5"
55 >
56 <Nav
57 fill
58 variant="tabs"
59 className="bg-body rounded-top-5"
60 activeKey="/hotel"
61 id="tab_item"
62 >
63 <Nav.Item className="tab_item rounded-5">
64 <Nav.Link eventKey="/hotel" className="text-left rounded-5">
65 <span className="ikona">
66 <FaHotel
67 color="#159895"
68 style={{ lineHeight: "100em" }}
69 size={"1.5em"}
70 className="mx-3"
71 />
72 </span>
73 <span className="ikona">Мени</span>
74 </Nav.Link>
75 </Nav.Item>
76 <Nav.Item className="tab_item rounded-5">
77 <Nav.Link eventKey="/masi" className="text-left rounded-5">
78 <span className="ikona">
79 <MdOutlineTableBar
80 color="#159895"
81 style={{ lineHeight: "100em" }}
82 size={"1.5em"}
83 className="mx-3"
84 />
85 </span>
86 <span className="ikona">Маси</span>
87 </Nav.Link>
88 </Nav.Item>
89 <Nav.Item className="tab_item">
90 <Nav.Link eventKey="/restaurant">
91 <span className="ikona">
92 <MdOutlineStickyNote2 color="#159895" size={"1.5em"} className="mx-3" />
93 </span>
94 <span className="ikona">Резервации</span>
95 </Nav.Link>
96 </Nav.Item>
97 <Nav.Item className="tab_item rounded-5">
98 <Nav.Link eventKey="/transport" className="text-left rounded-5">
99 <span className="ikona">
100 <BiData color="#159895" size={"1.5em"} className="mx-3" />
101 </span>
102 <span className="ikona">Општи податоци</span>
103 </Nav.Link>
104 </Nav.Item>
105 </Nav>
106
107 <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
108 <Tab.Pane eventKey="/hotel">
109 {props.displayMenu.menus.map((menu) => {
110 return <MenuListing key={menu.menuId} data={menu} showModal={showModal}/>
111 })}
112 {activeTab === '/hotel' && <EditModal show={show} refresh={props.refresh} handleClose={handleClose} type="menu" menu={modalData}></EditModal>}
113 <AddNew Id={props.displayMenu.restaurantID} refresh={props.refresh} type="menu"/>
114 </Tab.Pane>
115 <Tab.Pane eventKey="/masi">
116 {props.displayMenu.tables.map((table) => {
117 return <TableListing key={table.tableId} refresh={props.refresh} showModal={showModal} handleClose={handleClose} data={table}/>
118 })}
119 {activeTab === '/masi' && <EditModal show={show} handleClose={handleClose} refresh={props.refresh} type="table"
120 table={modalData}></EditModal>}
121 <AddNew Id={props.displayMenu.restaurantID} refresh={props.refresh} type="table"/>
122 </Tab.Pane>
123 <Tab.Pane eventKey="/restaurant">
124 {!isLoading && data.map((res) => {
125 return (
126 <ReservationListing type={'restaurant'} data={res}/>
127 )
128 })}
129 </Tab.Pane>
130 <Tab.Pane eventKey="/transport">
131 <AddRestaurantForm refresh={props.refresh} restaurant={props.displayMenu}/>
132 </Tab.Pane>
133 </Tab.Content>
134 </Tab.Container>
135 </Container>
136 );
137}
138
139export default RestaurantEditTab;
Note: See TracBrowser for help on using the repository browser.