Index: imaps-frontend/src/components/Profile/Profile.jsx
===================================================================
--- imaps-frontend/src/components/Profile/Profile.jsx	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
+++ imaps-frontend/src/components/Profile/Profile.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
@@ -1,52 +1,70 @@
-import React, { useState, useRef, useEffect } from "react";
+import React, { useState, useRef, useEffect, useContext } from "react";
+import { useNavigate, Link } from "react-router-dom";
 import profile from "../../assets/person_icon.png";
 import styles from "./Profile.module.css";
+import { useAppContext } from "../AppContext/AppContext.jsx";
 
-function Profile() {
-  const menus = ["Profile", "Settings", "Support", "Logout"];
-  const [open, setOpen] = useState(false);
-  const menuRef = useRef(null);
-  const imgRef = useRef(null);
+function Profile({ position = "fixed" }) {
+    const { username, isAuthenticated } = useAppContext();
+    const [open, setOpen] = useState(false);
+    const menuRef = useRef(null);
+    const imgRef = useRef(null);
+    const navigate = useNavigate();
 
-  useEffect(() => {
-    const handleClickOutside = (e) => {
-      if (menuRef.current && imgRef.current) {
-        if (!menuRef.current.contains(e.target) && !imgRef.current.contains(e.target)) {
-          setOpen(false);
+    const menus = isAuthenticated ? ["My Maps", "Logout"] : ["Login"];
+
+    useEffect(() => {
+        const handleClickOutside = (e) => {
+            if (menuRef.current && imgRef.current) {
+                if (!menuRef.current.contains(e.target) && !imgRef.current.contains(e.target)) {
+                    setOpen(false);
+                }
+            }
+        };
+
+        document.addEventListener("click", handleClickOutside);
+
+        return () => {
+            document.removeEventListener("click", handleClickOutside);
+        };
+    }, []);
+
+    const handleMenuClick = (menu) => {
+        if (menu === "My Maps") {
+            navigate("/MyMaps");
+        } else if (menu === "Logout") {
+            localStorage.removeItem("token");
+            window.location.reload();
         }
-      }
+        setOpen(false);
     };
 
-    document.addEventListener("click", handleClickOutside);
-
-    return () => {
-      document.removeEventListener("click", handleClickOutside);
-    };
-  }, []);
-
-  return (
-    <div className={styles.profileContainer}>
-      <div className={styles.profileWrapper}>
-        <img
-          onClick={() => setOpen(!open)}
-          src={profile}
-          alt="profile"
-          className={styles.profileImage}
-          ref={imgRef}
-        />
-        {open && (
-          <div ref={menuRef} className={styles.dropdownMenu}>
-            <ul className={styles.menuList}>
-              {menus.map((menu) => (
-                <li key={menu} onClick={() => setOpen(false)} className={styles.menuItem}>
-                  {menu}
-                </li>
-              ))}
-            </ul>
-          </div>
-        )}
-      </div>
-    </div>
-  );
+    return (
+        <div className={position === "fixed" ? styles.fixedProfileContainer : styles.inlineProfileContainer}>
+            <div className={styles.profileWrapper}>
+                <div className={styles.profileIconContainer} onClick={() => setOpen(!open)}>
+                    <img src={profile} alt="profile" className={styles.profileImage} ref={imgRef} />
+                </div>
+                {open && (
+                    <div ref={menuRef} className={styles.dropdownMenu}>
+                        {isAuthenticated && <div className={styles.username}>{username}</div>}
+                        <ul className={styles.menuList}>
+                            {menus.map((menu) =>
+                                menu === "Login" ? (
+                                    <li key={menu} className={styles.menuItem}>
+                                        <Link to="/login" className={styles.linkStyle}>{menu}</Link>
+                                    </li>
+                                ) : (
+                                    <li key={menu} onClick={() => handleMenuClick(menu)} className={styles.menuItem}>
+                                        {menu}
+                                    </li>
+                                )
+                            )}
+                        </ul>
+                    </div>
+                )}
+            </div>
+        </div>
+    );
 }
 
Index: imaps-frontend/src/components/Profile/Profile.module.css
===================================================================
--- imaps-frontend/src/components/Profile/Profile.module.css	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
+++ imaps-frontend/src/components/Profile/Profile.module.css	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
@@ -1,44 +1,58 @@
-img:hover,
-.menuItem:hover {
+.fixedProfileContainer {
+  position: fixed;
+  top: 1em;
+  right: 2.5em;
+  z-index: 1000;
+}
+
+.inlineProfileContainer {
+  display: inline-block;
   cursor: pointer;
 }
 
-.menuList {
-  list-style: none;
-  padding: 0;
-  margin: 0;
-  text-align: center;
+.profileWrapper {
+  display: flex;
+  align-items: center;
+  cursor: pointer;
 }
 
-.profileContainer {
-  display: flex;
-  justify-content: center;
-}
-
-.profileWrapper {
-  position: relative;
+.profileIconContainer {
+  position: relative; /* Makes dropdown position relative to this container */
+  cursor: pointer;
 }
 
 .profileImage {
-  height: 48px;
-  width: 48px;
+  width: 60px;
+  height: 60px;
   border-radius: 50%;
-  /* border: 4px solid #d1d5db; */
-  object-fit: cover;
+  transition: box-shadow 0.3s ease;
 }
 
-/* Dropdown Menu */
+.profileImage:hover {
+  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
+}
+
 .dropdownMenu {
   position: absolute;
-  top: 50px; /* Adjust according to image size and spacing */
-  left: 50%;
-  transform: translateX(-50%); /* Center the menu below the image */
-  width: 13rem;
-  background-color: white;
-  padding: 1rem;
-  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
+  top: 70px; 
+  margin-left: 1.8em;
+  transform: translateX(-50%);
+  background-color: #ffffff;
+  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
+  border-radius: 12px;
+  padding: 12px;
+  width: 180px;
+  transition: opacity 0.3s ease;
+  opacity: 1;
 }
 
-/* Menu List and Items */
+.username {
+  padding: 10px 0;
+  font-weight: 600;
+  text-align: center;
+  color: #333;
+  border-bottom: 1px solid #eee;
+}
+
 .menuList {
   list-style-type: none;
@@ -49,10 +63,14 @@
 .menuItem {
   padding: 10px;
+  cursor: pointer;
+  transition: background-color 0.2s ease, color 0.2s ease;
   text-align: center;
-  border-radius: 5px;
-  transition: background-color 0.3s ease;
+  color: #333;
+  font-weight: 500;
+  border-radius: 8px;
 }
 
 .menuItem:hover {
-  background-color: #f0f0f0;
+  background-color: #f5f5f5;
+  color: #007bff; /* Optional: Adds a blue highlight on hover */
 }
