Index: frontend/src/Components/ConnectedAccounts/ConnectedAccountsTable.js
===================================================================
--- frontend/src/Components/ConnectedAccounts/ConnectedAccountsTable.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
+++ frontend/src/Components/ConnectedAccounts/ConnectedAccountsTable.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -0,0 +1,47 @@
+import useGet from "../Hooks/useGet";
+import useApprove from "../Hooks/useApprove";
+import {Container} from "react-bootstrap";
+import {FaCheckCircle} from "react-icons/fa";
+import React from "react";
+import {useAuth} from "../Context/AuthContext";
+import profilePage from "../../Pages/ProfilePage";
+
+const ConnectedAccountsTable = (props) => {
+
+    const data = props.data;
+    const isLoading = props.isLoading;
+
+    const { getData: approveBusiness} = useApprove();
+
+    return (
+        <>
+            <Container fluid >
+                <table className="table table-hover">
+                    <thead>
+                    <tr>
+                        <th scope="col">Ред. бр.</th>
+                        <th scope="col">User ID</th>
+                        <th scope="col">Име</th>
+                        <th scope="col">Презиме</th>
+                        <th scope="col">Username</th>
+                        <th>Дисконектирај</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    {data.map((f, i) => { return <tr key={f.userID}>
+                        <th style={{verticalAlign: "middle"}} scope="row">{i + 1}</th>
+                        <td style={{verticalAlign: "middle"}}>{f.userID}</td>
+                        <td style={{verticalAlign: "middle"}}>{f.name}</td>
+                        <td style={{verticalAlign: "middle"}}>{f.surname}</td>
+                        <td style={{verticalAlign: "middle"}}>{f.username}</td>
+                        <td style={{verticalAlign: "middle"}}><FaCheckCircle size={'2.2em'} color={'#159895'} onClick={() => {
+                        }}/></td>
+                    </tr>})}
+                    </tbody>
+                </table>
+            </Container>
+        </>
+    )
+}
+
+export default ConnectedAccountsTable;
Index: frontend/src/Components/Forms/AddItemMenuForm.js
===================================================================
--- frontend/src/Components/Forms/AddItemMenuForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Forms/AddItemMenuForm.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -4,4 +4,5 @@
 import useFormData from "../Hooks/useFormData";
 import useCreateMenu from "../Hooks/Restaurant/useCreateMenu"
