Index: imaps-frontend/src/components/Modals/Components/ModalUploadRoomImage.jsx
===================================================================
--- imaps-frontend/src/components/Modals/Components/ModalUploadRoomImage.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/src/components/Modals/Components/ModalUploadRoomImage.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,31 @@
+import styles from "../EntranceModal/EntranceModal.module.css";
+import React, { useRef } from "react";
+
+export default function ModalUploadRoomImage() {
+    const fileInputRef = useRef(null);
+
+    const handleClick = () => {
+        fileInputRef.current.click();
+    };
+
+    return (
+        <div className={styles.formGroup}>
+            <label htmlFor="name">Room Image</label>
+            <div className={styles.customFileInput}>
+                <button
+                    type="button"
+                    className={styles.uploadButton}
+                    onClick={handleClick}
+                >
+                    Upload Image
+                </button>
+                <input
+                    type="file"
+                    accept="image/*"
+                    ref={fileInputRef}
+                    style={{ display: "none" }}
+                />
+            </div>
+        </div>
+    );
+}
Index: imaps-frontend/src/components/Modals/CreateMapModal/CreateMapModal.jsx
===================================================================
--- imaps-frontend/src/components/Modals/CreateMapModal/CreateMapModal.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/CreateMapModal/CreateMapModal.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -10,5 +10,4 @@
         const mapDetails = {
             name: mapName,
-            type: mapType,
         };
 
@@ -34,13 +33,4 @@
                         />
                     </label>
-                    <label>
-                        Map Type:
-                        <input
-                            type="text"
-                            value={mapType}
-                            onChange={(e) => setMapType(e.target.value)}
-                            required
-                        />
-                    </label>
                     <div className={styles.modalButtons}>
                         <button type="submit" className={styles.modalSubmitButton}>
Index: imaps-frontend/src/components/Modals/CreateMapModal/CreateMapModal.module.css
===================================================================
--- imaps-frontend/src/components/Modals/CreateMapModal/CreateMapModal.module.css	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/CreateMapModal/CreateMapModal.module.css	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -36,5 +36,4 @@
 /* Modal Buttons Container */
 .modalButtons {
-    margin-top: 1.5rem;
     display: flex;
     justify-content: space-between;
Index: imaps-frontend/src/components/Modals/EntranceModal/EntranceModal.jsx
===================================================================
--- imaps-frontend/src/components/Modals/EntranceModal/EntranceModal.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/EntranceModal/EntranceModal.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -42,4 +42,5 @@
         setConnections(connections);
         setIsOpen(true);
+        event.detail.map.detachKeyPressEventListeners();
         console.log(connections, "Loaded pins on modal open");
     },"openEntranceModalEvent")
@@ -52,5 +53,5 @@
             <ModalSelectRoom shapeInfo={shapeInfo} availableRooms={ShapeQuery.findAllByTypeAndFloor(shape?.floorNum,"Room")} updateModalData={updateModalData}/>
             <ModalSelectConnections2
-                availableShapes={ShapeQuery.findAllByType("InfoPin","Entrance")} // najubo ke e entrance samo so room da mozit
+                availableShapes={ShapeQuery.findAllByTypeAndFloor(map?.floorNum,"Entrance","InfoPin")} // najubo ke e entrance samo so room da mozit
                 addConnection={addConnection}
                 updateModalData={updateModalData}
Index: imaps-frontend/src/components/Modals/EntranceModal/EntranceModal.module.css
===================================================================
--- imaps-frontend/src/components/Modals/EntranceModal/EntranceModal.module.css	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/EntranceModal/EntranceModal.module.css	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -34,5 +34,5 @@
   left: 50%;
   transform: translate(-50%, -50%);
-  background-color: #2c2f33;
+  background-color: #2c2f33f7;
   color: #ffffff !important;
   padding: 20px;
@@ -90,4 +90,42 @@
   margin-bottom: 15px;
 }
