source: frontend/src/Components/RestaurantEdit/RestaurantEditTab.js@ ac19a0c

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

authContext impl, admin panel impl, search bar fixes, reservations listings impl

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