Index: frontend/package-lock.json
===================================================================
--- frontend/package-lock.json	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/package-lock.json	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -13,4 +13,5 @@
         "@testing-library/user-event": "^13.5.0",
         "axios": "^1.5.0",
+        "axios-extensions": "^3.1.6",
         "bootstrap": "^5.3.0",
         "file-loader": "^6.2.0",
@@ -5349,4 +5350,25 @@
       }
     },
+    "node_modules/axios-extensions": {
+      "version": "3.1.6",
+      "resolved": "https://registry.npmjs.org/axios-extensions/-/axios-extensions-3.1.6.tgz",
+      "integrity": "sha512-CmwMYxxAw4DcQDJ7/2Iv4GJj1Ao48lJEPieycgZQH6m1KcYZqf9zm2HM/CsULqheCpYxZbiGrCfZf5tVjXqoLg==",
+      "dependencies": {
+        "lru-cache": "^7.14.0",
+        "tslib": "^2.1.0",
+        "util": "^0.12.3"
+      },
+      "peerDependencies": {
+        "axios": "*"
+      }
+    },
+    "node_modules/axios-extensions/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
     "node_modules/axios/node_modules/form-data": {
       "version": "4.0.0",
@@ -9425,5 +9447,4 @@
       "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
       "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
-      "peer": true,
       "dependencies": {
         "call-bind": "^1.0.2",
@@ -9564,4 +9585,18 @@
       "engines": {
         "node": ">=6"
+      }
+    },
+    "node_modules/is-generator-function": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
@@ -16800,4 +16835,16 @@
       }
     },