+
+/*tuka novo start*/
+
+label {
+  font-size: 16px;
+  font-weight: bold;
+  margin-bottom: 8px;
+}
+
+.customFileInput {
+  position: relative;
+}
+
+.uploadButton {
+  background-color: #007bff;
+  color: white;
+  border: none;
+  padding: 10px 20px;
+  border-radius: 5px;
+  cursor: pointer;
+  font-size: 16px;
+  transition: background-color 0.3s ease;
+}
+
+.uploadButton:hover {
+  background-color: #0056b3;
+}
+
+.uploadButton:focus {
+  outline: none;
+  box-shadow: 0 0 4px rgba(0, 123, 255, 0.6);
+}
+
+.uploadButton:active {
+  background-color: #003f7f;
+}
+
+/*tuka novo end*/
 
 .formGroup label {
Index: imaps-frontend/src/components/Modals/Hooks/useConnections.jsx
===================================================================
--- imaps-frontend/src/components/Modals/Hooks/useConnections.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/Hooks/useConnections.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -5,5 +5,4 @@
 
     const addConnection = () => {
-        console.log("TOSKA",shapeInfo)
         if (!shapeInfo.selectedPin || connections.includes(shapeInfo.selectedPin)) return;
 
Index: imaps-frontend/src/components/Modals/Hooks/useModalState.jsx
===================================================================
--- imaps-frontend/src/components/Modals/Hooks/useModalState.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/Hooks/useModalState.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -13,5 +13,5 @@
             map.updateRoomNames();
             triggerMapSave();
-            console.log("SHAPE BEF CLOSE:",shape.info)
+            map.attachKeyPressEventListeners();
         }
         setIsOpen(!isOpen);
Index: imaps-frontend/src/components/Modals/InfoPinModal/InfoPinModal.jsx
===================================================================
--- imaps-frontend/src/components/Modals/InfoPinModal/InfoPinModal.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/InfoPinModal/InfoPinModal.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -37,4 +37,5 @@
         setConnections(shape.info.selectedPins || []);
         setIsOpen(true);
+        event.detail.map.detachKeyPressEventListeners();
 
         console.log(shape.info.selectedPins, "Loaded pins on modal open");
Index: imaps-frontend/src/components/Modals/RoomModal/RoomModal.jsx
===================================================================
--- imaps-frontend/src/components/Modals/RoomModal/RoomModal.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/RoomModal/RoomModal.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -7,4 +7,5 @@
 import useModalState from "../Hooks/useModalState.jsx";
 import {useModalEvent} from "../Hooks/useModalEvent.jsx";
+import ModalUploadRoomImage from "../Components/ModalUploadRoomImage.jsx";
 
 export default function RoomModal({map,roomTypes}) {
@@ -20,4 +21,5 @@
         setShapeInfo(shape.info);
         setIsOpen(true);
+        event.detail.map.detachKeyPressEventListeners();
 
     },"openRoomModalEvent")
@@ -30,4 +32,5 @@
             <ModalRoomTypes updateModalData={updateModalData} shapeInfo={shapeInfo} roomTypes={roomTypes}/>
             <ModalDescriptionField shapeInfo={shapeInfo} updateModalData={updateModalData}/>
+            <ModalUploadRoomImage></ModalUploadRoomImage>
             <ModalSaveButton saveDetails={saveDetails}/>
         </Modal>
Index: imaps-frontend/src/components/Modals/RoomTypeModal/RoomTypeModal.jsx
===================================================================
--- imaps-frontend/src/components/Modals/RoomTypeModal/RoomTypeModal.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/RoomTypeModal/RoomTypeModal.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -31,5 +31,5 @@
           <div onClick={toggleModal} className={styles.overlay}></div>
           <div className={styles.modalContent}>
-            <h2>Manage Room Types</h2>
+            <h2 style={{color: 'white'}}>Manage Room Types</h2>
 
             <form className={styles.form}>
Index: imaps-frontend/src/components/Modals/StairsModal/StairsModal.jsx
===================================================================
--- imaps-frontend/src/components/Modals/StairsModal/StairsModal.jsx	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/src/components/Modals/StairsModal/StairsModal.jsx	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -33,4 +33,5 @@
         setIsOpen(true);
         console.log(roomObj.info.selectedPins, "Loaded pins on modal open");
+        event.detail.map.detachKeyPressEventListeners();
     },"openStairsModalEvent")
 
