Index: imaps-frontend/src/scripts/shapes/Entrance.js
===================================================================
--- imaps-frontend/src/scripts/shapes/Entrance.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
+++ imaps-frontend/src/scripts/shapes/Entrance.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
@@ -1,58 +1,88 @@
-import Konva from "konva";
-import MapShape from "./MapShape";
-import { _registerNode } from "konva/lib/Global";
-export default class Entrance extends MapShape {
-  constructor(mousePos, blockSize, layer, rotation, snap,id,scaleX = 1, scaleY = 1) {
-    super(
-      {
-        x: mousePos.x,
-        y: mousePos.y,
-        width: blockSize * scaleX,
-        height: blockSize * 2 * scaleY,
-        fill: "#0051ff",
-        stroke: "grey",
-        strokeWidth: 1,
-        opacity: 0.7,
-        name: "mapObj",
-        draggable: true,
-        rotation: rotation,
-        zIndex: 1,
-      },
-      layer,
-      blockSize,
-      snap
-    );
-    this.type = "Entrance";
-    this.modalEventName = "openEntranceModalEvent";
+import {_registerNode} from "konva/lib/Global";
+import MapNode from "../base/MapNode.js";
+import {node} from "prop-types";
 
-    this.id = id;
+export default class Entrance extends MapNode {
 
-    this._info = {
-      name: `Entrance ${id}`,
-      connectedRoom: "",
-      description: "",
-      isMainEntrance: false,
-      selectedPin: "",
-      selectedPins: [],
-    };
+    constructor(attrs, id) {
 
-    this.initText();
-  }
+        if (!attrs.fromLoad) {
+            attrs.height *= 2;
+        }
+        super(
+            {
+                x: attrs.position.x,
+                y: attrs.position.y,
+                width: attrs.width,
+                height: attrs.height,
+                fill: "rgb(126,238,167)",
+                stroke: "#252627",
+                strokeWidth: 1,
+                opacity: 0.9,
+                name: "mapObj",
+                draggable: true,
+                rotation: attrs.rotation,
+                zIndex: 1,
+            },
+            attrs.layer,
+            attrs.blockSize,
+            attrs.snap
+        );
+        this.type = "Entrance";
+        this.eventName = "openEntranceModalEvent";
+        this.floorNum = attrs.floorNum
 
-  loadInfo(attrs) {
-    this.info.name = attrs.obj_name;
-    this.info.connectedRoom = attrs.connected_room;
-    this.info.description = attrs.description;
-    this.info.isMainEntrance = attrs.is_main_entrance;
-    this.info.selectedPins = attrs.connected_pins;
-  }
+        this.id = id;
 
-  saveShapeDetails() {
-    this.setAttr("connected_pins", this.info.selectedPins);
-    this.setAttr("obj_name", this.info.name);
-    this.setAttr("description", this.info.description);
-    this.setAttr("is_main_entrance", this.info.isMainEntrance);
-    this.setAttr("connected_room", this.info.connectedRoom);
-  }
+        this._info = {
+            name: `Entrance${id} [${this.floorNum}F]`,
+            connectedRoom: "",
+            description: "",
+            isMainEntrance: false,
+            selectedPin: "",
+            selectedPins: [],
+        };
+
+        this.initText();
+        this.moveToTop();
+    }
+
+    loadInfo(attrs) {
+        this.info.name = attrs.obj_name;
+        this.info.connectedRoom = attrs.connected_room;
+        this.info.description = attrs.description;
+        this.info.isMainEntrance = attrs.is_main_entrance;
+        this.info.selectedPins = attrs.connected_pins;
+        this.floorNum = attrs.floor_num;
+    }
+
+    saveShapeDetails() {
+        console.info("fnum entrance",this.attrs.floorNum)
+
+        this.setAttr("connected_pins", this.info.selectedPins);
+        this.setAttr("obj_name", this.info.name);
+        this.setAttr("description", this.info.description);
+        this.setAttr("is_main_entrance", this.info.isMainEntrance);
+        this.setAttr("connected_room", this.info.connectedRoom);
+        this.setAttr("floor_num",this.floorNum);
+    }
+
+    connect(node, draw = true) {
+        if(this.floorNum !== node.floorNum) return;
+
+        super.connect(node)
+    }
+
+    setInfo(infoObj) {
+        console.log("SA VIKNA SETINFO")
+        this.info = infoObj;
+        if(this.info.connectedRoom == null || this.info.connectedRoom === "" ){
+            this.strokeWidth(2);
+            this.stroke("#a10114")
+        }else{
+            this.strokeWidth(1)
+            this.stroke("black")
+        }
+    }
 }
 