+    "node_modules/util": {
+      "version": "0.12.5",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "is-arguments": "^1.0.4",
+        "is-generator-function": "^1.0.7",
+        "is-typed-array": "^1.1.3",
+        "which-typed-array": "^1.1.2"
+      }
+    },
     "node_modules/util-deprecate": {
       "version": "1.0.2",
Index: frontend/package.json
===================================================================
--- frontend/package.json	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/package.json	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -8,4 +8,5 @@
     "@testing-library/user-event": "^13.5.0",
     "axios": "^1.5.0",
+    "axios-extensions": "^3.1.6",
     "bootstrap": "^5.3.0",
     "file-loader": "^6.2.0",
Index: frontend/src/App.js
===================================================================
--- frontend/src/App.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/App.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -5,5 +5,5 @@
 import 'bootstrap/dist/js/bootstrap.js';
 import HomeCarousel from './Components/Layout/CarouselHome/Carousel';
-import { Card, Container } from 'react-bootstrap';
+import {Card, Container} from 'react-bootstrap';
 import TabComponent from './Components/Tab/Tab';
 import Offers from './Components/Layout/Offers/Offers';
@@ -27,11 +27,14 @@
 import TransportEditPage from './Pages/TransportEditPage';
 import RestaurantDetailsPage from './Pages/RestaurantDetailsPage';
-import { BrowserRouter, Route, Routes } from 'react-router-dom';
+import {BrowserRouter, Route, Routes} from 'react-router-dom';
 import LoginErrorPage from "./Pages/LoginErrorPage";
+import {AuthProvider} from "./Components/Context/AuthContext";
+import PrivateRoute from "./Components/Misc/PrivateRoute";
+import ProfilesManagementPage from "./Pages/ProfilesManagementPage";
+import UserReservationsManagement from "./Pages/UserReservationsManagement";
 
 
 function App() {
 
-<<<<<<< HEAD
     return (
         <div className="App" style={{overflow: 'hidden'}}>
@@ -62,5 +65,5 @@
                         <Route path='/details/hotel' element={<HotelDetailsPage></HotelDetailsPage>}/>
                         <Route path='/details/restaurant' element={<RestaurantDetailsPage></RestaurantDetailsPage>}/>
-                        <Route path="/search/hotel/:hotelLocation/:dateFrom/:dateTo/:numBeds"
+                        <Route path="/search/hotel/:hotelLocation/:dateFrom/:dateTo/:numBeds/:flexible"
                                element={<SearchPage type="hotel"/>}/>
                         <Route path="/search/transport/:from/:to/:date/:numPassengers"
@@ -73,31 +76,4 @@
         </div>
     );
-=======
-  return (
-    <div className="App" style={{overflow: 'hidden'}}>
-      <BrowserRouter>
-        <Routes>
-          <Route path='/login' element={<LoginPage/>}/>
-          <Route path='/register' element={<RegistrationPage/>}/>
-          <Route path='/profile' element={<ProfilePage/>}/>
-          <Route path="/resources" exact element={<NoBusinessRegisteredError hasRegistration="false"/>} />
-          <Route path="/resources/hotel" element={<ResourcesPage tab="/hotel"/>}/>
-          <Route path="/resources/hotel/:hotelId" element={<HotelEditPage />}/>
-          <Route path="/resources/restaurant" element={<ResourcesPage tab="/restaurant"/>}/>
-          <Route path='/resources/restaurant/:restaurantId' element={<RestaurantEditPage />}/>
-          <Route path="/resources/transport" element={<ResourcesPage tab="/transport"/>}/>
-          <Route path="/resources/transport/:transportId" element={<TransportEditPage/>}/>
-          <Route path="/home" element={<HomePage/> }/>
-          <Route path="/error" element={<LoginErrorPage/> }/>
-          <Route path='/details/transport' element={<TransportDetailsPage></TransportDetailsPage>}/>
-          <Route path='/details/hotel' element={<HotelDetailsPage></HotelDetailsPage>}/>
-          <Route path='/details/restaurant' element={<RestaurantDetailsPage></RestaurantDetailsPage>}/>
-          <Route path="/search/hotel/:hotelLocation/:dateFrom/:dateTo/:numBeds" element={<SearchPage type="hotel"/> }/>
-          <Route path="/search/transport/:from/:to/:date" element={<SearchPage type="transport"/> }/>
-        </Routes>
-      </BrowserRouter>
-    </div>
-  );
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
 }
 
Index: frontend/src/Components/AdminPanel/AllProfilesTable.js
===================================================================
--- frontend/src/Components/AdminPanel/AllProfilesTable.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/AdminPanel/AllProfilesTable.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -52,5 +52,5 @@
                             {f.accountNonLocked &&
                                 <FaLock size={'2.2em'} color={'#159895'} onClick={() => {
-                                    approveProfile('/users/lock/' + f.userID).then(() => {
+                                    approveProfile('/users/unlock/' + f.userID).then(() => {
                                         setChanged((prev) => {
                                             return Math.random();
Index: frontend/src/Components/Forms/AddHotelForm.js
===================================================================
--- frontend/src/Components/Forms/AddHotelForm.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Forms/AddHotelForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -119,4 +119,6 @@
                   return prevState + 1;
                 })
+                if(!edit)
+                  props.closeModal()
               }}
             >
Index: frontend/src/Components/Forms/AddRestaurantForm.js
===================================================================
--- frontend/src/Components/Forms/AddRestaurantForm.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Forms/AddRestaurantForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -82,7 +82,6 @@
                 e.preventDefault()
                 createRestaurant(formData, edit);
-                props.refresh((prevState) => {
-                  return prevState + 1;
-                })
+                props.refresh(Math.random())
+                if(!edit) props.closeModal()
               }}
             >
Index: frontend/src/Components/Forms/AddRoomForm.js
===================================================================
--- frontend/src/Components/Forms/AddRoomForm.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Forms/AddRoomForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -13,5 +13,5 @@
     hotelRoomDescription: "",
     hotelRoomName: "",
-    numBeds: "",
+    numOfBeds: "",
     price: "",
     kitchenAvailable: false,
@@ -58,6 +58,6 @@
             type="number" 
             placeholder="Внесете го бројот на кревети" 
-            value={formData.numBeds}
-            name="numBeds"
+            value={formData.numOfBeds}
+            name="numOfBeds"
             onChange={onFormChange}
             />
@@ -117,7 +117,11 @@
               style={{ backgroundColor: "#159895" }}
               size="md"
-              onClick={() => {
-                console.log(formData);
+              onClick={(e) => {
+                e.preventDefault();
+                props.refresh((prev) => {
+                  return ++prev;
+                })
                 createHotelRoom(formData);
+                props.closeModal();
               }}
             >
Index: frontend/src/Components/Forms/AddTableAvailabilityForm.js
===================================================================
--- frontend/src/Components/Forms/AddTableAvailabilityForm.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Forms/AddTableAvailabilityForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -62,4 +62,6 @@
               onClick={() => {
                 createTableAvailability(formData, props.table.tableId)
+                props.refresh(Math.random())
+                props.close()
               }}
             >
Index: frontend/src/Components/Forms/AddTransportForm.js
===================================================================
--- frontend/src/Components/Forms/AddTransportForm.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Forms/AddTransportForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -11,5 +11,5 @@
       transportName: "",
       carBrand: "",
-      carType: false,
+      carType: "",
       carManufacturedYear: 1900,
       noPassengers: 0,
@@ -107,6 +107,8 @@
                 createTransport(formData, edit);
                 props.refresh((prev) => {
-                  return prev + 1;
+                  return ++prev;
                 })
+                if(!edit)
+                    props.closeModal()
               }}
             >
Index: frontend/src/Components/Forms/AddTripForm.js
===================================================================
--- frontend/src/Components/Forms/AddTripForm.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Forms/AddTripForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -232,4 +232,5 @@
                                     console.log(wayPointNames);
                                     for (let i = 0; i < routeCount - 1; i++) {
+                                        console.log(wayPoints[i])
                                         wayPointNames.push(wayPoints[i].value);
                                     }
Index: frontend/src/Components/Forms/EditRoomForm.js
===================================================================
--- frontend/src/Components/Forms/EditRoomForm.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Forms/EditRoomForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -28,4 +28,6 @@
     } = useGet(`/hotel/rooms/${props.room.hotelRoomId}/available`)
 
+    console.log(`/hotel/rooms/${props.room.hotelRoomId}/available`)
+
     !isLoading && console.log(data)
 
@@ -42,13 +44,7 @@
                             <tr>
                                 <th>#</th>
-<<<<<<< HEAD
                                 <th>Oд</th>
                                 <th>До</th>
                                 <th>Цена</th>
-=======
-                                <th>Достапно од</th>
-                                <th>Достапно до</th>
-                                <th>Број на соби</th>
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
                             </tr>
                             </thead>
Index: frontend/src/Components/Hooks/Hotel/useCreateHotel.js
===================================================================
--- frontend/src/Components/Hooks/Hotel/useCreateHotel.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Hooks/Hotel/useCreateHotel.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -6,8 +6,8 @@
 const useCreateHotel = () => {
 
-    //const history = useNavigate();
     const createHotel = async (hotel, edit) => {
 		console.log({hotel})
 		console.log(hotel)
+		console.log("vo createhotel")
 
 		if(!edit)
@@ -16,5 +16,5 @@
 			.post(`/hotel/add`, hotel, {
 				params: {
-					userId: localStorage.getItem("userId")
+					userId: JSON.parse(localStorage.getItem("user")).userId
 				}
 			}) 
Index: frontend/src/Components/Hooks/Restaurant/useCreateRestaurant.js
===================================================================
--- frontend/src/Components/Hooks/Restaurant/useCreateRestaurant.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Hooks/Restaurant/useCreateRestaurant.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -15,5 +15,5 @@
 			.post(`/restaurant/add`, restaurant, {
 				params: {
-					userId: localStorage.getItem('userId')
+					userId: JSON.parse(localStorage.getItem('user')).userId,
 				}
 			}) 
Index: frontend/src/Components/Hooks/Restaurant/useCreateTable.js
===================================================================
--- frontend/src/Components/Hooks/Restaurant/useCreateTable.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Hooks/Restaurant/useCreateTable.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -13,5 +13,5 @@
 	            .then((res) => {
 					console.log(res)
-					refresh(prev => ++prev)
+					refresh(Math.random())
 	                //history.push('/restaurant');
 	            })
Index: frontend/src/Components/Hooks/Transport/useCreateTransport.js
===================================================================
--- frontend/src/Components/Hooks/Transport/useCreateTransport.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Hooks/Transport/useCreateTransport.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -4,10 +4,10 @@
 
 const useCreateTransport = () => {
-
+	const userId = JSON.parse(localStorage.getItem('user')).userId
     const createTransport = async (transport, edit) => {
 			if(!edit)
 			{
 				await axios
-	            .post(`/transport/add`, transport) 
+	            .post(`/transport/add/` + userId, transport)
 	            .then((res) => {
 	                //history.push('/transport');
Index: frontend/src/Components/Hooks/User/useLogin.js
===================================================================
--- frontend/src/Components/Hooks/User/useLogin.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Hooks/User/useLogin.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -4,8 +4,10 @@
 import { Navigate, useAsyncValue, useNavigate } from "react-router-dom";
 import LoginForm from "../../Login/LoginForm.js";
+import {useAuth} from "../../Context/AuthContext";
 
 const useLogin = () => {
 
     const navigator = useNavigate()
+	const Auth = useAuth();
     //const history = useNavigate();
     const login = async (loginData) => {
@@ -22,7 +24,22 @@
                 }) 
 	            .then((res) => {
+					console.log("RES LOGIN")
+					console.log(res)
+					if(res.status === 200)
+					{
+						const user = {
+							sessionId: res.data.auth.details.sessionId,
+							userId: res.data.auth.principal.userID,
+							username: res.data.auth.principal.username,
+							role: res.data.auth.principal.role,
+							name: res.data.auth.principal.name,
+							surname: res.data.auth.principal.surname,
+						}
+						Auth.userLogin(user);
+						console.log(user)
+					}
 					const sessionId = res.data.auth.details.sessionId;
 					const userId = res.data.auth.principal.userID;
-					
+
 					localStorage.setItem("sessionId", sessionId);
 					localStorage.setItem("userId", userId);
Index: frontend/src/Components/Hooks/useCreate.js
===================================================================
--- frontend/src/Components/Hooks/useCreate.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Hooks/useCreate.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -16,4 +16,5 @@
                 //history.push('/hotel');
                 console.log(res)
+                console.log("gotovo")
                 getData(prev => ++prev)
                 getData2(prev => ++prev)
Index: frontend/src/Components/Hooks/useGet.js
===================================================================
--- frontend/src/Components/Hooks/useGet.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Hooks/useGet.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -11,5 +11,4 @@
         console.log(localStorage.getItem("sessionId"))
         console.log("url od get " + uurl)
-<<<<<<< HEAD
         await axios.get(uurl, {maxRedirects: 0}).then((res) => {
             console.log(res);
@@ -23,12 +22,4 @@
             // window.location.href = '/error'
         })
-=======
-        await axios.
-            get(uurl).then((res) => {
-                setData(res.data);
-            }).catch((err) => {
-                console.log(err)
-            })
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
             .finally(() => {
                 setIsLoading(false);
@@ -40,5 +31,5 @@
         getData(url);
     }, [dep, url, changed]);
-    
+
     return {
         data,
Index: frontend/src/Components/HotelDetails/RoomRow.js
===================================================================
--- frontend/src/Components/HotelDetails/RoomRow.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/HotelDetails/RoomRow.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -8,5 +8,7 @@
     const [getData, setData] = useState(0);
     const room = props.room
+    console.log("dasdaskjdhaskdjashdkajk")
     console.log(props.data)
+    console.log(Array(props.data.find(x => x.hotelRoom.hotelRoomId === room.hotelRoomId)))
     return (
         <>
@@ -22,5 +24,5 @@
                     }}>
                         <option></option>
-                        {[...Array(props.data.find(x => x.hotelRoom.hotelRoomId === room.hotelRoomId).numberOfBeds).keys()].map(x => {
+                        {[...Array(props.data.filter(x => x.hotelRoom.hotelRoomId === room.hotelRoomId).reduce((sum, x) => x.numberOfBeds)).keys()].map(x => {
                             return (
                                 <option value={x+1}  >{x + 1}</option>
Index: frontend/src/Components/HotelDetails/RoomsTable.js
===================================================================
--- frontend/src/Components/HotelDetails/RoomsTable.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/HotelDetails/RoomsTable.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -7,5 +7,4 @@
 
 const RoomsTable = (props) => {
-
 
     return (
@@ -21,5 +20,7 @@
                 </thead>
                 <tbody>
-                {Array.from(new Set(props.data.map(x => x.hotelRoom))).map((room) => {
+                {Array.from(
+                    new Set(props.data.map((x) => JSON.stringify(x.hotelRoom)))
+                ).map((roomString) => JSON.parse(roomString)).map((room) => {
                     return (
                         <>
Index: frontend/src/Components/HotelEdit/HotelEditTab.js
===================================================================
--- frontend/src/Components/HotelEdit/HotelEditTab.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/HotelEdit/HotelEditTab.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,99 +1,119 @@
 import React from "react";
-import { Container, Col, Row, Image, Nav, Tab } from "react-bootstrap";
-import { useState } from "react";
-import { FaTaxi, FaHotel } from "react-icons/fa";
-import { MdOutlineStickyNote2 } from "react-icons/md";
+import {Container, Col, Row, Image, Nav, Tab} from "react-bootstrap";
+import {useState} from "react";
+import {FaTaxi, FaHotel} from "react-icons/fa";
+import {MdOutlineStickyNote2} from "react-icons/md";
 import AddNew from "../Resources/AddNew";
-import { BiData } from "react-icons/bi"
+import {BiData} from "react-icons/bi"
 import RoomListing from "./RoomListing";
 import HotelEditForm from "./HotelEditForm";
 import AddHotelForm from "../Forms/AddHotelForm";
 import EditModal from "../Resources/EditModal";
+import AddAvailability from "../Resources/AddAvailability";
+import useGet from "../Hooks/useGet";
+import ReservationListing from "./ReservationListing";
 
 function HotelEditTab(props) {
-  const [activeTab, setActiveTab] = useState("/hotel");
-  const [modalData, setModalData] = useState("");
-  const [show, setShow] = useState(false);
+    const [activeTab, setActiveTab] = useState("/hotel");
+    const [modalData, setModalData] = useState("");
+    const [show, setShow] = useState(false);
 
-  const handleClose = () => setShow(false);
-  const handleShow = () => {
-    //e.preventDefault();
-    setShow(true);
+    console.log(props)
 
-  };
+    const {
+        data,
+        isLoading,
+        setData,
+        getData,
+        setChanged
+    } = useGet(`/hotel/${props.displayRoom.hotelId}/reservations/active`)
 
-  const showModal = (modalData) => {
-    setModalData(modalData);
-    handleShow();
-  }
-  console.log(props.displayRoom)
+    !isLoading && console.log(data)
 
-  const handleSelect = (eventKey) => {
-    setActiveTab(eventKey);
-  };
+    const handleClose = () => setShow(false);
+    const handleShow = () => {
+        //e.preventDefault();
+        setShow(true);
 
-  return (
-    <Container className="rounded-5">
-      <Tab.Container
-        activeKey={activeTab}
-        onSelect={handleSelect}
-        className="bg-dark rounded-5"
-      >
-        <Nav
-          fill
-          variant="tabs"
-          className="bg-body rounded-top-5"
-          activeKey="/hotel"
-          id="tab_item"
-        >
-          <Nav.Item className="tab_item rounded-5">
-            <Nav.Link eventKey="/hotel" className="text-left rounded-5">
+    };
+
+    const showModal = (modalData) => {
+        setModalData(modalData);
+        handleShow();
+    }
+    console.log(props.displayRoom)
+
+    const handleSelect = (eventKey) => {
+        setActiveTab(eventKey);
+    };
+
+    return (
+        <Container className="rounded-5">
+            <Tab.Container
+                activeKey={activeTab}
+                onSelect={handleSelect}
+                className="bg-dark rounded-5"
+            >
+                <Nav
+                    fill
+                    variant="tabs"
+                    className="bg-body rounded-top-5"
+                    activeKey="/hotel"
+                    id="tab_item"
+                >
+                    <Nav.Item className="tab_item rounded-5">
+                        <Nav.Link eventKey="/hotel" className="text-left rounded-5">
               <span className="ikona">
                 <FaHotel
-                  color="#159895"
-                  style={{ lineHeight: "100em" }}
-                  size={"1.5em"}
-                  className="mx-3"
+                    color="#159895"
+                    style={{lineHeight: "100em"}}
+                    size={"1.5em"}
+                    className="mx-3"
                 />
               </span>
-              <span className="ikona">Соби</span>
-            </Nav.Link>
-          </Nav.Item>
-          <Nav.Item className="tab_item">
-            <Nav.Link eventKey="/restaurant">
+                            <span className="ikona">Соби</span>
+                        </Nav.Link>
+                    </Nav.Item>
+                    <Nav.Item className="tab_item">
+                        <Nav.Link eventKey="/restaurant">
               <span className="ikona">
-                <MdOutlineStickyNote2 color="#159895" size={"1.5em"} className="mx-3" />
+                <MdOutlineStickyNote2 color="#159895" size={"1.5em"} className="mx-3"/>
               </span>
-              <span className="ikona">Резервации</span>
-            </Nav.Link>
-          </Nav.Item>
-          <Nav.Item className="tab_item rounded-5">
-            <Nav.Link eventKey="/transport" className="text-left rounded-5">
+                            <span className="ikona">Резервации</span>
+                        </Nav.Link>
+                    </Nav.Item>
+                    <Nav.Item className="tab_item rounded-5">
+                        <Nav.Link eventKey="/transport" className="text-left rounded-5">
               <span className="ikona">
-                <BiData color="#159895" size={"1.5em"} className="mx-3" />
+                <BiData color="#159895" size={"1.5em"} className="mx-3"/>
               </span>
-              <span className="ikona">Општи податоци</span>
-            </Nav.Link>
-          </Nav.Item>
-        </Nav>
+                            <span className="ikona">Општи податоци</span>
+                        </Nav.Link>
+                    </Nav.Item>
+                </Nav>
 
-        <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
-          <Tab.Pane eventKey="/hotel">
-          {props.displayRoom.hotelRooms.map((room) => {
-              return <RoomListing key={room.hotelRoomId} data={room} showModal={showModal}/>
-            })}
-            <EditModal show={show} handleClose={handleClose} type="room" room={modalData}></EditModal>
-            <AddNew Id={props.displayRoom.hotelId} refresh={props.refresh} type="room"/>
-          </Tab.Pane>
-          <Tab.Pane eventKey="/restaurant">
-            <AddNew type="restaurant"/>
-          </Tab.Pane>
-          <Tab.Pane eventKey="/transport">
-            <AddHotelForm refresh={props.refresh} hotel={props.displayRoom}/>
-          </Tab.Pane>
-        </Tab.Content>
-      </Tab.Container>
-    </Container>
-  );
+                <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
+                    <Tab.Pane eventKey="/hotel">
+                        {props.displayRoom.hotelRooms.map((room) => {
+                            return <RoomListing key={room.hotelRoomId} data={room} showModal={showModal}/>
+                        })}
+                        <EditModal show={show} handleClose={handleClose} type="room" room={modalData}></EditModal>
+                        <AddNew Id={props.displayRoom.hotelId} refresh={props.refresh} type="room"/>
+                    </Tab.Pane>
+                    <Tab.Pane eventKey="/restaurant">
+                        {!isLoading && data.map((res) => {
+                            return (
+                                <ReservationListing type={'hotel'} data={res}/>
+                            )
+                        })}
+                        {/*<AddNew type="restaurant"/>*/}
+                    </Tab.Pane>
+                    <Tab.Pane eventKey="/transport">
+                        <AddHotelForm refresh={props.refresh} hotel={props.displayRoom}/>
+                    </Tab.Pane>
+                </Tab.Content>
+            </Tab.Container>
+        </Container>
+    );
 }
 
Index: frontend/src/Components/HotelEdit/ReservationListing.js
===================================================================
--- frontend/src/Components/HotelEdit/ReservationListing.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/HotelEdit/ReservationListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -3,4 +3,17 @@
 
 const ReservationListing = (props) => {
+
+    const dateFormatter = (str) => {
+        const inputDate = new Date(str);
+
+        const options = {
+            year: '2-digit',
+            month: '2-digit',
+            day: '2-digit',
+        };
+
+        return inputDate.toLocaleString('de-DE', options);
+    }
+
     return(
         <>
@@ -15,10 +28,14 @@
                     <Col md={8} className="d-flex flex-column justify-content-start ps-5">
                         <h3 style={{fontWeight: "bold"}} className={'text-start'}>Резервација за:</h3>
-                        <h4 className={'text-start'}>{props.data.hotelRoom.hotelRoomName}</h4>
+                        {props.type === 'hotel' && <h4 className={'text-start'}>{props.data.hotelRoom.hotelRoomName}</h4>}
+                        {props.type === 'restaurant' && <h4 className={'text-start'}>{'Маса за ' + props.data.restaurantsTable.noSeats}</h4>}
+                        {props.type === 'transport' && <h4 className={'text-start'}>{props.data.transportRoute.from + ' ' + props.data.transportRoute.to}</h4>}
+                        {props.type === 'transport' && <h4 className={'text-start'}>{props.data.noSeats + ' ' + 'патници'}</h4>}
                         <h4 className={'text-start'}>{props.data.user.name + ' ' + props.data.user.surname}</h4>
-                        <h5 className={'text-start'}>{props.data.dateFrom + ' - ' + props.data.dateTo}</h5>
+                        {props.type !== 'transport' && <h5
+                            className={'text-start'}>{dateFormatter(props.data.dateFrom) + ' - ' + dateFormatter(props.data.dateTo)}</h5>}
                     </Col>
                     <Col md={4} className="d-flex flex-column justify-content-center align-content-center">
-                        <h3>Вкупна цена: <br></br>{props.data.hotelRoom.price}$</h3>
+                        {props.type === 'hotel' && <h3>Вкупна цена: <br></br>{props.data.hotelRoom.price}$</h3>}
                     </Col>
                 </Row>
Index: frontend/src/Components/Layout/Navbar/Navigation.js
===================================================================
--- frontend/src/Components/Layout/Navbar/Navigation.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Layout/Navbar/Navigation.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -7,9 +7,6 @@
 import useGet from "../../Hooks/useGet";
 import axios from "../../../axios.js";
-<<<<<<< HEAD
 import {useAuth} from "../../Context/AuthContext";
 import ImageUpload from "../../ImageUpload/ImageUpload";
-=======
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
 //import logo from 'assets/images/logo.png';
 //src="https://upload.wikimedia.org/wikipedia/commons/0/08/Vergina_Sun_-_Golden_Larnax.png"
@@ -17,5 +14,4 @@
 function Navigation(props) {
   const navigator = useNavigate();
-<<<<<<< HEAD
   const Auth = useAuth();
   const isLoggedIn = Auth.userIsAuthenticated();
@@ -26,9 +22,4 @@
   const handleShow = () => setShow(true);
 
-=======
-
-  const { data, setData, isLoading, getData } = useGet("/username");
-  
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
   return (
     <>
@@ -40,5 +31,5 @@
       >
         <Container>
-          <Navbar.Brand href="#home">
+          <Navbar.Brand href="/home">
             <span className="ikona">
               <Image
@@ -66,5 +57,5 @@
                 <Button onClick={handleShow}></Button>
               </Nav.Link>
-              {!isLoading && !data && (
+              {!isLoggedIn && (
                 <Button
                   className="m-2"
@@ -78,8 +69,8 @@
                 </Button>
               )}
-              {!isLoading && data && (
+              {isLoggedIn && (
                 <>
                   <Nav.Link className="m-2" href="/profile">
-                    {data}
+                    {Auth.getUser().username}
                   </Nav.Link>
                   <Button
@@ -90,5 +81,6 @@
                       await axios.get("/logout")
                       .then((res) => {
-                        console.log(res)
+                        console.log(res);
+                        Auth.userLogout();
                       })
                       .catch((err) => {
Index: frontend/src/Components/Listings/HotelListing.js
===================================================================
--- frontend/src/Components/Listings/HotelListing.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Listings/HotelListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -80,6 +80,5 @@
                       }}
                   >
-                    {/* {props.data.hotelRating} */}
-                      9.1
+                        {(props.data.hotelReviews.reduce((sum, r) => sum + r.numStar, 0) / props.data.hotelReviews.length).toFixed(1)}
                   </span>
                                 </Col>
Index: frontend/src/Components/Listings/SortButton.js
===================================================================
--- frontend/src/Components/Listings/SortButton.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Listings/SortButton.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -3,7 +3,10 @@
 import { BsSortUp } from "react-icons/bs"
 
-const SortButton = () => {
+const SortButton = (props) => {
     return (
-        <Dropdown>
+        <Dropdown onSelect={(event, x) => {
+            console.log(event)
+            props.setSortingArg(event)
+        }}>
           <Dropdown.Toggle variant="success" id="dropdown-basic" size="lg">
           <span className="ikona my-1"><BsSortUp/></span>
@@ -11,9 +14,9 @@
           </Dropdown.Toggle>
     
-          <Dropdown.Menu>
-            <Dropdown.Item href="#/action-1">Цена растечки</Dropdown.Item>
-            <Dropdown.Item href="#/action-2">Цена опаѓачки</Dropdown.Item>
-            <Dropdown.Item href="#/action-3">Име растечки</Dropdown.Item>
-            <Dropdown.Item href="#/action-3">Име опаѓачки</Dropdown.Item>
+          <Dropdown.Menu >
+              {props.type !== 'restaurant' && <Dropdown.Item eventKey={'priceDesc'}>Цена растечки</Dropdown.Item>}
+              {props.type !== 'restaurant' && <Dropdown.Item eventKey={'priceAsc'}>Цена опаѓачки</Dropdown.Item>}
+              {props.type !== 'transport' && <Dropdown.Item eventKey={'nameAsc'}>Име растечки</Dropdown.Item>}
+              {props.type !== 'transport' && <Dropdown.Item eventKey={'nameDesc'}>Име опаѓачки</Dropdown.Item>}
           </Dropdown.Menu>
         </Dropdown>
Index: frontend/src/Components/Listings/TransportListing.js
===================================================================
--- frontend/src/Components/Listings/TransportListing.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Listings/TransportListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -9,5 +9,5 @@
 
 const TransportListing = (props) => {
-  
+
 
 
@@ -56,5 +56,5 @@
                     }}
                   >
-                    9.1
+                      {(props.data.reviews.reduce((sum, r) => sum + r.numStar, 0) / props.data.reviews.length).toFixed(1)}
                   </span>
                 </Col>
Index: frontend/src/Components/Resources/AddAvailability.js
===================================================================
--- frontend/src/Components/Resources/AddAvailability.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Resources/AddAvailability.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,3 +1,3 @@
-import React from "react";
+ import React from "react";
 import { Container, Row, Modal, Im } from "react-bootstrap";
 import { useState } from "react";
@@ -42,6 +42,6 @@
         <Modal.Body>
             {props.type === "hotel" && <AddHotelForm/>}
-            {props.type === "room" && <AddRoomAvailablityForm hotelRoomId={props.hotelRoomId}/>}
-            {props.type === "table" && <AddTableAvailablityForm table={props.table}/>}
+            {props.type === "room" && <AddRoomAvailablityForm refresh={props.refresh} close={props.closeModal}  hotelRoomId={props.hotelRoomId}/>}
+            {props.type === "table" && <AddTableAvailablityForm refresh={props.refresh} close={props.closeModal} table={props.table}/>}
             {props.type === "restaurant" && <AddRestaurantForm/>}
             {props.type === "transport" && <AddTransportForm/>}
Index: frontend/src/Components/Resources/AddImages.js
===================================================================
--- frontend/src/Components/Resources/AddImages.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Resources/AddImages.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -53,6 +53,4 @@
                     {!isLoading && data.map((image) => {
                         let link = image.url;
-                        console.log("SLIKATAAA")
-                        console.log(image)
                         if (image.url.includes('Desktop')) {
                             link = 'http://localhost:8080/download?fileName=' + encodeURIComponent(image.url);
Index: frontend/src/Components/Resources/AddNew.js
===================================================================
--- frontend/src/Components/Resources/AddNew.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Resources/AddNew.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -56,8 +56,8 @@
         </Modal.Header>
         <Modal.Body>
-            {props.type === "hotel" && <AddHotelForm refresh={props.refresh}/>}
-            {props.type === "room" && <AddRoomForm refresh={props.refresh} hotelId={props.Id}/>}
-            {props.type === "restaurant" && <AddRestaurantForm edit="false" refresh={props.refresh}/>}
-            {props.type === "transport" && <AddTransportForm refresh={props.refresh}/>}
+            {props.type === "hotel" && <AddHotelForm closeModal={handleClose} refresh={props.refresh}/>}
+            {props.type === "room" && <AddRoomForm closeModal={handleClose} refresh={props.refresh} hotelId={props.Id}/>}
+            {props.type === "restaurant" && <AddRestaurantForm edit="false" closeModal={handleClose} refresh={props.refresh}/>}
+            {props.type === "transport" && <AddTransportForm closeModal={handleClose} refresh={props.refresh}/>}
             {props.type === "menu" && <AddItemMenuForm Id={props.Id} refresh={props.refresh}/>}
             {props.type === "route" && <AddTripForm transportId={props.transport.transportID} setSize={setSizeXl} refresh={props.refresh}/>}
Index: frontend/src/Components/Resources/EditModal.js
===================================================================
--- frontend/src/Components/Resources/EditModal.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Resources/EditModal.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -32,5 +32,5 @@
         </Modal.Header>
         <Modal.Body>
-            {props.type === "hotel" && <AddHotelForm/>}
+            {props.type === "hotel" && <AddHotelForm refresh={props.refresh}/>}
             {props.type === "room" && <EditRoomForm refresh={props.refresh} room={props.room}/>}
             {props.type === "restaurant" && <AddRestaurantForm edit="false" refresh={props.refresh}/>}
Index: frontend/src/Components/Resources/ResourceListing.js
===================================================================
--- frontend/src/Components/Resources/ResourceListing.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Resources/ResourceListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -8,11 +8,7 @@
 
 const ResourceListing = (props) => {
-  
-    console.log("props " + props.id)
-  
 
     const type = props.type == "hotel" ? "сместувањето" : props.type == "restaurant" ? "ресторанот" : "превозот";
     const name = props.type == "hotel" ? props.data.hotelName : props.type == "restaurant" ? props.data.restaurantName : props.data.transportName
-<<<<<<< HEAD
     const id = props.type == "hotel" ? props.data.hotelId : props.type == "restaurant" ? props.data.restaurantID : props.data.transportID
     console.log(props.data)
@@ -54,48 +50,8 @@
                     </Col>
 
-                    <Col className="d-flex flex-column justify-content-center align-content-center">
-                        <AddImages type={props.type} Id={id} />
-                    </Col>
+                    {props.type !== 'transport' && <Col className="d-flex flex-column justify-content-center align-content-center">
+                        <AddImages type={props.type} Id={id}/>
+                    </Col>}
                     <Col className="d-flex justify-content-center align-content-center">
-=======
-    const id = props.type == "hotel" ? props.data.hotelId : props.type == "restaurant" ? props.data.resturantId : props.data.transportID
-    return(<> 
-    <a href={`${props.type}/${id}`} style={{textDecoration: "none", color:"black"}}>
-        <Container className="py-3 px-1 my-4"
-        style={{
-          border: "4px solid #159895",
-          borderRadius: "1em",
-          boxShadow: "0 3px 5px #159895",
-          maxWidth: "90%",
-        }}>
-            <Row>
-                <Col className="d-flex justify-content-center">
-                    <Image
-                    src="https://www.imgacademy.com/sites/default/files/legacyhotel.jpg"
-                    style={{
-                        height: "8em",
-                        borderRadius: "1em",
-                        boxShadow: "0 4px 20px lightblue",
-                        maxWidth: "100%",
-                    }}
-                    ></Image>
-                </Col>
-                <Col >
-                    <h2 style={{textAlign: "left"}}>{name}</h2>
-                    {props.type === "hotel" && (<>
-                      <h5 style={{textAlign: "left"}}>{props.data.hotelLocation}</h5>
-                      <h5 style={{textAlign: "left"}}>{props.data.hotelEmail}</h5>
-                    </>)}
-                    {props.type === "restaurant" && (<>
-                      <h5 style={{textAlign: "left"}}>{props.data.restaurantLocation}</h5>
-                      <h5 style={{textAlign: "left"}}>{props.data.cousineType} кујна</h5>
-                    </>)}
-                    {props.type === "transport" && (<>
-                      <h5 style={{textAlign: "left"}}>{props.data.carBrand}</h5>
-                      <h5 style={{textAlign: "left"}}>{props.data.carPlate}</h5>
-                    </>)}
-                </Col>
-                <Col className="d-flex justify-content-center align-content-center" >
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
                   <span
                       style={{
Index: frontend/src/Components/Resources/ResourcesTab.js
===================================================================
--- frontend/src/Components/Resources/ResourcesTab.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Resources/ResourcesTab.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -10,5 +10,4 @@
 
 function ResourcesTab(props) {
-<<<<<<< HEAD
     const [activeTab, setActiveTab] = useState(props.tab);
     const userId = JSON.parse(localStorage.getItem("user")).userId;
@@ -36,37 +35,4 @@
                     <Nav.Item className="tab_item rounded-5">
                         <Nav.Link href="/resources/hotel" className="text-left rounded-5">
-=======
-  const [activeTab, setActiveTab] = useState(props.tab);
-  // const [changed, setChanged] = useState(0);
-  const userId = localStorage.getItem("userId");
-  const { data, setData, isLoading, getData, setChanged } = useGet(`${props.tab}/user/${userId}`);
-
-  const handleSelect = (eventKey) => {
-    setActiveTab(eventKey);
-    console.log(props.refresh);
-    props.refresh(eventKey);
-    console.log("refresh" + eventKey);
-  };
-
-  !isLoading && console.log(data);
-  console.log(props.tab);
-
-  return (
-    <Container className="rounded-5">
-      <Tab.Container
-        activeKey={activeTab}
-        onSelect={handleSelect}
-        className="bg-dark rounded-5"
-      >
-        <Nav
-          fill
-          variant="tabs"
-          className="bg-body rounded-top-5"
-          activeKey="/hotel"
-          id="tab_item"
-        >
-          <Nav.Item className="tab_item rounded-5">
-            <Nav.Link href="/resources/hotel" className="text-left rounded-5">
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
               <span className="ikona">
                 <FaHotel
@@ -101,5 +67,4 @@
                 </Nav>
 
-<<<<<<< HEAD
                 <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
                     <Tab.Pane eventKey="/hotel" key="hotelPane">
@@ -150,57 +115,4 @@
         </Container>
     );
-=======
-        <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
-          <Tab.Pane eventKey="/hotel" key="hotelPane">
-            {props.tab == "/hotel" && !isLoading && data != null &&
-              data.map((hotel) => {
-                return (
-                  <Link key={hotel.hotelId} to={"/resources/hotel/" + hotel.hotelId}>
-                    <ResourceListing
-                      key={hotel.hotelId}
-                      id={hotel.hotelId}
-                      type="hotel"
-                      data={hotel}
-                    />
-                  </Link>
-                );
-              })}
-            <AddNew type="hotel" refresh={setChanged} />
-          </Tab.Pane>
-          <Tab.Pane eventKey="/restaurant" key="restaurantPane">
-            {props.tab == "/restaurant" && !isLoading && data != null &&
-              data.map((restaurant) => {
-                console.log("mapiranje " + restaurant)
-                return (
-                  <Link key={restaurant.restaurantId} to={"/resources/restaurant/" + restaurant.restaurantID}>
-                    <ResourceListing
-                      key={restaurant.restaurantId}
-                      type="restaurant"
-                      data={restaurant}
-                    />
-                  </Link>
-                );
-              })}
-            <AddNew type="restaurant" refresh={setChanged}/>
-          </Tab.Pane>
-          <Tab.Pane eventKey="/transport" key="transportPane">
-            {props.tab == "/transport" && !isLoading && data.length > 0 &&
-              data.map((transport) => {
-                return (
-                  <ResourceListing
-                    key={transport.transportId}
-                    id={transport.transportId}
-                    type="transport"
-                    data={transport}
-                  />
-                );
-              })}
-            <AddNew type="transport" refresh={setChanged}/>
-          </Tab.Pane>
-        </Tab.Content>
-      </Tab.Container>
-    </Container>
-  );
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
 }
 
Index: frontend/src/Components/RestaurantDetails/Carousel.js
===================================================================
--- frontend/src/Components/RestaurantDetails/Carousel.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/RestaurantDetails/Carousel.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -12,5 +12,5 @@
             <Row className='d-flex justify-content-center align-items-center'><h2>Мени</h2></Row>
             <hr className='m-2'></hr>
-            <Menu menu={props.menu}></Menu>
+            <Menu images={props.images} menu={props.menu}></Menu>
         </>
     );
Index: frontend/src/Components/RestaurantDetails/Menu.js
===================================================================
--- frontend/src/Components/RestaurantDetails/Menu.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/RestaurantDetails/Menu.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -23,4 +23,6 @@
 
 
+
+
     return (<>
         <Carousel activeIndex={ind} onSelect={handleSelect} indicators={false}>
@@ -34,5 +36,8 @@
                                         return (
                                             <Col>
-                                                <MenuItem data={menuItem}/>
+                                                <MenuItem images={    props.images.filter(x => {
+                                                    console.log(x)
+                                                    return x.menu.menuId === menuItem.menuId
+                                                })} data={menuItem}/>
                                             </Col>
                                         )
Index: frontend/src/Components/RestaurantDetails/MenuItem.js
===================================================================
--- frontend/src/Components/RestaurantDetails/MenuItem.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/RestaurantDetails/MenuItem.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,8 +1,11 @@
 import React from "react";
 import {Col, Row, Image, Container} from "react-bootstrap";
+import Carousel from "react-bootstrap/Carousel";
 
 const MenuItem = (props) => {
 
     const data = props.data;
+    console.log("dva orla")
+    console.log(props)
     return (<>
 
@@ -17,13 +20,38 @@
                 <Row>
                     <Col className="d-flex justify-content-center mb-3">
-                        <Image
-                            src="https://www.tasteofhome.com/wp-content/uploads/2019/01/medium-rare-steak-shutterstock_706040446.jpg"
-                            style={{
-                                height: "7em",
-                                borderRadius: "1em",
-                                boxShadow: "0 4px 20px lightblue",
-                                maxWidth: "100%",
-                            }}
-                        ></Image>
+                        <Carousel>
+                            {props.images.map((image) => {
+                                let link = image.url;
+                                if (image.url.includes('Desktop')) {
+                                    link = 'http://localhost:8080/download?fileName=' + encodeURIComponent(image.url);
+                                }
+                                return (
+                                    <Carousel.Item>
+                                        <img
+                                            className="d-block w-100 h-400 rounded-5"
+                                            src={link}
+                                            alt="First slide"
+                                            style={{
+                                                height: "7em",
+                                                borderRadius: "1em",
+                                                boxShadow: "0 4px 20px lightblue",
+                                                maxWidth: "100%",
+                                            }}
+                                        />
+                                    </Carousel.Item>
+                                )
+                            })}
+                            {props.images.length == 0 && <Carousel.Item>
+                                <Image
+                                    src="https://www.tasteofhome.com/wp-content/uploads/2019/01/medium-rare-steak-shutterstock_706040446.jpg"
+                                    style={{
+                                        height: "7em",
+                                        borderRadius: "1em",
+                                        boxShadow: "0 4px 20px lightblue",
+                                        maxWidth: "100%",
+                                    }}
+                                ></Image>
+                            </Carousel.Item>}
+                        </Carousel>
                     </Col>
                 </Row>
Index: frontend/src/Components/RestaurantDetails/TablesTable.js
===================================================================
--- frontend/src/Components/RestaurantDetails/TablesTable.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/RestaurantDetails/TablesTable.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -22,5 +22,7 @@
                 </thead>
                 <tbody>
-                {Array.from(new Set(props.data.map(x => x.restaurantTable))).map((table) => {
+                {Array.from(
+                    new Set(props.data.map((x) => JSON.stringify(x.restaurantTable)))
+                ).map((roomString) => JSON.parse(roomString)).map((table) => {
                     return (
                         <>
Index: frontend/src/Components/RestaurantEdit/MenuListing.js
===================================================================
--- frontend/src/Components/RestaurantEdit/MenuListing.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/RestaurantEdit/MenuListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -6,4 +6,5 @@
 import { AiOutlinePlusCircle } from "react-icons/ai"
 import EditModal from "../Resources/EditModal";
+import AddImages from "../Resources/AddImages";
 
 const MenuListing = (props) => {
@@ -12,6 +13,5 @@
     console.log(props.data)
     return(<>
-    <a href="#" onClick={(e) => {e.preventDefault(); props.showModal(props.data);
-    console.log("kliknav")} } style={{textDecoration: "none", color:"black"}}>
+    <a href="#" style={{textDecoration: "none", color:"black"}}>
         <Container className="py-3 px-1 my-4"
         style={{
@@ -23,5 +23,9 @@
             <Row>
                 <Col className="d-flex justify-content-center">
-                    <Image
+                    <Image onClick={(e) => {
+                        e.preventDefault();
+                        props.showModal(props.data);
+                        console.log("kliknav")
+                    }}
                     src="https://www.tasteofhome.com/wp-content/uploads/2019/01/medium-rare-steak-shutterstock_706040446.jpg"
                     style={{
@@ -37,4 +41,7 @@
                     <h6>{props.data.ingredients}</h6>
                 </Col>
+                <Col className="d-flex flex-column justify-content-center align-content-center">
+                    <AddImages type="menu" Id={props.data.menuId} />
+                </Col>
                 
                 <Col className="d-flex flex-column justify-content-center align-content-center">
Index: frontend/src/Components/RestaurantEdit/RestaurantEditTab.js
===================================================================
--- frontend/src/Components/RestaurantEdit/RestaurantEditTab.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/RestaurantEdit/RestaurantEditTab.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -10,4 +10,6 @@
 import TableListing from "./TableListing";
 import EditModal from "../Resources/EditModal";
+import ReservationListing from "../HotelEdit/ReservationListing";
+import useGet from "../Hooks/useGet";
 
 function RestaurantEditTab(props) {
@@ -35,4 +37,12 @@
     setActiveTab(eventKey);
   };
+
+  const {
+    data,
+    isLoading,
+    setData,
+    getData,
+    setChanged: dhanged
+  } = useGet(`/restaurant/${props.displayMenu.restaurantID}/reservations/active`)
 
   console.log(props.displayMenu.restaurantID)
@@ -100,10 +110,10 @@
               return <MenuListing key={menu.menuId} data={menu} showModal={showModal}/>
             })}
-            {activeTab === '/hotel' && <EditModal show={show} handleClose={handleClose} type="menu" menu={modalData}></EditModal>}
+            {activeTab === '/hotel' && <EditModal show={show} refresh={props.refresh} handleClose={handleClose} type="menu" menu={modalData}></EditModal>}
             <AddNew Id={props.displayMenu.restaurantID} refresh={props.refresh} type="menu"/>
           </Tab.Pane>
           <Tab.Pane eventKey="/masi">
            {props.displayMenu.tables.map((table) => {
-              return <TableListing key={table.tableId} showModal={showModal} data={table}/>
+              return <TableListing key={table.tableId} refresh={props.refresh} showModal={showModal} handleClose={handleClose} data={table}/>
             })}
             {activeTab === '/masi' && <EditModal show={show} handleClose={handleClose} refresh={props.refresh} type="table"
@@ -112,5 +122,9 @@
           </Tab.Pane>
           <Tab.Pane eventKey="/restaurant">
-            <AddNew type="restaurant"/>
+            {!isLoading && data.map((res) => {
+              return (
+                  <ReservationListing type={'restaurant'} data={res}/>
+              )
+            })}
           </Tab.Pane>
           <Tab.Pane eventKey="/transport">
Index: frontend/src/Components/RestaurantEdit/TableListing.js
===================================================================
--- frontend/src/Components/RestaurantEdit/TableListing.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/RestaurantEdit/TableListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -41,5 +41,5 @@
                 
                 <Col className="d-flex flex-column justify-content-center align-content-center">
-                  <AddAvailability type="table" table={props.data}/>
+                  <AddAvailability type="table" refresh={props.refresh} closeModal={props.handleClose} table={props.data}/>
                 </Col>
 
Index: frontend/src/Components/SearchCriterias/SearchCriteriasBar.js
===================================================================
--- frontend/src/Components/SearchCriterias/SearchCriteriasBar.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/SearchCriterias/SearchCriteriasBar.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -2,18 +2,12 @@
 import { Container, Form, Button, Row, Col } from "react-bootstrap";
 import useFormData from "../Hooks/useFormData";
-<<<<<<< HEAD
 import SearchCriteriasHotel from "./SearchCriteriasHotel";
 import SearchCriteriasTransport from "./SearchCriteriasTransport";
 import SearchCriteriasRestaurant from "./SearchCriteriasRestaurant";
-=======
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
 
-const SearchCriterias = (props) => {
+const SearchCriteriasBar = (props) => {
 
-  const { formData, onFormChange, onCheckBoxChange, setFormData} = useFormData(props.criterias)
-  console.log("KRITERIUMI")
-  console.log(formData)
+    const { criterias, type } = props
 
-<<<<<<< HEAD
     return (
         <>
@@ -24,92 +18,4 @@
     )
 }
-=======
-  return (
-    <>
-      <Container
-        className="p-1 pb-0 mb-5 mt-3 rounded-2"
-        style={{ backgroundColor: "#002B5B", width: "65%"}}
-      >
-        <Form className="rounded-5">
-          <Row className="gx-1">
-            <Col>
-              <Form.Floating className="mb-3">
-                <Form.Control
-                  size="md"
-                  type="text"
-                  placeholder="Каде ќе патувате?:"
-                  id="location"
-                  name="hotelLocation"
-                  onChange={onFormChange}
-                  value={formData.hotelLocation}
-                ></Form.Control>
-                <label htmlFor="location">Локација:</label>
-              </Form.Floating>
-            </Col>
-            <Col>
-              <Form.Floating className="mb-3">
-                <Form.Control
-                  size="md"
-                  type="date"
-                  placeholder="Датум на пристигнување:"
-                  id="dateFrom"
-                  name="dateFrom"
-                  onChange={onFormChange}
-                  value={formData.dateFrom}
-                ></Form.Control>
-                <label htmlFor="dateFrom">Датум на пристигнување:</label>
-              </Form.Floating>
-            </Col>
-            <Col>
-              <Form.Floating className="mb-3">
-                <Form.Control
-                  size="md"
-                  type="date"
-                  placeholder="Датум на заминување:"
-                  id="dateTo"
-                  name="dateTo"
-                  onChange={onFormChange}
-                  value={formData.dateTo}
-                ></Form.Control>
-                <label htmlFor="dateTo">Датум на заминување:</label>
-              </Form.Floating>
-            </Col>
-            <Col>
-              <Form.Floating className="mb-3">
-                <Form.Control
-                  size="md"
-                  type="number"
-                  placeholder="Број на гости:"
-                  id="floatingPassengers"
-                  name="numBeds"
-                  onChange={onFormChange}
-                  value={formData.numBeds}
-                ></Form.Control>
-                <label htmlFor="floatingPassengers">Број на гости:</label>
-              </Form.Floating>
-            </Col>
-            <Col>
-              <Form.Group className="my-1">
-                <Button
-                  type="submit"
-                  style={{ backgroundColor: "#159895" }}
-                  size="lg"
-                  className="w-100"
-                  onClick={(e) => {
-                    e.preventDefault();
-                    window.location.href = `/search/hotel/${formData.hotelLocation}/${formData.dateFrom}/${formData.dateTo}/${formData.numBeds}`
-                  }}
-                >
-                  <span className="ikona mx-3">Пребарај</span>
-                </Button>
-              </Form.Group>
-            </Col>
-          </Row>
-        </Form>
-      </Container>
-    </>
-  );
-};
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
 
-export default SearchCriterias;
+export default SearchCriteriasBar;
Index: frontend/src/Components/Tab/TabFormHotel.js
===================================================================
--- frontend/src/Components/Tab/TabFormHotel.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Tab/TabFormHotel.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,91 +1,102 @@
 import React from "react";
-import { Button, Col, Container, Form, Row } from "react-bootstrap";
-import { FaMagnet } from "react-icons/fa"
-import { HiMagnifyingGlass } from "react-icons/hi2"
+import {Button, Col, Container, Form, InputGroup, Row} from "react-bootstrap";
+import {FaMagnet} from "react-icons/fa"
+import {HiMagnifyingGlass} from "react-icons/hi2"
 import useFormData from "../Hooks/useFormData";
 
 function TabFormHotel() {
 
-  const { formData, onFormChange, setFormData } = useFormData({
-    hotelLocation: undefined,
-    dateFrom: undefined,
-    dateTo: undefined,
-    numBeds: undefined
-  })
+    const {formData, onFormChange, setFormData, onCheckBoxChange} = useFormData({
+        hotelLocation: undefined,
+        dateFrom: undefined,
+        dateTo: undefined,
+        numBeds: undefined,
+        flexible: false,
+    })
 
-  return (
-    <Form className='rounded-5' >
-      <Row>
-        <Col>
-          <Form.Floating className="mb-3">
-            <Form.Control
-              size="md"
-              type="text"
-              placeholder="Каде ќе патувате?:"
-              id="location"
-              name="hotelLocation"
-              value={formData.hotelLocation}
-              onChange={onFormChange}
-            ></Form.Control>
-            <label htmlFor="location">Локација:</label>
-          </Form.Floating>
-        </Col>
-        <Col>
-          <Form.Floating className="mb-3">
-            <Form.Control
-              size="md"
-              type="date"
-              placeholder="Датум на пристигнување:"
-              id="dateFrom"
-              name="dateFrom"
-              value={formData.dateFrom}
-              onChange={onFormChange}
-            ></Form.Control>
-            <label htmlFor="dateFrom">Датум на пристигнување:</label>
-          </Form.Floating>
-        </Col>
-        <Col>
-          <Form.Floating className="mb-3">
-            <Form.Control
-              size="md"
-              type="date"
-              placeholder="Датум на заминување:"
-              id="dateTo"
-              name="dateTo"
-              value={formData.dateTo}
-              onChange={onFormChange}
-            ></Form.Control>
-            <label htmlFor="dateTo">Датум на заминување:</label>
-          </Form.Floating>
-        </Col>
-        <Col>
-          <Form.Floating className="mb-3">
-            <Form.Control
-              size="md"
-              type="number"
-              placeholder="Број на гости:"
-              id="floatingPassengers"
-              name="numBeds"
-              value={formData.numBeds}
-              onChange={onFormChange}
-            ></Form.Control>
-            <label htmlFor="floatingPassengers">Број на гости:</label>
-          </Form.Floating>
+    return (
+        <Form className='rounded-5'>
+            <Row>
+                <Col>
+                    <Form.Floating className="mb-3">
+                        <Form.Control
+                            size="md"
+                            type="text"
+                            placeholder="Каде ќе патувате?:"
+                            id="location"
+                            name="hotelLocation"
+                            value={formData.hotelLocation}
+                            onChange={onFormChange}
+                        ></Form.Control>
+                        <label htmlFor="location">Локација:</label>
+                    </Form.Floating>
+                    <div className="mb-3">
+                        <Form.Check
+                            type={"checkbox"}
+                            id={`default-checkbox}`}
+                            label={`флексибилност +- 3 дена`}
+                            onChange={onCheckBoxChange}
+                            name={'flexible'}
+                            value={formData.flexible}
+                        />
+                    </div>
+                </Col>
+                <Col>
+                    <Form.Floating className="mb-3">
+                        <Form.Control
+                            size="md"
+                            type="date"
+                            placeholder="Датум на пристигнување:"
+                            id="dateFrom"
+                            name="dateFrom"
+                            value={formData.dateFrom}
+                            onChange={onFormChange}
+                        ></Form.Control>
+                        <label htmlFor="dateFrom">Датум на пристигнување:</label>
+                    </Form.Floating>
+                </Col>
+                <Col>
+                    <Form.Floating className="mb-3">
+                        <Form.Control
+                            size="md"
+                            type="date"
+                            placeholder="Датум на заминување:"
+                            id="dateTo"
+                            name="dateTo"
+                            value={formData.dateTo}
+                            onChange={onFormChange}
+                        ></Form.Control>
+                        <label htmlFor="dateTo">Датум на заминување:</label>
+                    </Form.Floating>
+                </Col>
+                <Col>
+                    <Form.Floating className="mb-3">
+                        <Form.Control
+                            size="md"
+                            type="number"
+                            placeholder="Број на гости:"
+                            id="floatingPassengers"
+                            name="numBeds"
+                            value={formData.numBeds}
+                            onChange={onFormChange}
+                        ></Form.Control>
+                        <label htmlFor="floatingPassengers">Број на гости:</label>
+                    </Form.Floating>
 
-          <Form.Group className="my-1">
-            <Button type="submit" style={{backgroundColor: "#159895"}} size="lg" 
-            onClick={(e) => {
-              e.preventDefault();
-              window.location.href = `/search/hotel/${formData.hotelLocation}/${formData.dateFrom}/${formData.dateTo}/${formData.numBeds}`
-            }}>
-              <span className="ikona my-1"><HiMagnifyingGlass/></span>
-              <span className="ikona mx-3">Пребарај</span>
-            </Button>
-          </Form.Group>
-        </Col>
+                    <Form.Group className="my-1">
+                        <Button type="submit" style={{backgroundColor: "#159895"}} size="lg"
+                                onClick={(e) => {
+                                    e.preventDefault();
+                                    window.location.href = `/search/hotel/${formData.hotelLocation}/${formData.dateFrom}/${formData.dateTo}/${formData.numBeds}/${formData.flexible}`
+                                }}>
+                            <span className="ikona my-1"><HiMagnifyingGlass/></span>
+                            <span className="ikona mx-3">Пребарај</span>
+                        </Button>
+                    </Form.Group>
+                </Col>
 
-      </Row>
-    </Form>
-  );
+            </Row>
+        </Form>
+    );
 }
 
Index: frontend/src/Components/Tab/TabFormTransport.js
===================================================================
--- frontend/src/Components/Tab/TabFormTransport.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/Tab/TabFormTransport.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -2,6 +2,15 @@
 import { Button, Col, Container, Form, Row } from "react-bootstrap";
 import { HiMagnifyingGlass } from "react-icons/hi2"
+import useFormData from "../Hooks/useFormData";
 
 function TabFormTransport() {
+
+  const { formData, onFormChange, setFormData } = useFormData({
+    from: undefined,
+    to: undefined,
+    date: undefined,
+    numPassengers: 0
+  })
+
   return (
     <Form>
@@ -14,4 +23,7 @@
               placeholder="Од:"
               id="floatingFrom"
+              value={formData.from}
+              name={'from'}
+              onChange={onFormChange}
             ></Form.Control>
             <label htmlFor="floatingFrom">Од:</label>
@@ -25,4 +37,7 @@
               placeholder="До:"
               id="floatingTo"
+              name={'to'}
+              value={formData.to}
+              onChange={onFormChange}
             ></Form.Control>
             <label htmlFor="floatingTo">До:</label>
@@ -36,4 +51,7 @@
               placeholder="Датум:"
               id="floatingDate"
+              name={'date'}
+              value={formData.date}
+              onChange={onFormChange}
             ></Form.Control>
             <label htmlFor="floatingDate">Датум:</label>
@@ -46,10 +64,16 @@
               type="number"
               placeholder="Број на патници:"
+              name={'numPassengers'}
               id="floatingPassengers"
+              value={formData.numPassengers}
+              onChange={onFormChange}
             ></Form.Control>
             <label htmlFor="floatingPassengers">Број на патници:</label>
           </Form.Floating>
           <Form.Group className="my-1">
-            <Button type="submit" style={{backgroundColor: "#159895"}} size="lg">
+            <Button type="submit" style={{backgroundColor: "#159895"}} size="lg" onClick={(e) => {
+              e.preventDefault();
+              window.location.href = `/search/transport/${formData.from}/${formData.to}/${formData.date}/${formData.numPassengers}`
+            }}>
               <span className="ikona my-1"><HiMagnifyingGlass/></span>
               <span className="ikona mx-3">Пребарај</span>
Index: frontend/src/Components/TransportDetails/FinalPoint.js
===================================================================
--- frontend/src/Components/TransportDetails/FinalPoint.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/TransportDetails/FinalPoint.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -17,5 +17,5 @@
     <>
       <Row>
-        {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-auto" style={{paddingLeft: "2.6rem"}}>
+        {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-md-4" style={{paddingLeft: "2.6rem"}}>
             <h5 className="m-auto">{getTimeAsString(props.time)}</h5>
         </Col>  }
Index: frontend/src/Components/TransportDetails/Line.js
===================================================================
--- frontend/src/Components/TransportDetails/Line.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/TransportDetails/Line.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -2,7 +2,5 @@
 
 const Line = (props) => {
-    console.log(props.left)
-    const left = props.left === "true" ? "9.08rem" : "2.6rem";
-    console.log({borderLeft: "5px solid #159895", height: "3em", marginLeft: left, marginTop: "-1.4rem", marginBottom: "-1.4rem"})
+    const left = props.left === "true" ? "1.8rem" : "1.85rem";
     return (<>
         <div style={{borderLeft: "5px solid #159895", height: "3em", marginLeft: left, marginTop: "-1.4rem", marginBottom: "-1.4rem"}}></div>
Index: frontend/src/Components/TransportDetails/Waypoint.js
===================================================================
--- frontend/src/Components/TransportDetails/Waypoint.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/TransportDetails/Waypoint.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -16,5 +16,4 @@
     }
 
-<<<<<<< HEAD
     return (
         <>
@@ -58,27 +57,4 @@
         </>
     );
-=======
-  return (
-    <>
-      <Row className="d-flex flex-row gap-0">
-      {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-auto" style={{paddingLeft: "2.6rem"}}>
-            <h5 style={{color: props.routes === "true" ? "white" : "" }} className="m-auto">{getTimeAsString(props.time)}</h5>
-        </Col>}
-        <Col md="auto">
-          <RxDot size={"4rem"} color="#159895"></RxDot>
-        </Col>
-        <Col className="d-flex flex-column justify-content-center">
-          <h3 className="my-auto" style={{...style, fontSize: props.routes === "true" ? "1.3rem" : "", color: props.routes === "true" ? "#708090	" : ""}}>{props.city}</h3>
-        </Col>
-      {props.left !== "true" && <Col className="d-flex flex-column justify-content-center">
-            <h5>{getTimeAsString(props.time)}</h5>
-        </Col>}
-      </Row>
-      <Row>
-      <Line left={props.left}> </Line>
-      </Row>
-    </>
-  );
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
 };
 
Index: frontend/src/Components/TransportEdit/TransportEditTab.js
===================================================================
--- frontend/src/Components/TransportEdit/TransportEditTab.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/TransportEdit/TransportEditTab.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -9,11 +9,19 @@
 import TransportListing from "./TransportListing";
 import useGet from "../Hooks/useGet";
+import ReservationListing from "../HotelEdit/ReservationListing";
 
 function TransportEditTab(props) {
   const [activeTab, setActiveTab] = useState("/hotel");
-  const link = "/transport/" + props.displayRoute.transportID + "/available";
-  console.log(props.displayRoute)
-  const [changed, setChanged] = useState(0)
-  const { data, setData, isLoading, getData } = useGet(link, changed);
+  console.log(props)
+
+
+  const {
+    data,
+    isLoading,
+    setData,
+    getData,
+    setChanged: dhanged
+  } = useGet(`/transport/${props.displayRoute.transportID}/reservations/active`)
+
 
 
@@ -75,5 +83,9 @@
           </Tab.Pane>
           <Tab.Pane eventKey="/restaurant">
-            <AddNew type="restaurant"/>
+            {!isLoading && data.map((res) => {
+              return (
+                  <ReservationListing type={'transport'} data={res}/>
+              )
+            })}
           </Tab.Pane>
           <Tab.Pane eventKey="/transport">
Index: frontend/src/Components/TransportEdit/TransportListing.js
===================================================================
--- frontend/src/Components/TransportEdit/TransportListing.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/TransportEdit/TransportListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -9,6 +9,4 @@
 
     //const type = props.type == "hotel" ? "сместувањето" : props.type == "restaurant" ? "ресторанот" : "превозот";
-    console.log(props.data)
-    console.log(props.data.from)
     return (<>
         <a href="#" style={{textDecoration: "none", color: "black"}}>
@@ -34,5 +32,4 @@
                     <Col className="d-flex flex-column justify-content-center" style={{textAlign: "left"}}>
                         <h2>{props.data.from} - {props.data.to}</h2>
-                        {/* <h6>{props.data.routeCities}</h6> */}
                         <h6>{props.data.routes.map(x => x).join(", ")}</h6>
                     </Col>
@@ -40,6 +37,5 @@
                     <Col className="d-flex flex-column justify-content-center align-content-center">
                         <h5>Цена:</h5>
-                        {/* <h4>{props.data.routePrice}</h4> */}
-                        <h4>99$</h4>
+                         <h4>{props.data.maxPrice}$</h4>
                     </Col>
                 </Row>
Index: frontend/src/Components/UserPanel/HotelReservationListing.js
===================================================================
--- frontend/src/Components/UserPanel/HotelReservationListing.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/UserPanel/HotelReservationListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -12,5 +12,6 @@
 import data from "bootstrap/js/src/dom/data";
 import {AiOutlinePlusCircle} from "react-icons/ai";
-import {MdOutlineRateReview} from "react-icons/md";
+import { MdCancel } from "react-icons/md";
+import { MdOutlineRateReview } from "react-icons/md"
 import useFormData from "../Hooks/useFormData";
 import useCreate from "../Hooks/useCreate";
@@ -26,4 +27,5 @@
 
     console.log(props.data)
+    const { createEntity } = useCreate();
     const dateFormatter = (str) => {
         const inputDate = new Date(str);
@@ -114,4 +116,18 @@
                         <h3>Вкупна цена: <br></br>{props.data.transportRoute.price}$</h3>
                     </Col>}
+                {(!props.past) && <Col className="d-flex flex-column justify-content-center align-content-center">
+                    {<Container id={'ocn'} onClick={(e) => {
+                        console.log(e.target)
+                        if (e.target.id === 'icon') {
+                            createEntity(`/restaurant/${props.data.reservationId}/cancel`, props.setChanged, props.setChanged)
+                            window.location.href="/reservations"
+                        }
+                    }}>
+                        <h5 id={'icon'}>Откажи<br/>резервација</h5>
+                        <div className="d-flex justify-content-center align-content-center">
+                            <MdCancel size={50} color="#159895"/></div>
+
+                    </Container>}
+                </Col>}
                 {(props.past) && <Col className="d-flex flex-column justify-content-center align-content-center">
                     {!props.data.reviewed && <Container id={'ocn'} onClick={(e) => {
@@ -132,6 +148,6 @@
             </Row>
         </Container>
-        {props.type === 'hotel' && <HotelReservationModal show={show} handleClose={handleClose} data={props.data}/>}
-        <ReviewModal type={props.type} showReview={showReview} handleCloseReview={handleCloseReview} data={props.data}/>
+        {props.type === 'hotel' && <HotelReservationModal setChanged={props.setChanged} show={show} handleClose={handleClose} data={props.data}/>}
+        <ReviewModal setChanged={props.setChanged} type={props.type} showReview={showReview} handleCloseReview={handleCloseReview} data={props.data}/>
     </>)
 }
Index: frontend/src/Components/UserPanel/HotelReservationModal.js
===================================================================
--- frontend/src/Components/UserPanel/HotelReservationModal.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/UserPanel/HotelReservationModal.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -5,6 +5,9 @@
 import {TbToolsKitchen2} from "react-icons/tb";
 import React from "react";
+import useCreate from "../Hooks/useCreate";
 
 const HotelReservationModal = (props) => {
+
+    const {createEntity} = useCreate();
 
     const dateFormatter = (str) => {
@@ -17,4 +20,6 @@
             hour12: false,
         };
+
+        console.log(props)
 
         return inputDate.toLocaleString('de-DE', options);
@@ -189,4 +194,11 @@
                         Затвори
                     </Button>
+                    <Button variant="danger" onClick={() => {
+                        createEntity(`/hotel/${props.data.reservationId}/cancel`, props.setChanged)
+                        props.handleClose()
+                    }
+                    }>
+                        Откажи резервација
+                    </Button>
                 </Modal.Footer>
             </Modal>
Index: frontend/src/Components/UserPanel/PastHotelReservations.js
===================================================================
--- frontend/src/Components/UserPanel/PastHotelReservations.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/UserPanel/PastHotelReservations.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -10,5 +10,5 @@
         <>
             {!isLoading && data.map((res) => {
-                return (<HotelReservationListing past={true} data={res} type={'hotel'}></HotelReservationListing>)
+                return (<HotelReservationListing setChanged={setChanged} past={true} data={res} type={'hotel'}></HotelReservationListing>)
             })}
             {(!isLoading && data.length === 0) && <h3 className={'my-5'}>Нема податоци за одбраните критериуми!</h3>}
Index: frontend/src/Components/UserPanel/PastRestaurantReservations.js
===================================================================
--- frontend/src/Components/UserPanel/PastRestaurantReservations.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/UserPanel/PastRestaurantReservations.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -11,5 +11,6 @@
         <>
             {!isLoading && data.map((res) => {
-                return (<HotelReservationListing past={true} data={res} type={'restaurant'}></HotelReservationListing>)
+                console.log(res)
+                return (<HotelReservationListing setChanged={setChanged} past={true} data={res} type={'restaurant'}></HotelReservationListing>)
             })}
             {(!isLoading && data.length === 0) && <h3 className={'my-5'}>Нема податоци за одбраните критериуми!</h3>}
Index: frontend/src/Components/UserPanel/PastTransportReservations.js
===================================================================
--- frontend/src/Components/UserPanel/PastTransportReservations.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/UserPanel/PastTransportReservations.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -10,5 +10,5 @@
         <>
             {!isLoading && data.map((res) => {
-                return (<HotelReservationListing past={true} data={res} type={'transport'}></HotelReservationListing>)
+                return (<HotelReservationListing setChanged={setChanged} past={true} data={res} type={'transport'}></HotelReservationListing>)
             })}
 
Index: frontend/src/Components/UserPanel/ReviewModal.js
===================================================================
--- frontend/src/Components/UserPanel/ReviewModal.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/UserPanel/ReviewModal.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -10,4 +10,5 @@
         description: "",
     }
+    console.log(props)
 
     const {createEntity} = useCreate();
@@ -80,16 +81,19 @@
                                 ...formData,
                                 hotelId: props.data.hotelId,
-                                userId: 1
+                                userId: 1,
+                                reservationId: props.data.reservationId
                             } :
                             props.type === 'restaurant' ? {
-                                    ...formData,
-                                    restaurantId: props.data.restaurantId,
-                                    userId: 1
-                                } : {
+                                ...formData,
+                                restaurantId: props.data.restaurantId,
+                                userId: 1,
+                                reservationId: props.data.reservationId
+                            } : {
                                 ...formData,
                                 transportId: props.data.transportId,
-                                userId: 1
+                                userId: 1,
+                                reservationId: props.data.reservationId
                             }
-                                createEntity('/review/add', dataToPost)
+                        createEntity('/review/add', dataToPost, props.setChanged)
                         setFormData(dummy)
                         props.handleCloseReview()
Index: frontend/src/Components/useFormNested.js
===================================================================
--- frontend/src/Components/useFormNested.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Components/useFormNested.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -7,5 +7,5 @@
         console.log(e)
 
-        const dependantRoutes = e.target.parentElement.getAttribute('dependantRoutes').split(',')
+        const dependantRoutes = e.target.name === 'freeSpace' ? e.target.parentElement.getAttribute('dependantRoutes').split(',') : undefined;
         console.log(dependantRoutes)
 
Index: frontend/src/Pages/HotelDetailsPage.js
===================================================================
--- frontend/src/Pages/HotelDetailsPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/HotelDetailsPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,9 +1,5 @@
 import React from "react";
 import LoginForm from "../Components/Login/LoginForm";
-<<<<<<< HEAD
 import {Container, Row, Col, Form, FloatingLabel, Modal, Button} from "react-bootstrap";
-=======
-import { Container, Row, Col, Form } from "react-bootstrap";
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
 import Navigation from "../Components/Layout/Navbar/Navigation";
 import Carousel from "react-bootstrap/Carousel";
@@ -73,6 +69,7 @@
                   placeholder="Каде ќе патувате?:"
                   id="location"
+                  value={data.hotelLocation}
                 ></Form.Control>
-                <label htmlFor="location">Локација:</label>
+                <label style={{left: "10px"}} htmlFor="location">Локација:</label>
               </Form.Floating>
             </Row>
@@ -84,6 +81,7 @@
                   placeholder="Датум на пристигнување:"
                   id="dateFrom"
+                  value={from}
                 ></Form.Control>
-                <label htmlFor="dateFrom">Датум на пристигнување:</label>
+                <label style={{left: "10px"}} htmlFor="dateFrom">Датум на пристигнување:</label>
               </Form.Floating>
             </Row>
@@ -95,6 +93,7 @@
                   placeholder="Датум на заминување:"
                   id="dateTo"
+                  value={to}
                 ></Form.Control>
-                <label htmlFor="dateTo">Датум на заминување:</label>
+                <label style={{left: "10px"}} htmlFor="dateTo">Датум на заминување:</label>
               </Form.Floating>
             </Row>
@@ -107,5 +106,5 @@
                   id="floatingPassengers"
                 ></Form.Control>
-                <label htmlFor="floatingPassengers">Број на гости:</label>
+                <label style={{left: "10px"}} htmlFor="floatingPassengers">Број на гости:</label>
               </Form.Floating>
             </Row>
@@ -117,6 +116,4 @@
                   {data.images.map((image) => {
                     let link = image.url;
-                    console.log("SLIKATAAA")
-                    console.log(image)
                     if (image.url.includes('Desktop')) {
                       link = 'http://localhost:8080/download?fileName=' + encodeURIComponent(image.url);
Index: frontend/src/Pages/HotelEditPage.js
===================================================================
--- frontend/src/Pages/HotelEditPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/HotelEditPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,59 +1,60 @@
-import React, { useState } from "react";
-import { Container, Col, Row, Image } from "react-bootstrap";
+import React, {useState} from "react";
+import {Container, Col, Row, Image} from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
 import ResourcesTab from "../Components/Resources/ResourcesTab";
 import HotelEditTab from "../Components/HotelEdit/HotelEditTab";
 import useGet from "../Components/Hooks/useGet";
-import { useParams } from "react-router-dom";
+import {Navigate, useParams} from "react-router-dom";
+import {useAuth} from "../Components/Context/AuthContext";
 
 
 const HotelEditPage = () => {
 
-  const params = useParams();
-  const link = "/hotel/list/" + params.hotelId;
-  const [changed, setChanged] = useState(0)
-  const { data, setData, isLoading, getData } = useGet(link, changed);
+    const params = useParams();
+    const link = `/hotel/${params.hotelId}/list`;
+    const [changed, setChanged] = useState(0)
+    const {data, setData, isLoading, getData} = useGet(link, changed);
 
 
-  console.log(data)
-  return (
-    <>
-      <Navigation />
-      {!isLoading && <Container>
-        <Row className="mb-5">
-          <h2 style={{ color: "#159895", textAlign: "left" }}>Мои ресурси</h2>
-        </Row>
-        <Row className="mb-5">
-          <Col>
-            <Row className="d-flex mb-3">
-              <Col
-                className="d-flex justify-content-center"
-                style={{ maxWidth: "30%" }}
-              >
-                <Image
-                  src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
-                  style={{
-                    height: "5em",
-                    borderRadius: "50%",
-                    maxWidth: "100%",
-                  }}
-                  className="m-auto"
-                ></Image>
-              </Col>
-              <Col className="d-flex justify-content-center">
-                <Container className="pt-2" style={{ textAlign: "left" }}>
-                  <h4>{data.hotelName}</h4>
-                  <h5>{data.hotelLocation}</h5>
-                </Container>
-              </Col>
-            </Row>
-          </Col>
-        </Row>
-        <Row>
-            <HotelEditTab refresh={setChanged} displayRoom={data}/>
-        </Row>
-      </Container>}
-    </>
-  );
+    console.log(data)
+    return (
+        <>
+            <Navigation/>
+            {!isLoading && <Container>
+                <Row className="mb-5">
+                    <h2 style={{color: "#159895", textAlign: "left"}}>Мои ресурси</h2>
+                </Row>
+                <Row className="mb-5">
+                    <Col>
+                        <Row className="d-flex mb-3">
+                            <Col
+                                className="d-flex justify-content-center"
+                                style={{maxWidth: "30%"}}
+                            >
+                                <Image
+                                    src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
+                                    style={{
+                                        height: "5em",
+                                        borderRadius: "50%",
+                                        maxWidth: "100%",
+                                    }}
+                                    className="m-auto"
+                                ></Image>
+                            </Col>
+                            <Col className="d-flex justify-content-center">
+                                <Container className="pt-2" style={{textAlign: "left"}}>
+                                    <h4>{data.hotelName}</h4>
+                                    <h5>{data.hotelLocation}</h5>
+                                </Container>
+                            </Col>
+                        </Row>
+                    </Col>
+                </Row>
+                <Row>
+                    <HotelEditTab refresh={setChanged} displayRoom={data}/>
+                </Row>
+            </Container>}
+        </>
+    );
 };
 
Index: frontend/src/Pages/LoginErrorPage.js
===================================================================
--- frontend/src/Pages/LoginErrorPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/LoginErrorPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -11,5 +11,4 @@
     const [show, setShow] = useState(false);
     const [changed, setChanged] = useState(0);
-    const {data, isLoading} = useGet("/username")
     const userId = localStorage.getItem("userId")
     const [registered, setRegistered] = useState(false);
Index: frontend/src/Pages/LoginPage.js
===================================================================
--- frontend/src/Pages/LoginPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/LoginPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -3,4 +3,7 @@
 import { Container } from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
+import {useAuth} from "../Components/Context/AuthContext";
+import {Navigate} from "react-router-dom";
+
 
 const LoginPage = () => {
@@ -8,4 +11,12 @@
   document.body.style.marginTop = "auto";
   document.body.style.marginBottom = "auto";
+
+  const Auth = useAuth();
+  const isLoggedIn = Auth.userIsAuthenticated();
+
+    if (isLoggedIn) {
+        return <Navigate to={'/home'}/>
+    }
+
   return (
     <>
Index: frontend/src/Pages/NoBusinessRegisteredError.js
===================================================================
--- frontend/src/Pages/NoBusinessRegisteredError.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/NoBusinessRegisteredError.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -6,10 +6,12 @@
 import RegisterBusinessForm from "../Components/Forms/RegisterBusinessForm";
 import useGet from "../Components/Hooks/useGet";
-import { useNavigate } from "react-router-dom";
+import {Navigate, useNavigate} from "react-router-dom";
+import {useAuth} from "../Components/Context/AuthContext";
 
 const NoBusinessRegisteredError = (props) => {
   const [show, setShow] = useState(false);
   const [changed, setChanged] = useState(0);
-  const {data, isLoading} = useGet("/username")
+  const Auth = useAuth();
+  const isLoggedIn = Auth.userIsAuthenticated();
   const userId = localStorage.getItem("userId")
   const [registered, setRegistered] = useState(false);
@@ -45,7 +47,9 @@
 
 
-  console.log(data)
+  if(!isLoggedIn)
+  {
+    return <Navigate to={'/login'}/>
+  }
 
-  !isLoading && !data && navigator("/login")
   !firmaIsLoading && firma && firma.length > 0 && firma[0].approved && navigator("/resources/hotel")
   
Index: frontend/src/Pages/ProfilePage.js
===================================================================
--- frontend/src/Pages/ProfilePage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/ProfilePage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -8,10 +8,13 @@
 import ChangePasswordForm from "../Components/Forms/ChangePasswordForm";
 import useGet from "../Components/Hooks/useGet";
+import {useAuth} from "../Components/Context/AuthContext";
+import {Navigate} from "react-router-dom";
 
 const ProfilePage = () => {
 
-  const { data, setData, isLoading, getData } = useGet("/principal");
+    const { data, setData, isLoading, getData } = useGet("/principal");
 
-  
+
+
     const profileData = {
         "name": "Марко",
@@ -19,5 +22,5 @@
         "address": "ул. Раскрсница бр. 10",
         "dateOfBirth": "2002-01-01",
-        "country": "Никогаш Северна само МАКЕДОНИЈА",
+        "country": "Македонија",
         "zip": "1000",
         "city": "Скопје",
@@ -27,8 +30,9 @@
 
 
+
   return (
     <>
       <Navigation />
-{      !isLoading && <Container>
+    {!isLoading && <Container>
         <Row className="mb-5">
           <h2 style={{ color: "#159895", textAlign: "left" }}>Мојот профил</h2>
Index: frontend/src/Pages/ResourcesPage.js
===================================================================
--- frontend/src/Pages/ResourcesPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/ResourcesPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,54 +1,55 @@
 import React from "react";
-import { Container, Col, Row, Image } from "react-bootstrap";
+import {Container, Col, Row, Image} from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
 import ResourcesTab from "../Components/Resources/ResourcesTab";
-import { useState } from "react";
+import {useState} from "react";
 import useGet from "../Components/Hooks/useGet";
+import {useAuth} from "../Components/Context/AuthContext";
+import {Navigate} from "react-router-dom";
 
 const ResourcesPage = (props) => {
 
-  console.log(props.tab)
-  const { data, setData, isLoading, getData } = useGet("/principal");
+    const Auth = useAuth();
+    const user = Auth.getUser();
 
-
-  return (
-    <>
-      <Navigation />
-{!isLoading && <Container>
-        <Row className="mb-5">
-          <h2 style={{ color: "#159895", textAlign: "left" }}>Мои ресурси</h2>
-        </Row>
-        <Row className="mb-5">
-          <Col>
-            <Row className="d-flex mb-3">
-              <Col
-                className="d-flex justify-content-center"
-                style={{ maxWidth: "30%" }}
-              >
-                <Image
-                  src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
-                  style={{
-                    height: "5em",
-                    borderRadius: "50%",
-                    maxWidth: "100%",
-                  }}
-                  className="m-auto"
-                ></Image>
-              </Col>
-              <Col className="d-flex justify-content-center">
-                <Container className="pt-2" style={{ textAlign: "left" }}>
-                  <h4>{data.name + " " + data.surname}</h4>
-                  <h5>{data.email}</h5>
-                </Container>
-              </Col>
-            </Row>
-          </Col>
-        </Row>
-        <Row>
-            <ResourcesTab tab={props.tab}></ResourcesTab>
-        </Row>
-      </Container>}
-    </>
-  );
+    return (
+        <>
+            <Navigation/>
+            {<Container>
+                <Row className="mb-5">
+                    <h2 style={{color: "#159895", textAlign: "left"}}>Мои ресурси</h2>
+                </Row>
+                <Row className="mb-5">
+                    <Col>
+                        <Row className="d-flex mb-3">
+                            <Col
+                                className="d-flex justify-content-center"
+                                style={{maxWidth: "30%"}}
+                            >
+                                <Image
+                                    src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
+                                    style={{
+                                        height: "5em",
+                                        borderRadius: "50%",
+                                        maxWidth: "100%",
+                                    }}
+                                    className="m-auto"
+                                ></Image>
+                            </Col>
+                            <Col className="d-flex justify-content-center">
+                                <Container className="pt-2" style={{textAlign: "left"}}>
+                                    <h4>{user.name + " " + user.surname}</h4>
+                                    <h5>{user.username}</h5>
+                                </Container>
+                            </Col>
+                        </Row>
+                    </Col>
+                </Row>
+                <Row>
+                    <ResourcesTab tab={props.tab}></ResourcesTab>
+                </Row>
+            </Container>}
+        </>
+    );
 };
 
Index: frontend/src/Pages/RestaurantDetailsPage.js
===================================================================
--- frontend/src/Pages/RestaurantDetailsPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/RestaurantDetailsPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -133,5 +133,21 @@
                             <Row>
                                 <Carousel activeIndex={index} onSelect={handleSelect}>
-                                    <Carousel.Item>
+                                    {data.images.map((image) => {
+                                        let link = image.url;
+                                        if (image.url.includes('Desktop')) {
+                                            link = 'http://localhost:8080/download?fileName=' + encodeURIComponent(image.url);
+                                        }
+                                        return (
+                                            <Carousel.Item>
+                                                <img
+                                                    className="d-block w-100 h-400 rounded-5"
+                                                    src={link}
+                                                    alt="First slide"
+                                                    style={{ height: "50vh" }}
+                                                />
+                                            </Carousel.Item>
+                                        )
+                                    })}
+                                    {data.images.length == 0 && <Carousel.Item>
                                         <img
                                             className="d-block w-100 h-400 rounded-5"
@@ -140,21 +156,5 @@
                                             style={{height: "50vh"}}
                                         />
-                                    </Carousel.Item>
-                                    <Carousel.Item>
-                                        <img
-                                            className="d-block w-100 rounded-5"
-                                            src="https://emagazin.mk/wp-content/uploads/2022/03/Karos_Photography-7871.jpg"
-                                            alt="Second slide"
-                                            style={{height: "50vh"}}
-                                        />
-                                    </Carousel.Item>
-                                    <Carousel.Item>
-                                        <img
-                                            className="d-block w-100 rounded-5"
-                                            src="https://lh5.googleusercontent.com/p/AF1QipMQAwahuuJCJ2rDUYNrhnwiX1070adTsM6LmzV5=w480-h300-k-n"
-                                            alt="Third slide"
-                                            style={{height: "50vh"}}
-                                        />
-                                    </Carousel.Item>
+                                    </Carousel.Item>}
                                 </Carousel>
                             </Row>
@@ -169,5 +169,5 @@
                     <Col className="col-md-4"><ReviewsCarousel reviews={data.reviews}></ReviewsCarousel></Col>
                 </Row>
-                <Row className="mb-3"><MenuCarousel menu={data.menus}></MenuCarousel></Row>
+                <Row className="mb-3"><MenuCarousel images={data.menuImages} menu={data.menus}></MenuCarousel></Row>
                 <Row><TablesTable params={formData} data={data.tables}></TablesTable></Row>
                 <Row><ContactBar></ContactBar></Row>
Index: frontend/src/Pages/RestaurantEditPage.js
===================================================================
--- frontend/src/Pages/RestaurantEditPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/RestaurantEditPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -6,5 +6,6 @@
 import RestaurantEditTab from "../Components/RestaurantEdit/RestaurantEditTab";
 import useGet from "../Components/Hooks/useGet";
-import { useParams, useSearchParams } from "react-router-dom";
+import {Navigate, useParams, useSearchParams} from "react-router-dom";
+import {useAuth} from "../Components/Context/AuthContext";
 
 const RestaurantEditPage = () => {
Index: frontend/src/Pages/SearchPage.js
===================================================================
--- frontend/src/Pages/SearchPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/SearchPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,8 +1,8 @@
-import React from "react";
+import React, {useState} from "react";
 import Navigation from '../Components/Layout/Navbar/Navigation';
 import 'bootstrap/dist/css/bootstrap.css';
 import 'bootstrap/dist/js/bootstrap.js';
 import HomeCarousel from '../Components/Layout/CarouselHome/Carousel';
-import { Card, Container, Nav, Row, Col } from 'react-bootstrap';
+import {Card, Container, Nav, Row, Col} from 'react-bootstrap';
 import TabComponent from '../Components/Tab/Tab';
 import Offers from '../Components/Layout/Offers/Offers';
@@ -11,16 +11,13 @@
 import BecomeAHost from "../Components/BecomeAHost/BecomeAHost"
 import HotelLisitng from "../Components/Listings/HotelListing"
-import SearchCriterias from "../Components/SearchCriterias/SearchCriteriasBar";
+import SearchCriteriasHotel from "../Components/SearchCriterias/SearchCriteriasHotel";
 import SortButton from "../Components/Listings/SortButton";
 import FilterButton from "../Components/Listings/FilterButton";
 import TransportListing from "../Components/Listings/TransportListing";
 import useGet from "../Components/Hooks/useGet";
-import { useParams } from "react-router-dom";
-<<<<<<< HEAD
+import {useParams} from "react-router-dom";
 import SearchCriteriasBar from "../Components/SearchCriterias/SearchCriteriasBar";
 import RestaurantDetailsPage from "./RestaurantDetailsPage";
 import RestaurantListing from "../Components/Listings/RestaurantListing";
-=======
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
 
 
@@ -29,5 +26,5 @@
     const params = useParams();
     console.log(params)
-
+    const [sortingArg, setSortingArg] = useState("")
 
     document.body.style.backgroundColor = "white"
@@ -41,18 +38,73 @@
 
     }
-    
-<<<<<<< HEAD
-    let link = props.type === "transport" ? `/transport/search?from=${params.from}&to=${params.to}&date=${params.date}&numPassengers=${params.numPassengers}` : props.type === "hotel" ? `/hotel/search?hotelLocation=${params.hotelLocation}&dateFrom=${params.dateFrom}&dateTo=${params.dateTo}&numBeds=${params.numBeds}` : `/restaurant/search?restaurantLocation=${params.restaurantLocation}&date=${params.date}&hourFrom=${params.hourFrom}&hourTo=${params.hourTo}&numPeople=${params.numPeople}`
-=======
-    let link = props.type === "transport" ? `/transport/search?from=${params.from}&to=${params.to}&date=${params.date}` : props.type === "hotel" ? `/hotel/search?hotelLocation=${params.hotelLocation}&dateFrom=${params.dateFrom}&dateTo=${params.dateTo}&numBeds=${params.numBeds}` : ""
->>>>>>> parent of ac19a0c (authContext impl, admin panel impl, search bar fixes, reservations listings impl)
+
+    const getSortingFn = (type, arg) => {
+        if (type === 'hotel') {
+            if (arg === "priceAsc")
+            {
+                return (a, b) => {
+                    return a.totalPrice - b.totalPrice;
+                }
+            }
+            else if (arg === "priceDesc")
+            {
+                return (a, b) => {
+                    return -(a.totalPrice - b.totalPrice);
+                }
+            }
+            else if (arg === 'nameAsc')
+            {
+                return (a, b) => {
+                    return a.hotelName.localeCompare(b.hotelName);
+                }
+            }
+            else if(arg === 'nameDesc')
+            {
+                return (a, b) => {
+                    return -a.hotelName.localeCompare(b.hotelName);
+                }
+            }
+        }
+        else if (type === 'transport')
+        {
+            if (arg === "priceAsc")
+            {
+                return (a, b) => {
+                    return a.price - b.price;
+                }
+            }
+            else if (arg === "priceDesc")
+            {
+                return (a, b) => {
+                    return -(a.price - b.price);
+                }
+            }
+        }
+        else if (type === 'restaurant')
+        {
+            if (arg === 'nameAsc')
+            {
+                return (a, b) => {
+                    return a.restaurantName.localeCompare(b.restaurantName);
+                }
+            }
+            else if(arg === 'nameDesc')
+            {
+                return (a, b) => {
+                    return -a.restaurantName.localeCompare(b.restaurantName);
+                }
+            }
+        }
+    }
+
+    let link = props.type === "transport" ? `/transport/search?from=${params.from}&to=${params.to}&date=${params.date}&numPassengers=${params.numPassengers}` : props.type === "hotel" ? `/hotel/search?hotelLocation=${params.hotelLocation}&dateFrom=${params.dateFrom}&dateTo=${params.dateTo}&numBeds=${params.numBeds}&flexible=${params.flexible}` : `/restaurant/search?restaurantLocation=${params.restaurantLocation}&date=${params.date}&hourFrom=${params.hourFrom}&hourTo=${params.hourTo}&numPeople=${params.numPeople}`
     console.log(link)
     console.log(params.date)
-    const { data, isLoading, getData, setData } = useGet(link);
+    const {data, isLoading, getData, setData} = useGet(link);
     !isLoading && console.log(data)
     return (
         <>
             <Navigation></Navigation>
-            <SearchCriterias criterias={useParams()}></SearchCriterias>
+            <SearchCriteriasBar type={props.type} criterias={useParams()}></SearchCriteriasBar>
             <Container className="d-flex justify-content-end gx-5" style={{maxWidth: "60%"}}>
                 <Row>
@@ -61,20 +113,20 @@
                     </Col>
                     <Col>
-                        <SortButton></SortButton>
+                        <SortButton setSortingArg={setSortingArg} type={props.type}></SortButton>
                     </Col>
                 </Row>
             </Container>
             {props.type === "hotel" && !isLoading && data && <Container fluid>
-                {data.map(hotel => {
+                {data.sort(getSortingFn(props.type, sortingArg)).map(hotel => {
                     return <HotelLisitng from={params.dateFrom} to={params.dateTo} data={hotel}/>
                 })}
-                </Container>}
+            </Container>}
             {props.type === "transport" && !isLoading && data && <Container fluid>
-                {data.map(transport => {
+                {data.sort(getSortingFn(props.type, sortingArg)).map(transport => {
                     return <TransportListing params={params} data={transport}/>
                 })}
             </Container>}
             {props.type === "restaurant" && !isLoading && data && <Container fluid>
-                {data.map(restaurant => {
+                {data.sort(getSortingFn(props.type, sortingArg)).map(restaurant => {
                     return <RestaurantListing params={params} data={restaurant}/>
                 })}
Index: frontend/src/Pages/TransportEditPage.js
===================================================================
--- frontend/src/Pages/TransportEditPage.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/Pages/TransportEditPage.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
-import { Container, Col, Row, Image } from "react-bootstrap";
+import React, {useState} from "react";
+import {Container, Col, Row, Image} from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
 import ResourcesTab from "../Components/Resources/ResourcesTab";
@@ -7,56 +7,58 @@
 import TransportEditTab from "../Components/TransportEdit/TransportEditTab";
 import useGet from "../Components/Hooks/useGet";
-import { useParams } from "react-router-dom";
+import {Navigate, useParams} from "react-router-dom";
+import {useAuth} from "../Components/Context/AuthContext";
 
 const TransportEditPage = () => {
-  const params = useParams();
-  console.log("transportot ima id " + params.transportId);
-  const link = "/transport/" + params.transportId;
-  const [changed, setChanged] = useState(0);
-  const { data, setData, isLoading, getData } = useGet(link, changed);
 
-  !isLoading && console.log(data)
+    const params = useParams();
 
-  return (
-    <>
-      <Navigation />
-      {!isLoading && (
-        <Container>
-          <Row className="mb-5">
-            <h2 style={{ color: "#159895", textAlign: "left" }}>Мои ресурси</h2>
-          </Row>
-          <Row className="mb-5">
-            <Col>
-              <Row className="d-flex mb-3">
-                <Col
-                  className="d-flex justify-content-center"
-                  style={{ maxWidth: "30%" }}
-                >
-                  <Image
-                    src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
-                    style={{
-                      height: "5em",
-                      borderRadius: "50%",
-                      maxWidth: "100%",
-                    }}
-                    className="m-auto"
-                  ></Image>
-                </Col>
-                <Col className="d-flex justify-content-center">
-                  <Container className="pt-2" style={{ textAlign: "left" }}>
-                    <h4>{data.transportName}</h4>
-                    <h5>{data.carBrand + " " + data.carType}</h5>
-                  </Container>
-                </Col>
-              </Row>
-            </Col>
-          </Row>
-          <Row>
-            {data && <TransportEditTab displayRoute={data} refresh={setChanged}/>}
-          </Row>
-        </Container>
-      )}
-    </>
-  );
+    const link = "/transport/" + params.transportId;
+
+    const {data, setData, isLoading, getData, setChanged} = useGet(link);
+
+    !isLoading && console.log(data)
+
+    return (
+        <>
+            <Navigation/>
+            {!isLoading && (
+                <Container>
+                    <Row className="mb-5">
+                        <h2 style={{color: "#159895", textAlign: "left"}}>Мои ресурси</h2>
+                    </Row>
+                    <Row className="mb-5">
+                        <Col>
+                            <Row className="d-flex mb-3">
+                                <Col
+                                    className="d-flex justify-content-center"
+                                    style={{maxWidth: "30%"}}
+                                >
+                                    <Image
+                                        src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
+                                        style={{
+                                            height: "5em",
+                                            borderRadius: "50%",
+                                            maxWidth: "100%",
+                                        }}
+                                        className="m-auto"
+                                    ></Image>
+                                </Col>
+                                <Col className="d-flex justify-content-center">
+                                    <Container className="pt-2" style={{textAlign: "left"}}>
+                                        <h4>{data.transportName}</h4>
+                                        <h5>{data.carBrand + " " + data.carType}</h5>
+                                    </Container>
+                                </Col>
+                            </Row>
+                        </Col>
+                    </Row>
+                    <Row>
+                        {data && <TransportEditTab displayRoute={data} refresh={setChanged}/>}
+                    </Row>
+                </Container>
+            )}
+        </>
+    );
 };
 
Index: frontend/src/axios.js
===================================================================
--- frontend/src/axios.js	(revision 5528b99794e1d3a36baa8eb2f1829125b75f0174)
+++ frontend/src/axios.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
@@ -1,21 +1,16 @@
 import axios from "axios";
+
 
 const instance = axios.create({
     baseURL: "http://localhost:8080/",
     withCredentials: true,
-    maxRedirects: 1
+    maxRedirects: 1,
+    beforeRedirect: (options, { headers }) => {
+        console.log(options)
+        if (options.hostname === "example.com") {
+            options.auth = "user:password";
+        }}
+
 })
 
-instance.interceptors.response.use(function (response) {
-    // Any status code that lie within the range of 2xx cause this function to trigger
-    // Do something with response data
-    return response;
-  }, function (error) {
-    console.log(error)
-    //  window.location.href="/login"
-    // Any status codes that falls outside the range of 2xx cause this function to trigger
-    // Do something with response error
-    return Promise.reject(error);
-  });
-
 export default instance
