Ignore:
Timestamp:
01/16/24 16:34:03 (6 months ago)
Author:
darsov2 <62809499+darsov2@…>
Branches:
master
Children:
07f4e8b
Parents:
e6c2521
Message:

revert

Location:
frontend/src/Components
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • frontend/src/Components/Forms/AddHotelForm.js

    re6c2521 r5528b99  
    119119                  return prevState + 1;
    120120                })
    121                 if(!edit)
    122                   props.closeModal()
    123121              }}
    124122            >
  • frontend/src/Components/Forms/AddRestaurantForm.js

    re6c2521 r5528b99  
    8585                  return prevState + 1;
    8686                })
    87                 props.closeModal()
    8887              }}
    8988            >
  • frontend/src/Components/Forms/AddRoomForm.js

    re6c2521 r5528b99  
    1313    hotelRoomDescription: "",
    1414    hotelRoomName: "",
    15     numOfBeds: "",
     15    numBeds: "",
    1616    price: "",
    1717    kitchenAvailable: false,
     
    5858            type="number"
    5959            placeholder="Внесете го бројот на кревети"
    60             value={formData.numOfBeds}
    61             name="numOfBeds"
     60            value={formData.numBeds}
     61            name="numBeds"
    6262            onChange={onFormChange}
    6363            />
     
    117117              style={{ backgroundColor: "#159895" }}
    118118              size="md"
    119               onClick={(e) => {
    120                 e.preventDefault();
    121                 props.refresh((prev) => {
    122                   return ++prev;
    123                 })
     119              onClick={() => {
     120                console.log(formData);
    124121                createHotelRoom(formData);
    125                 props.closeModal();
    126122              }}
    127123            >
  • frontend/src/Components/Forms/AddTransportForm.js

    re6c2521 r5528b99  
    1111      transportName: "",
    1212      carBrand: "",
    13       carType: "",
     13      carType: false,
    1414      carManufacturedYear: 1900,
    1515      noPassengers: 0,
     
    107107                createTransport(formData, edit);
    108108                props.refresh((prev) => {
    109                   return ++prev;
     109                  return prev + 1;
    110110                })
    111                 if(!edit)
    112                     props.closeModal()
    113111              }}
    114112            >
  • frontend/src/Components/Forms/EditRoomForm.js

    re6c2521 r5528b99  
    2828    } = useGet(`/hotel/rooms/${props.room.hotelRoomId}/available`)
    2929
    30     console.log(`/hotel/rooms/${props.room.hotelRoomId}/available`)
    31 
    3230    !isLoading && console.log(data)
    3331
     
    4442                            <tr>
    4543                                <th>#</th>
     44<<<<<<< HEAD
    4645                                <th>Oд</th>
    4746                                <th>До</th>
    4847                                <th>Цена</th>
     48=======
     49                                <th>Достапно од</th>
     50                                <th>Достапно до</th>
     51                                <th>Број на соби</th>
     52>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    4953                            </tr>
    5054                            </thead>
  • frontend/src/Components/Hooks/Hotel/useCreateHotel.js

    re6c2521 r5528b99  
    66const useCreateHotel = () => {
    77
     8    //const history = useNavigate();
    89    const createHotel = async (hotel, edit) => {
    910                console.log({hotel})
    1011                console.log(hotel)
    11                 console.log("vo createhotel")
    1212
    1313                if(!edit)
     
    1616                        .post(`/hotel/add`, hotel, {
    1717                                params: {
    18                                         userId: JSON.parse(localStorage.getItem("user")).userId
     18                                        userId: localStorage.getItem("userId")
    1919                                }
    2020                        })
  • frontend/src/Components/Hooks/Restaurant/useCreateRestaurant.js

    re6c2521 r5528b99  
    1515                        .post(`/restaurant/add`, restaurant, {
    1616                                params: {
    17                                         userId: JSON.parse(localStorage.getItem('user')).userId,
     17                                        userId: localStorage.getItem('userId')
    1818                                }
    1919                        })
  • frontend/src/Components/Hooks/Transport/useCreateTransport.js

    re6c2521 r5528b99  
    44
    55const useCreateTransport = () => {
    6         const userId = JSON.parse(localStorage.getItem('user')).userId
     6
    77    const createTransport = async (transport, edit) => {
    88                        if(!edit)
    99                        {
    1010                                await axios
    11                     .post(`/transport/add/` + userId, transport)
     11                    .post(`/transport/add`, transport)
    1212                    .then((res) => {
    1313                        //history.push('/transport');
  • frontend/src/Components/Hooks/User/useLogin.js

    re6c2521 r5528b99  
    44import { Navigate, useAsyncValue, useNavigate } from "react-router-dom";
    55import LoginForm from "../../Login/LoginForm.js";
    6 import {useAuth} from "../../Context/AuthContext";
    76
    87const useLogin = () => {
    98
    109    const navigator = useNavigate()
    11         const Auth = useAuth();
    1210    //const history = useNavigate();
    1311    const login = async (loginData) => {
     
    2422                })
    2523                    .then((res) => {
    26                                         console.log("RES LOGIN")
    27                                         console.log(res)
    28                                         if(res.status === 200)
    29                                         {
    30                                                 const user = {
    31                                                         sessionId: res.data.auth.details.sessionId,
    32                                                         userId: res.data.auth.principal.userID,
    33                                                         username: res.data.auth.principal.username,
    34                                                         role: res.data.auth.principal.role,
    35                                                         name: res.data.auth.principal.name,
    36                                                         surname: res.data.auth.principal.surname,
    37                                                 }
    38                                                 Auth.userLogin(user);
    39                                                 console.log(user)
    40                                         }
    4124                                        const sessionId = res.data.auth.details.sessionId;
    4225                                        const userId = res.data.auth.principal.userID;
    43 
     26                                       
    4427                                        localStorage.setItem("sessionId", sessionId);
    4528                                        localStorage.setItem("userId", userId);
  • frontend/src/Components/Hooks/useGet.js

    re6c2521 r5528b99  
    1111        console.log(localStorage.getItem("sessionId"))
    1212        console.log("url od get " + uurl)
     13<<<<<<< HEAD
    1314        await axios.get(uurl, {maxRedirects: 0}).then((res) => {
    1415            console.log(res);
     
    2223            // window.location.href = '/error'
    2324        })
     25=======
     26        await axios.
     27            get(uurl).then((res) => {
     28                setData(res.data);
     29            }).catch((err) => {
     30                console.log(err)
     31            })
     32>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    2433            .finally(() => {
    2534                setIsLoading(false);
     
    3140        getData(url);
    3241    }, [dep, url, changed]);
    33 
     42   
    3443    return {
    3544        data,
  • frontend/src/Components/HotelEdit/HotelEditTab.js

    re6c2521 r5528b99  
    11import React from "react";
    2 import {Container, Col, Row, Image, Nav, Tab} from "react-bootstrap";
    3 import {useState} from "react";
    4 import {FaTaxi, FaHotel} from "react-icons/fa";
    5 import {MdOutlineStickyNote2} from "react-icons/md";
     2import { Container, Col, Row, Image, Nav, Tab } from "react-bootstrap";
     3import { useState } from "react";
     4import { FaTaxi, FaHotel } from "react-icons/fa";
     5import { MdOutlineStickyNote2 } from "react-icons/md";
    66import AddNew from "../Resources/AddNew";
    7 import {BiData} from "react-icons/bi"
     7import { BiData } from "react-icons/bi"
    88import RoomListing from "./RoomListing";
    99import HotelEditForm from "./HotelEditForm";
    1010import AddHotelForm from "../Forms/AddHotelForm";
    1111import EditModal from "../Resources/EditModal";
    12 import AddAvailability from "../Resources/AddAvailability";
    13 import useGet from "../Hooks/useGet";
    14 import ReservationListing from "./ReservationListing";
    1512
    1613function HotelEditTab(props) {
    17     const [activeTab, setActiveTab] = useState("/hotel");
    18     const [modalData, setModalData] = useState("");
    19     const [show, setShow] = useState(false);
     14  const [activeTab, setActiveTab] = useState("/hotel");
     15  const [modalData, setModalData] = useState("");
     16  const [show, setShow] = useState(false);
    2017
    21     console.log(props)
     18  const handleClose = () => setShow(false);
     19  const handleShow = () => {
     20    //e.preventDefault();
     21    setShow(true);
    2222
    23     const {
    24         data,
    25         isLoading,
    26         setData,
    27         getData,
    28         setChanged
    29     } = useGet(`/hotel/${props.displayRoom.hotelId}/reservations/active`)
     23  };
    3024
    31     !isLoading && console.log(data)
     25  const showModal = (modalData) => {
     26    setModalData(modalData);
     27    handleShow();
     28  }
     29  console.log(props.displayRoom)
    3230
    33     const handleClose = () => setShow(false);
    34     const handleShow = () => {
    35         //e.preventDefault();
    36         setShow(true);
     31  const handleSelect = (eventKey) => {
     32    setActiveTab(eventKey);
     33  };
    3734
    38     };
    39 
    40     const showModal = (modalData) => {
    41         setModalData(modalData);
    42         handleShow();
    43     }
    44     console.log(props.displayRoom)
    45 
    46     const handleSelect = (eventKey) => {
    47         setActiveTab(eventKey);
    48     };
    49 
    50     return (
    51         <Container className="rounded-5">
    52             <Tab.Container
    53                 activeKey={activeTab}
    54                 onSelect={handleSelect}
    55                 className="bg-dark rounded-5"
    56             >
    57                 <Nav
    58                     fill
    59                     variant="tabs"
    60                     className="bg-body rounded-top-5"
    61                     activeKey="/hotel"
    62                     id="tab_item"
    63                 >
    64                     <Nav.Item className="tab_item rounded-5">
    65                         <Nav.Link eventKey="/hotel" className="text-left rounded-5">
     35  return (
     36    <Container className="rounded-5">
     37      <Tab.Container
     38        activeKey={activeTab}
     39        onSelect={handleSelect}
     40        className="bg-dark rounded-5"
     41      >
     42        <Nav
     43          fill
     44          variant="tabs"
     45          className="bg-body rounded-top-5"
     46          activeKey="/hotel"
     47          id="tab_item"
     48        >
     49          <Nav.Item className="tab_item rounded-5">
     50            <Nav.Link eventKey="/hotel" className="text-left rounded-5">
    6651              <span className="ikona">
    6752                <FaHotel
    68                     color="#159895"
    69                     style={{lineHeight: "100em"}}
    70                     size={"1.5em"}
    71                     className="mx-3"
     53                  color="#159895"
     54                  style={{ lineHeight: "100em" }}
     55                  size={"1.5em"}
     56                  className="mx-3"
    7257                />
    7358              </span>
    74                             <span className="ikona">Соби</span>
    75                         </Nav.Link>
    76                     </Nav.Item>
    77                     <Nav.Item className="tab_item">
    78                         <Nav.Link eventKey="/restaurant">
     59              <span className="ikona">Соби</span>
     60            </Nav.Link>
     61          </Nav.Item>
     62          <Nav.Item className="tab_item">
     63            <Nav.Link eventKey="/restaurant">
    7964              <span className="ikona">
    80                 <MdOutlineStickyNote2 color="#159895" size={"1.5em"} className="mx-3"/>
     65                <MdOutlineStickyNote2 color="#159895" size={"1.5em"} className="mx-3" />
    8166              </span>
    82                             <span className="ikona">Резервации</span>
    83                         </Nav.Link>
    84                     </Nav.Item>
    85                     <Nav.Item className="tab_item rounded-5">
    86                         <Nav.Link eventKey="/transport" className="text-left rounded-5">
     67              <span className="ikona">Резервации</span>
     68            </Nav.Link>
     69          </Nav.Item>
     70          <Nav.Item className="tab_item rounded-5">
     71            <Nav.Link eventKey="/transport" className="text-left rounded-5">
    8772              <span className="ikona">
    88                 <BiData color="#159895" size={"1.5em"} className="mx-3"/>
     73                <BiData color="#159895" size={"1.5em"} className="mx-3" />
    8974              </span>
    90                             <span className="ikona">Општи податоци</span>
    91                         </Nav.Link>
    92                     </Nav.Item>
    93                 </Nav>
     75              <span className="ikona">Општи податоци</span>
     76            </Nav.Link>
     77          </Nav.Item>
     78        </Nav>
    9479
    95                 <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
    96                     <Tab.Pane eventKey="/hotel">
    97                         {props.displayRoom.hotelRooms.map((room) => {
    98                             return <RoomListing key={room.hotelRoomId} data={room} showModal={showModal}/>
    99                         })}
    100                         <EditModal show={show} handleClose={handleClose} type="room" room={modalData}></EditModal>
    101                         <AddNew Id={props.displayRoom.hotelId} refresh={props.refresh} type="room"/>
    102                     </Tab.Pane>
    103                     <Tab.Pane eventKey="/restaurant">
    104                         {!isLoading && data.map((res) => {
    105                             return (
    106                                 <ReservationListing data={res}/>
    107                             )
    108                         })}
    109                         {/*<AddNew type="restaurant"/>*/}
    110                     </Tab.Pane>
    111                     <Tab.Pane eventKey="/transport">
    112                         <AddHotelForm refresh={props.refresh} hotel={props.displayRoom}/>
    113                     </Tab.Pane>
    114                 </Tab.Content>
    115             </Tab.Container>
    116         </Container>
    117     );
     80        <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
     81          <Tab.Pane eventKey="/hotel">
     82          {props.displayRoom.hotelRooms.map((room) => {
     83              return <RoomListing key={room.hotelRoomId} data={room} showModal={showModal}/>
     84            })}
     85            <EditModal show={show} handleClose={handleClose} type="room" room={modalData}></EditModal>
     86            <AddNew Id={props.displayRoom.hotelId} refresh={props.refresh} type="room"/>
     87          </Tab.Pane>
     88          <Tab.Pane eventKey="/restaurant">
     89            <AddNew type="restaurant"/>
     90          </Tab.Pane>
     91          <Tab.Pane eventKey="/transport">
     92            <AddHotelForm refresh={props.refresh} hotel={props.displayRoom}/>
     93          </Tab.Pane>
     94        </Tab.Content>
     95      </Tab.Container>
     96    </Container>
     97  );
    11898}
    11999
  • frontend/src/Components/Layout/Navbar/Navigation.js

    re6c2521 r5528b99  
    77import useGet from "../../Hooks/useGet";
    88import axios from "../../../axios.js";
     9<<<<<<< HEAD
    910import {useAuth} from "../../Context/AuthContext";
    1011import ImageUpload from "../../ImageUpload/ImageUpload";
     12=======
     13>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    1114//import logo from 'assets/images/logo.png';
    1215//src="https://upload.wikimedia.org/wikipedia/commons/0/08/Vergina_Sun_-_Golden_Larnax.png"
     
    1417function Navigation(props) {
    1518  const navigator = useNavigate();
     19<<<<<<< HEAD
    1620  const Auth = useAuth();
    1721  const isLoggedIn = Auth.userIsAuthenticated();
     
    2226  const handleShow = () => setShow(true);
    2327
     28=======
     29
     30  const { data, setData, isLoading, getData } = useGet("/username");
     31 
     32>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    2433  return (
    2534    <>
     
    3140      >
    3241        <Container>
    33           <Navbar.Brand href="/home">
     42          <Navbar.Brand href="#home">
    3443            <span className="ikona">
    3544              <Image
     
    5766                <Button onClick={handleShow}></Button>
    5867              </Nav.Link>
    59               {!isLoggedIn && (
     68              {!isLoading && !data && (
    6069                <Button
    6170                  className="m-2"
     
    6978                </Button>
    7079              )}
    71               {isLoggedIn && (
     80              {!isLoading && data && (
    7281                <>
    7382                  <Nav.Link className="m-2" href="/profile">
    74                     {Auth.getUser().username}
     83                    {data}
    7584                  </Nav.Link>
    7685                  <Button
     
    8190                      await axios.get("/logout")
    8291                      .then((res) => {
    83                         console.log(res);
    84                         Auth.userLogout();
     92                        console.log(res)
    8593                      })
    8694                      .catch((err) => {
  • frontend/src/Components/Resources/AddNew.js

    re6c2521 r5528b99  
    5656        </Modal.Header>
    5757        <Modal.Body>
    58             {props.type === "hotel" && <AddHotelForm closeModal={handleClose} refresh={props.refresh}/>}
    59             {props.type === "room" && <AddRoomForm closeModal={handleClose} refresh={props.refresh} hotelId={props.Id}/>}
    60             {props.type === "restaurant" && <AddRestaurantForm edit="false" closeModal={handleClose} refresh={props.refresh}/>}
    61             {props.type === "transport" && <AddTransportForm closeModal={handleClose} refresh={props.refresh}/>}
     58            {props.type === "hotel" && <AddHotelForm refresh={props.refresh}/>}
     59            {props.type === "room" && <AddRoomForm refresh={props.refresh} hotelId={props.Id}/>}
     60            {props.type === "restaurant" && <AddRestaurantForm edit="false" refresh={props.refresh}/>}
     61            {props.type === "transport" && <AddTransportForm refresh={props.refresh}/>}
    6262            {props.type === "menu" && <AddItemMenuForm Id={props.Id} refresh={props.refresh}/>}
    6363            {props.type === "route" && <AddTripForm transportId={props.transport.transportID} setSize={setSizeXl} refresh={props.refresh}/>}
  • frontend/src/Components/Resources/EditModal.js

    re6c2521 r5528b99  
    3232        </Modal.Header>
    3333        <Modal.Body>
    34             {props.type === "hotel" && <AddHotelForm refresh={props.refresh}/>}
     34            {props.type === "hotel" && <AddHotelForm/>}
    3535            {props.type === "room" && <EditRoomForm refresh={props.refresh} room={props.room}/>}
    3636            {props.type === "restaurant" && <AddRestaurantForm edit="false" refresh={props.refresh}/>}
  • frontend/src/Components/Resources/ResourceListing.js

    re6c2521 r5528b99  
    88
    99const ResourceListing = (props) => {
     10 
     11    console.log("props " + props.id)
     12 
    1013
    1114    const type = props.type == "hotel" ? "сместувањето" : props.type == "restaurant" ? "ресторанот" : "превозот";
    1215    const name = props.type == "hotel" ? props.data.hotelName : props.type == "restaurant" ? props.data.restaurantName : props.data.transportName
     16<<<<<<< HEAD
    1317    const id = props.type == "hotel" ? props.data.hotelId : props.type == "restaurant" ? props.data.restaurantID : props.data.transportID
    1418    console.log(props.data)
     
    5458                    </Col>
    5559                    <Col className="d-flex justify-content-center align-content-center">
     60=======
     61    const id = props.type == "hotel" ? props.data.hotelId : props.type == "restaurant" ? props.data.resturantId : props.data.transportID
     62    return(<>
     63    <a href={`${props.type}/${id}`} style={{textDecoration: "none", color:"black"}}>
     64        <Container className="py-3 px-1 my-4"
     65        style={{
     66          border: "4px solid #159895",
     67          borderRadius: "1em",
     68          boxShadow: "0 3px 5px #159895",
     69          maxWidth: "90%",
     70        }}>
     71            <Row>
     72                <Col className="d-flex justify-content-center">
     73                    <Image
     74                    src="https://www.imgacademy.com/sites/default/files/legacyhotel.jpg"
     75                    style={{
     76                        height: "8em",
     77                        borderRadius: "1em",
     78                        boxShadow: "0 4px 20px lightblue",
     79                        maxWidth: "100%",
     80                    }}
     81                    ></Image>
     82                </Col>
     83                <Col >
     84                    <h2 style={{textAlign: "left"}}>{name}</h2>
     85                    {props.type === "hotel" && (<>
     86                      <h5 style={{textAlign: "left"}}>{props.data.hotelLocation}</h5>
     87                      <h5 style={{textAlign: "left"}}>{props.data.hotelEmail}</h5>
     88                    </>)}
     89                    {props.type === "restaurant" && (<>
     90                      <h5 style={{textAlign: "left"}}>{props.data.restaurantLocation}</h5>
     91                      <h5 style={{textAlign: "left"}}>{props.data.cousineType} кујна</h5>
     92                    </>)}
     93                    {props.type === "transport" && (<>
     94                      <h5 style={{textAlign: "left"}}>{props.data.carBrand}</h5>
     95                      <h5 style={{textAlign: "left"}}>{props.data.carPlate}</h5>
     96                    </>)}
     97                </Col>
     98                <Col className="d-flex justify-content-center align-content-center" >
     99>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    56100                  <span
    57101                      style={{
  • frontend/src/Components/Resources/ResourcesTab.js

    re6c2521 r5528b99  
    1010
    1111function ResourcesTab(props) {
     12<<<<<<< HEAD
    1213    const [activeTab, setActiveTab] = useState(props.tab);
    1314    const userId = JSON.parse(localStorage.getItem("user")).userId;
     
    3536                    <Nav.Item className="tab_item rounded-5">
    3637                        <Nav.Link href="/resources/hotel" className="text-left rounded-5">
     38=======
     39  const [activeTab, setActiveTab] = useState(props.tab);
     40  // const [changed, setChanged] = useState(0);
     41  const userId = localStorage.getItem("userId");
     42  const { data, setData, isLoading, getData, setChanged } = useGet(`${props.tab}/user/${userId}`);
     43
     44  const handleSelect = (eventKey) => {
     45    setActiveTab(eventKey);
     46    console.log(props.refresh);
     47    props.refresh(eventKey);
     48    console.log("refresh" + eventKey);
     49  };
     50
     51  !isLoading && console.log(data);
     52  console.log(props.tab);
     53
     54  return (
     55    <Container className="rounded-5">
     56      <Tab.Container
     57        activeKey={activeTab}
     58        onSelect={handleSelect}
     59        className="bg-dark rounded-5"
     60      >
     61        <Nav
     62          fill
     63          variant="tabs"
     64          className="bg-body rounded-top-5"
     65          activeKey="/hotel"
     66          id="tab_item"
     67        >
     68          <Nav.Item className="tab_item rounded-5">
     69            <Nav.Link href="/resources/hotel" className="text-left rounded-5">
     70>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    3771              <span className="ikona">
    3872                <FaHotel
     
    67101                </Nav>
    68102
     103<<<<<<< HEAD
    69104                <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
    70105                    <Tab.Pane eventKey="/hotel" key="hotelPane">
     
    115150        </Container>
    116151    );
     152=======
     153        <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
     154          <Tab.Pane eventKey="/hotel" key="hotelPane">
     155            {props.tab == "/hotel" && !isLoading && data != null &&
     156              data.map((hotel) => {
     157                return (
     158                  <Link key={hotel.hotelId} to={"/resources/hotel/" + hotel.hotelId}>
     159                    <ResourceListing
     160                      key={hotel.hotelId}
     161                      id={hotel.hotelId}
     162                      type="hotel"
     163                      data={hotel}
     164                    />
     165                  </Link>
     166                );
     167              })}
     168            <AddNew type="hotel" refresh={setChanged} />
     169          </Tab.Pane>
     170          <Tab.Pane eventKey="/restaurant" key="restaurantPane">
     171            {props.tab == "/restaurant" && !isLoading && data != null &&
     172              data.map((restaurant) => {
     173                console.log("mapiranje " + restaurant)
     174                return (
     175                  <Link key={restaurant.restaurantId} to={"/resources/restaurant/" + restaurant.restaurantID}>
     176                    <ResourceListing
     177                      key={restaurant.restaurantId}
     178                      type="restaurant"
     179                      data={restaurant}
     180                    />
     181                  </Link>
     182                );
     183              })}
     184            <AddNew type="restaurant" refresh={setChanged}/>
     185          </Tab.Pane>
     186          <Tab.Pane eventKey="/transport" key="transportPane">
     187            {props.tab == "/transport" && !isLoading && data.length > 0 &&
     188              data.map((transport) => {
     189                return (
     190                  <ResourceListing
     191                    key={transport.transportId}
     192                    id={transport.transportId}
     193                    type="transport"
     194                    data={transport}
     195                  />
     196                );
     197              })}
     198            <AddNew type="transport" refresh={setChanged}/>
     199          </Tab.Pane>
     200        </Tab.Content>
     201      </Tab.Container>
     202    </Container>
     203  );
     204>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    117205}
    118206
  • frontend/src/Components/RestaurantEdit/RestaurantEditTab.js

    re6c2521 r5528b99  
    100100              return <MenuListing key={menu.menuId} data={menu} showModal={showModal}/>
    101101            })}
    102             {activeTab === '/hotel' && <EditModal show={show} refresh={props.refresh} handleClose={handleClose} type="menu" menu={modalData}></EditModal>}
     102            {activeTab === '/hotel' && <EditModal show={show} handleClose={handleClose} type="menu" menu={modalData}></EditModal>}
    103103            <AddNew Id={props.displayMenu.restaurantID} refresh={props.refresh} type="menu"/>
    104104          </Tab.Pane>
  • frontend/src/Components/SearchCriterias/SearchCriteriasBar.js

    re6c2521 r5528b99  
    22import { Container, Form, Button, Row, Col } from "react-bootstrap";
    33import useFormData from "../Hooks/useFormData";
     4<<<<<<< HEAD
    45import SearchCriteriasHotel from "./SearchCriteriasHotel";
    56import SearchCriteriasTransport from "./SearchCriteriasTransport";
    67import SearchCriteriasRestaurant from "./SearchCriteriasRestaurant";
     8=======
     9>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    710
    8 const SearchCriteriasBar = (props) => {
     11const SearchCriterias = (props) => {
    912
    10     const { criterias, type } = props
     13  const { formData, onFormChange, onCheckBoxChange, setFormData} = useFormData(props.criterias)
     14  console.log("KRITERIUMI")
     15  console.log(formData)
    1116
     17<<<<<<< HEAD
    1218    return (
    1319        <>
     
    1824    )
    1925}
     26=======
     27  return (
     28    <>
     29      <Container
     30        className="p-1 pb-0 mb-5 mt-3 rounded-2"
     31        style={{ backgroundColor: "#002B5B", width: "65%"}}
     32      >
     33        <Form className="rounded-5">
     34          <Row className="gx-1">
     35            <Col>
     36              <Form.Floating className="mb-3">
     37                <Form.Control
     38                  size="md"
     39                  type="text"
     40                  placeholder="Каде ќе патувате?:"
     41                  id="location"
     42                  name="hotelLocation"
     43                  onChange={onFormChange}
     44                  value={formData.hotelLocation}
     45                ></Form.Control>
     46                <label htmlFor="location">Локација:</label>
     47              </Form.Floating>
     48            </Col>
     49            <Col>
     50              <Form.Floating className="mb-3">
     51                <Form.Control
     52                  size="md"
     53                  type="date"
     54                  placeholder="Датум на пристигнување:"
     55                  id="dateFrom"
     56                  name="dateFrom"
     57                  onChange={onFormChange}
     58                  value={formData.dateFrom}
     59                ></Form.Control>
     60                <label htmlFor="dateFrom">Датум на пристигнување:</label>
     61              </Form.Floating>
     62            </Col>
     63            <Col>
     64              <Form.Floating className="mb-3">
     65                <Form.Control
     66                  size="md"
     67                  type="date"
     68                  placeholder="Датум на заминување:"
     69                  id="dateTo"
     70                  name="dateTo"
     71                  onChange={onFormChange}
     72                  value={formData.dateTo}
     73                ></Form.Control>
     74                <label htmlFor="dateTo">Датум на заминување:</label>
     75              </Form.Floating>
     76            </Col>
     77            <Col>
     78              <Form.Floating className="mb-3">
     79                <Form.Control
     80                  size="md"
     81                  type="number"
     82                  placeholder="Број на гости:"
     83                  id="floatingPassengers"
     84                  name="numBeds"
     85                  onChange={onFormChange}
     86                  value={formData.numBeds}
     87                ></Form.Control>
     88                <label htmlFor="floatingPassengers">Број на гости:</label>
     89              </Form.Floating>
     90            </Col>
     91            <Col>
     92              <Form.Group className="my-1">
     93                <Button
     94                  type="submit"
     95                  style={{ backgroundColor: "#159895" }}
     96                  size="lg"
     97                  className="w-100"
     98                  onClick={(e) => {
     99                    e.preventDefault();
     100                    window.location.href = `/search/hotel/${formData.hotelLocation}/${formData.dateFrom}/${formData.dateTo}/${formData.numBeds}`
     101                  }}
     102                >
     103                  <span className="ikona mx-3">Пребарај</span>
     104                </Button>
     105              </Form.Group>
     106            </Col>
     107          </Row>
     108        </Form>
     109      </Container>
     110    </>
     111  );
     112};
     113>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    20114
    21 export default SearchCriteriasBar;
     115export default SearchCriterias;
  • frontend/src/Components/Tab/TabFormTransport.js

    re6c2521 r5528b99  
    22import { Button, Col, Container, Form, Row } from "react-bootstrap";
    33import { HiMagnifyingGlass } from "react-icons/hi2"
    4 import useFormData from "../Hooks/useFormData";
    54
    65function TabFormTransport() {
    7 
    8   const { formData, onFormChange, setFormData } = useFormData({
    9     from: undefined,
    10     to: undefined,
    11     date: undefined,
    12     numPassengers: 0
    13   })
    14 
    156  return (
    167    <Form>
     
    2314              placeholder="Од:"
    2415              id="floatingFrom"
    25               value={formData.from}
    26               name={'from'}
    27               onChange={onFormChange}
    2816            ></Form.Control>
    2917            <label htmlFor="floatingFrom">Од:</label>
     
    3725              placeholder="До:"
    3826              id="floatingTo"
    39               name={'to'}
    40               value={formData.to}
    41               onChange={onFormChange}
    4227            ></Form.Control>
    4328            <label htmlFor="floatingTo">До:</label>
     
    5136              placeholder="Датум:"
    5237              id="floatingDate"
    53               name={'date'}
    54               value={formData.date}
    55               onChange={onFormChange}
    5638            ></Form.Control>
    5739            <label htmlFor="floatingDate">Датум:</label>
     
    6446              type="number"
    6547              placeholder="Број на патници:"
    66               name={'numPassengers'}
    6748              id="floatingPassengers"
    68               value={formData.numPassengers}
    69               onChange={onFormChange}
    7049            ></Form.Control>
    7150            <label htmlFor="floatingPassengers">Број на патници:</label>
    7251          </Form.Floating>
    7352          <Form.Group className="my-1">
    74             <Button type="submit" style={{backgroundColor: "#159895"}} size="lg" onClick={(e) => {
    75               e.preventDefault();
    76               window.location.href = `/search/transport/${formData.from}/${formData.to}/${formData.date}/${formData.numPassengers}`
    77             }}>
     53            <Button type="submit" style={{backgroundColor: "#159895"}} size="lg">
    7854              <span className="ikona my-1"><HiMagnifyingGlass/></span>
    7955              <span className="ikona mx-3">Пребарај</span>
  • frontend/src/Components/TransportDetails/FinalPoint.js

    re6c2521 r5528b99  
    1717    <>
    1818      <Row>
    19         {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-md-4" style={{paddingLeft: "2.6rem"}}>
     19        {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-auto" style={{paddingLeft: "2.6rem"}}>
    2020            <h5 className="m-auto">{getTimeAsString(props.time)}</h5>
    2121        </Col>  }
  • frontend/src/Components/TransportDetails/Line.js

    re6c2521 r5528b99  
    22
    33const Line = (props) => {
    4     const left = props.left === "true" ? "1.8rem" : "1.85rem";
     4    console.log(props.left)
     5    const left = props.left === "true" ? "9.08rem" : "2.6rem";
     6    console.log({borderLeft: "5px solid #159895", height: "3em", marginLeft: left, marginTop: "-1.4rem", marginBottom: "-1.4rem"})
    57    return (<>
    68        <div style={{borderLeft: "5px solid #159895", height: "3em", marginLeft: left, marginTop: "-1.4rem", marginBottom: "-1.4rem"}}></div>
  • frontend/src/Components/TransportDetails/Waypoint.js

    re6c2521 r5528b99  
    1616    }
    1717
     18<<<<<<< HEAD
    1819    return (
    1920        <>
     
    5758        </>
    5859    );
     60=======
     61  return (
     62    <>
     63      <Row className="d-flex flex-row gap-0">
     64      {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-auto" style={{paddingLeft: "2.6rem"}}>
     65            <h5 style={{color: props.routes === "true" ? "white" : "" }} className="m-auto">{getTimeAsString(props.time)}</h5>
     66        </Col>}
     67        <Col md="auto">
     68          <RxDot size={"4rem"} color="#159895"></RxDot>
     69        </Col>
     70        <Col className="d-flex flex-column justify-content-center">
     71          <h3 className="my-auto" style={{...style, fontSize: props.routes === "true" ? "1.3rem" : "", color: props.routes === "true" ? "#708090        " : ""}}>{props.city}</h3>
     72        </Col>
     73      {props.left !== "true" && <Col className="d-flex flex-column justify-content-center">
     74            <h5>{getTimeAsString(props.time)}</h5>
     75        </Col>}
     76      </Row>
     77      <Row>
     78      <Line left={props.left}> </Line>
     79      </Row>
     80    </>
     81  );
     82>>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
    5983};
    6084
  • frontend/src/Components/TransportEdit/TransportEditTab.js

    re6c2521 r5528b99  
    1212function TransportEditTab(props) {
    1313  const [activeTab, setActiveTab] = useState("/hotel");
     14  const link = "/transport/" + props.displayRoute.transportID + "/available";
    1415  console.log(props.displayRoute)
     16  const [changed, setChanged] = useState(0)
     17  const { data, setData, isLoading, getData } = useGet(link, changed);
    1518
    1619
  • frontend/src/Components/TransportEdit/TransportListing.js

    re6c2521 r5528b99  
    99
    1010    //const type = props.type == "hotel" ? "сместувањето" : props.type == "restaurant" ? "ресторанот" : "превозот";
     11    console.log(props.data)
     12    console.log(props.data.from)
    1113    return (<>
    1214        <a href="#" style={{textDecoration: "none", color: "black"}}>
     
    3234                    <Col className="d-flex flex-column justify-content-center" style={{textAlign: "left"}}>
    3335                        <h2>{props.data.from} - {props.data.to}</h2>
     36                        {/* <h6>{props.data.routeCities}</h6> */}
    3437                        <h6>{props.data.routes.map(x => x).join(", ")}</h6>
    3538                    </Col>
     
    3740                    <Col className="d-flex flex-column justify-content-center align-content-center">
    3841                        <h5>Цена:</h5>
    39                          <h4>{props.data.maxPrice}$</h4>
     42                        {/* <h4>{props.data.routePrice}</h4> */}
     43                        <h4>99$</h4>
    4044                    </Col>
    4145                </Row>
  • frontend/src/Components/useFormNested.js

    re6c2521 r5528b99  
    77        console.log(e)
    88
    9         const dependantRoutes = e.target.name === 'freeSpace' ? e.target.parentElement.getAttribute('dependantRoutes').split(',') : undefined;
     9        const dependantRoutes = e.target.parentElement.getAttribute('dependantRoutes').split(',')
    1010        console.log(dependantRoutes)
    1111
Note: See TracChangeset for help on using the changeset viewer.