diff --git a/apps/dispatch/app/_components/SmartPopup.tsx b/apps/dispatch/app/_components/SmartPopup.tsx
index 5923a2fb..3ff5b0dc 100644
--- a/apps/dispatch/app/_components/SmartPopup.tsx
+++ b/apps/dispatch/app/_components/SmartPopup.tsx
@@ -58,6 +58,7 @@ export const calculateAnchor = (
y: rect.top + rect.height / 2,
};
});
+
const ownMarkerBounds = (ownMarker as HTMLElement).getBoundingClientRect();
const ownMarkerPosition = {
x: ownMarkerBounds.left + ownMarkerBounds.width / 2,
@@ -75,6 +76,12 @@ export const calculateAnchor = (
centerOfOverlappingMarkers.x /= markersPosition.length;
centerOfOverlappingMarkers.y /= markersPosition.length;
+ if (id == "2") {
+ console.log("markersInCluser", marksersInCluster);
+ console.log("ownMarkerPosition", ownMarkerPosition);
+ console.log("centerOfOverlappingMarkers", centerOfOverlappingMarkers);
+ }
+
if (marksersInCluster.length > 1) {
if (centerOfOverlappingMarkers.y < ownMarkerPosition.y) {
if (centerOfOverlappingMarkers.x > ownMarkerPosition.x) {
diff --git a/apps/dispatch/app/dispatch/_components/map/AircraftMarker.tsx b/apps/dispatch/app/dispatch/_components/map/AircraftMarker.tsx
index 496f1f1d..dc462f0f 100644
--- a/apps/dispatch/app/dispatch/_components/map/AircraftMarker.tsx
+++ b/apps/dispatch/app/dispatch/_components/map/AircraftMarker.tsx
@@ -281,7 +281,6 @@ const AircraftMarker = ({ aircraft }: { aircraft: Aircraft }) => {
const handleZoom = () => {
const zoom = map.getZoom();
- console.log("zoom", zoom);
setHideMarker(zoom < 9);
handleConflict();
};
@@ -331,6 +330,8 @@ const AircraftMarker = ({ aircraft }: { aircraft: Aircraft }) => {
{
const map = useMap();
const { contextMenu, setContextMenu, setSearchElements, setSearchPopup } =
useMapStore();
- const setMissionFormValues = usePannelStore(
- (state) => state.setMissionFormValues,
- );
+ const { setMissionFormValues, setOpen } = usePannelStore((state) => state);
useEffect(() => {
const handleContextMenu = (e: any) => {
setContextMenu({ lat: e.latlng.lat, lng: e.latlng.lng });
@@ -72,7 +70,7 @@ export const ContextMenu = () => {
place_rank: number;
type: string;
};
- console.log(data);
+ setOpen(true);
setMissionFormValues({
addressLat: contextMenu.lat,
addressLng: contextMenu.lng,
diff --git a/apps/dispatch/app/dispatch/_components/map/MissionMarkers.tsx b/apps/dispatch/app/dispatch/_components/map/MissionMarkers.tsx
index 2519fe97..d5315f70 100644
--- a/apps/dispatch/app/dispatch/_components/map/MissionMarkers.tsx
+++ b/apps/dispatch/app/dispatch/_components/map/MissionMarkers.tsx
@@ -277,6 +277,8 @@ const MissionMarker = ({ mission }: { mission: Mission }) => {
${mission.missionKeywordAbbreviation} ${mission.missionKeywordName}
{
if (i === existingClusterIndex) {
@@ -218,7 +216,6 @@ export const MarkerCluster = () => {
map.off("zoomend", handleZoom);
};
}, [map, aircrafts, missions]);
- console.log("cluster", cluster);
return (
<>
{cluster.map((c, i) => (
diff --git a/grafana/grafana.db b/grafana/grafana.db
index 6f93118e..302518c8 100644
Binary files a/grafana/grafana.db and b/grafana/grafana.db differ
diff --git a/packages/database/prisma/schema/connectedAircraft.prisma b/packages/database/prisma/schema/connectedAircraft.prisma
new file mode 100644
index 00000000..ba15c511
--- /dev/null
+++ b/packages/database/prisma/schema/connectedAircraft.prisma
@@ -0,0 +1,15 @@
+model connectedAircraft {
+ id Int @id @default(autoincrement())
+ userId String
+ publicUser Json
+ lastHeartbeat DateTime @default(now())
+ stationId Int
+ loginTime DateTime @default(now())
+ esimatedLogoutTime DateTime?
+ logoutTime DateTime?
+ positionLogIds Int[] @default([])
+
+ // relations:
+ user User @relation(fields: [userId], references: [id])
+ station Station @relation(fields: [stationId], references: [id])
+}
diff --git a/packages/database/prisma/schema/connectedDispatch.prisma b/packages/database/prisma/schema/connectedDispatch.prisma
new file mode 100644
index 00000000..6e372217
--- /dev/null
+++ b/packages/database/prisma/schema/connectedDispatch.prisma
@@ -0,0 +1,12 @@
+model ConnectedDispatch {
+ id Int @id @default(autoincrement())
+ userId String
+ publicUser Json
+ lastHeartbeat DateTime @default(now())
+ loginTime DateTime @default(now())
+ esimatedLogoutTime DateTime?
+ logoutTime DateTime?
+
+ // relations:
+ user User @relation(fields: [userId], references: [id])
+}
diff --git a/packages/database/prisma/schema/positionLog.prisma b/packages/database/prisma/schema/positionLog.prisma
new file mode 100644
index 00000000..43d04f94
--- /dev/null
+++ b/packages/database/prisma/schema/positionLog.prisma
@@ -0,0 +1,13 @@
+model PositionLog {
+ id Int @id @default(autoincrement())
+ userId String
+ simulator String
+ lat Float
+ lng Float
+ alt Int
+ speed Int
+ heading Int
+ timestamp DateTime @default(now())
+ // relations:
+ user User @relation(fields: [userId], references: [id])
+}
diff --git a/packages/database/prisma/schema/station.prisma b/packages/database/prisma/schema/station.prisma
index c3f0712d..680e601a 100644
--- a/packages/database/prisma/schema/station.prisma
+++ b/packages/database/prisma/schema/station.prisma
@@ -35,4 +35,5 @@ model Station {
MissionsOnStations MissionsOnStations[]
MissionOnStationUsers MissionOnStationUsers[]
+ connectedAircraft connectedAircraft[]
}
diff --git a/packages/database/prisma/schema/user.prisma b/packages/database/prisma/schema/user.prisma
index f22633fd..f8de9500 100644
--- a/packages/database/prisma/schema/user.prisma
+++ b/packages/database/prisma/schema/user.prisma
@@ -48,6 +48,9 @@ model User {
*/
Mission Mission[]
MissionOnStationUsers MissionOnStationUsers[]
+ ConnectedDispatch ConnectedDispatch[]
+ connectedAircraft connectedAircraft[]
+ PositionLog PositionLog[]
@@map(name: "users")
}