+import useCreate from "../Hooks/useCreate";
 
 const AddItemMenuForm = (props) => {
@@ -9,4 +10,5 @@
 
   const edit = props.menu
+  console.log(props.menu)
   const dummy =     {
     name: "",
@@ -23,4 +25,5 @@
     edit ? props.menu : dummy
   );
+  const { createEntity } = useCreate();
 
   return (
@@ -72,8 +75,11 @@
               onClick={(e) => {
                 e.preventDefault();
-                createMenu(props.Id, formData)
-                props.refresh((prevState) => {
-                  return prevState + 1;
-                })
+                if(!edit) {
+                  createMenu(props.Id, formData, props.refresh)
+                }
+                else {
+                  createEntity(`/menu/${props.menu.menuId}/edit`, formData, props.refresh)
+                }
+
               }}
             >
Index: frontend/src/Components/Forms/AddTripForm.js
===================================================================
--- frontend/src/Components/Forms/AddTripForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Forms/AddTripForm.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -272,9 +272,6 @@
 
                                     for (let i = 0; i < Object.values(routesForm).length; i++) {
-                                        console.log(findDependantRoutes(wayPointNames, routesForm, i))
                                         setDependencies(prevState => [...prevState, findDependantRoutes(wayPointNames, routesForm, i)])
                                     }
-                                    console.log('VO STATEOOOO')
-                                    console.log(dependencies)
                                     routesSetFormData(routesForm)
                                     setRoutes(routesVar)
Index: frontend/src/Components/Hooks/Restaurant/useCreateMenu.js
===================================================================
--- frontend/src/Components/Hooks/Restaurant/useCreateMenu.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Hooks/Restaurant/useCreateMenu.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -7,5 +7,5 @@
 	const navigator = useNavigate();
 
-    const createMenu = async (id, menu) => {
+    const createMenu = async (id, menu, dep) => {
 		console.log(menu)
         console.log(id)
@@ -18,4 +18,5 @@
 					//navigator("/resources/restaurant/" + id)
 	                //history.push('/restaurant');
+					dep(prev => ++prev)
 	            })
 	            .catch((err) => {
Index: frontend/src/Components/Hooks/User/useCreateUser.js
===================================================================
--- frontend/src/Components/Hooks/User/useCreateUser.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Hooks/User/useCreateUser.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -10,5 +10,5 @@
 	            .post(`/register`, user) 
 	            .then((res) => {
-	                navigator("/login")
+	                window.location.href = "http://localhost:8080/login"
 	            })
 	            .catch((err) => {
Index: frontend/src/Components/Hooks/User/useLogin.js
===================================================================
--- frontend/src/Components/Hooks/User/useLogin.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Hooks/User/useLogin.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -1,64 +1,35 @@
-import React from "react";
-
+import { useState } from "react";
 import axios from "../../../axios.js";
-import { Navigate, useAsyncValue, useNavigate } from "react-router-dom";
-import LoginForm from "../../Login/LoginForm.js";
-import {useAuth} from "../../Context/AuthContext";
+import {useAuth} from "../../Context/AuthContext"; // Assuming you have axios configured
 
 const useLogin = () => {
+	const [loading, setLoading] = useState(false);
+	const [error, setError] = useState(null);
+	const Auth = useAuth();
 
-    const navigator = useNavigate()
-	const Auth = useAuth();
-    //const history = useNavigate();
-    const login = async (loginData) => {
-		console.log({loginData})
-		console.log(loginData)
-        await axios
-	            .post(`/api/login`, {
-                    username: loginData.email,
-                    password: loginData.password
-                }, {
-                    headers: { 
-                        "Content-Type": "application/x-www-form-urlencoded"
-                    }
-                }) 
-	            .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;
+	const handleLoginCallback = async () => {
+		setLoading(true);
 
-					localStorage.setItem("sessionId", sessionId);
-					localStorage.setItem("userId", userId);
-					if(sessionId === null)
-					{
-					}
-                    navigator("/home")
-	            })
-	            .catch((err) => {
-	                console.log(err);
-	            })
-	            .finally(() => {
-	            });
-    }
+		try {
+			const response = await axios.get("http://localhost:8080/principal");
+
+			// Extract the needed attributes from the response
+			const { id, role, username } = response.data;
+
+			Auth.userLogin({userId: id, username: username, role: role})
+
+		} catch (err) {
+			setError(err.message);
+		} finally {
+			setLoading(false);
+		}
+	};
 
 	return {
-		login
+		loading,
+		error,
+		handleLoginCallback,
 	};
-
-}
+};
 
 export default useLogin;
Index: frontend/src/Components/Hooks/useCreate.js
===================================================================
--- frontend/src/Components/Hooks/useCreate.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Hooks/useCreate.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -15,6 +15,4 @@
             .then((res) => {
                 //history.push('/hotel');
-                console.log(res)
-                console.log("gotovo")
                 getData(prev => ++prev)
                 getData2(prev => ++prev)
Index: frontend/src/Components/Layout/Navbar/Navigation.js
===================================================================
--- frontend/src/Components/Layout/Navbar/Navigation.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Layout/Navbar/Navigation.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -63,5 +63,5 @@
                   style={{ backgroundColor: "#159895" }}
                   onClick={() => {
-                    navigator("/login");
+                    window.location.href = ("http://localhost:8080/login");
                   }}
                 >
Index: frontend/src/Components/Listings/HotelListing.js
===================================================================
--- frontend/src/Components/Listings/HotelListing.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Listings/HotelListing.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -1,3 +1,3 @@
-import {Col, Container, Image, Row, Button} from "react-bootstrap";
+import {Col, Container, Image, Row, Button, Badge} from "react-bootstrap";
 import {BsFillPersonFill} from "react-icons/bs";
 import {MdOutlineLocalOffer} from "react-icons/md";
@@ -5,5 +5,18 @@
 
 function HotelListing(props) {
+
+    const getMarketingMessage = (num) => {
+        switch (num){
+            case 1:
+                return "Достапно само денес"
+            case 2:
+                return "Последна соба"
+            case 3:
+                return "Специјална цена"
+        }
+    }
+
     console.log(props)
+    const randomInt = Math.floor(Math.random() * (3)) + 1;
     return (
         <>
@@ -15,4 +28,5 @@
                     boxShadow: "0 3px 5px lightblue",
                     maxWidth: "60%",
+                    backgroundColor: props.data.promoted ? "#e1f7fa" : ""
                 }}
             >
@@ -31,5 +45,8 @@
                     <Col>
                         <Row>
-                            <h3>{props.data.hotelName}</h3>
+                            <h3>{props.data.hotelName}
+                            {props.data.marketed && randomInt !== 3 && <h6><Badge bg="warning">{getMarketingMessage(randomInt)}</Badge></h6>}
+                            {props.data.promoted && <h6><Badge bg="primary">Најпопуларно</Badge></h6>}
+                            </h3>
                         </Row>
                         <Row>
@@ -90,5 +107,6 @@
                                 >
                                     <Row>
-                                        <h4>{props.data.totalPrice}$</h4>
+                                        <h4>{props.data.marketed && randomInt === 3 && <h6><Badge bg="warning">{getMarketingMessage(randomInt)}</Badge></h6>}
+                                            {props.data.totalPrice}$</h4>
                                     </Row>
                                     <Row className="w-100">
Index: frontend/src/Components/Login/LoginForm.js
===================================================================
--- frontend/src/Components/Login/LoginForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Login/LoginForm.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -5,14 +5,17 @@
 import useLogin from "../Hooks/User/useLogin";
 import { Link } from "react-router-dom";
+import useCreate from "../Hooks/useCreate";
+import {useAuth} from "../Context/AuthContext";
 
-const LoginForm = () => {
+const LoginForm = (props) => {
   const { formData, onFormChange, onCheckBoxChange, setFormData } = useFormData(
     {
-      email: "",
+      username: "",
       password: "",
     }
   );
 
-  const { login } = useLogin();
+  const { createEntity } = useCreate();
+  const Auth = useAuth();
 
   return (
@@ -27,11 +30,8 @@
             type="email"
             placeholder="Enter email"
-            name="email"
+            name="username"
             onChange={onFormChange}
             value={formData.email}
           />
-          <Form.Text className="text-muted">
-            Вашите податоци никогаш нема да бидат споделени.
-          </Form.Text>
         </Form.Group>
 
@@ -46,12 +46,12 @@
           />
         </Form.Group>
-        <Form.Group className="mb-3" controlId="formBasicCheckbox">
-          <Form.Check type="checkbox" label="Check me out" />
-        </Form.Group>
-        <Link to={"/register"} style={{textDecoration: "none"}}>
-          <Form.Text className="text-muted" style={{color: "#159895!important"}} >
-            Регистритрај се
-          </Form.Text>
-        </Link>
+        {/*<Form.Group className="mb-3" controlId="formBasicCheckbox">*/}
+        {/*  <Form.Check type="checkbox" label="Check me out" />*/}
+        {/*</Form.Group>*/}
+        {/*<Link to={"/register"} style={{textDecoration: "none"}}>*/}
+        {/*  <Form.Text className="text-muted" style={{color: "#159895!important"}} >*/}
+        {/*    Регистритрај се*/}
+        {/*  </Form.Text>*/}
+        {/*</Link>*/}
         <Form.Group className="my-1">
           <Button
@@ -62,5 +62,5 @@
               e.preventDefault();
               console.log(formData);
-              login(formData)
+              createEntity(`/users/${Auth.getUser().userId}/connect`, formData, props.refresh)
             }}
           >
@@ -68,5 +68,5 @@
               <AiFillLock />
             </span>
-            <span className="ikona mx-3">Најави се</span>
+            <span className="ikona mx-3">Поврзи</span>
           </Button>
         </Form.Group>
Index: frontend/src/Components/LoginCallback.js
===================================================================
--- frontend/src/Components/LoginCallback.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
+++ frontend/src/Components/LoginCallback.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -0,0 +1,23 @@
+import React, { useEffect } from "react";
+import { useLocation, useNavigate } from "react-router-dom";
+import useLogin from "./Hooks/User/useLogin";
+
+const LoginCallbackComponent = () => {
+    const location = useLocation();
+    const navigator = useNavigate();
+    const { handleLoginCallback } = useLogin();
+
+    useEffect(() => {
+        // Call a function to handle the callback and extract data
+        handleLoginCallback();
+        navigator("/home");
+    }, []);
+
+    return (
+        <div>
+            Redirecting...
+        </div>
+    );
+};
+
+export default LoginCallbackComponent;
Index: frontend/src/Components/Misc/PrivateRoute.js
===================================================================
--- frontend/src/Components/Misc/PrivateRoute.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/Misc/PrivateRoute.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -5,5 +5,13 @@
 function PrivateRoute({ children }) {
   const { userIsAuthenticated } = useAuth()
-  return userIsAuthenticated() ? children : <Navigate to="/login" />
+  if(userIsAuthenticated())
+  {
+    return children;
+  }
+  else
+  {
+    window.location.href = "http://localhost:8080/login";
+  }
+  return userIsAuthenticated() ? children : <Navigate to="http://localhost:8080/login" />
 }
 
Index: frontend/src/Components/ProfilePage/DataForm.js
===================================================================
--- frontend/src/Components/ProfilePage/DataForm.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/ProfilePage/DataForm.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -11,5 +11,5 @@
 
   const handleClose = () =>  setShow(false);
-  const handleShow = (e) => { 
+  const handleShow = (e) => {
     e.preventDefault();
     setShow(true);
@@ -29,5 +29,6 @@
             <Form.Group as={Col} controlId="name">
               <Form.Label>Име</Form.Label>
-              <Form.Control type="text" value={props.data["name"]} />
+              <Form.Control type="text" value={props.data["name"]}
+              name={"name"}/>
             </Form.Group>
 
@@ -38,4 +39,5 @@
                 placeholder=""
                 value={props.data["surname"]}
+                name={"surname"}
               />
             </Form.Group>
@@ -45,5 +47,6 @@
             <Form.Group as={Col} controlId="name">
               <Form.Label>Датум на раѓање</Form.Label>
-              <Form.Control type="date" value={props.data["dateOfBirth"]} />
+              <Form.Control type="date" value={props.data["dateOfBirth"]}
+              name={"dateOfBirth"}/>
             </Form.Group>
 
@@ -54,4 +57,5 @@
                 placeholder=""
                 value={props.data["country"]}
+                name={"country"}
               />
             </Form.Group>
@@ -60,5 +64,6 @@
           <Form.Group className="mb-3" controlId="address">
             <Form.Label>Адреса</Form.Label>
-            <Form.Control type="text" value={props.data["address"]} />
+            <Form.Control type="text" value={props.data["address"]}
+            name={"address"}/>
           </Form.Group>
 
@@ -66,5 +71,6 @@
             <Form.Group as={Col} controlId="city">
               <Form.Label>Град</Form.Label>
-              <Form.Control type="text" value={props.data["city"]} />
+              <Form.Control type="text" value={props.data["city"]}
+              name={"city"}/>
             </Form.Group>
 
@@ -75,4 +81,5 @@
                 placeholder=""
                 value={props.data["zip"]}
+                name={"zip"}
               />
             </Form.Group>
@@ -82,5 +89,6 @@
             <Form.Group as={Col} controlId="email">
               <Form.Label>Email</Form.Label>
-              <Form.Control type="email" value={props.data["email"]} />
+              <Form.Control type="email" value={props.data["email"]}
+              name={"email"}/>
             </Form.Group>
 
@@ -91,4 +99,5 @@
                 placeholder=""
                 value={props.data["mobile"]}
+                name={"mobile"}
               />
             </Form.Group>
Index: frontend/src/Components/RestaurantDetails/MenuItem.js
===================================================================
--- frontend/src/Components/RestaurantDetails/MenuItem.js	(revision 07f4e8b52fa18ab7781f9660c09d7982d8cd5a0b)
+++ frontend/src/Components/RestaurantDetails/MenuItem.js	(revision efaa05348a3e0dac884385ba4dd765baaeb47ec6)
@@ -6,5 +6,4 @@
 
     const data = props.data;
-    console.log("dva orla")
     console.log(props)
     return (<>
