diff --git a/frontend/react/src/interfaces.ts b/frontend/react/src/interfaces.ts
index 5240e25f..407ca7e6 100644
--- a/frontend/react/src/interfaces.ts
+++ b/frontend/react/src/interfaces.ts
@@ -60,6 +60,7 @@ export interface SessionData {
hotgroups?: { [key: string]: number[] };
starredSpawns?: { [key: number]: SpawnRequestTable };
drawings?: { [key: string]: { visibility: boolean; opacity: number; name: string; guid: string; containers: any; drawings: any } };
+ navpoints?: { [key: string]: { visibility: boolean; opacity: number; name: string; guid: string; containers: any; drawings: any } };
}
export interface ProfileOptions {
diff --git a/frontend/react/src/map/drawings/drawingsmanager.ts b/frontend/react/src/map/drawings/drawingsmanager.ts
index d5790e0e..4de83577 100644
--- a/frontend/react/src/map/drawings/drawingsmanager.ts
+++ b/frontend/react/src/map/drawings/drawingsmanager.ts
@@ -703,6 +703,7 @@ export class DrawingsManager {
#navpointsContainer: DCSDrawingsContainer;
#updateEventRequested: boolean = false;
#sessionDataDrawings = {};
+ #sessionDataNavpoints = {};
#initialized: boolean = false;
constructor() {
@@ -717,9 +718,10 @@ export class DrawingsManager {
SessionDataLoadedEvent.on((sessionData) => {
this.#sessionDataDrawings = sessionData.drawings ?? {};
+ this.#sessionDataNavpoints = sessionData.navpoints ?? {};
if (this.#initialized) {
if (this.#sessionDataDrawings["Mission drawings"]) this.#drawingsContainer.fromJSON(this.#sessionDataDrawings["Mission drawings"]);
- if (this.#sessionDataDrawings["Navpoints"]) this.#navpointsContainer.fromJSON(this.#sessionDataDrawings["Navpoints"]);
+ if (this.#sessionDataNavpoints["Navpoints"]) this.#navpointsContainer.fromJSON(this.#sessionDataNavpoints["Navpoints"]);
}
this.#drawingsContainer.setVisibility(getApp().getMap().getOptions().showMissionDrawings);
});
diff --git a/frontend/react/src/sessiondata.ts b/frontend/react/src/sessiondata.ts
index 33301fb4..4eadc9e0 100644
--- a/frontend/react/src/sessiondata.ts
+++ b/frontend/react/src/sessiondata.ts
@@ -134,8 +134,10 @@ export class SessionDataManager {
});
DrawingsUpdatedEvent.on(() => {
- let container = getApp().getDrawingsManager().getDrawingsContainer();
- this.#sessionData.drawings = {"Mission drawings": container.toJSON()};
+ let mainDrawingsContainer = getApp().getDrawingsManager().getDrawingsContainer();
+ let navpointsContainer = getApp().getDrawingsManager().getNavpointsContainer();
+ this.#sessionData.drawings = {"Mission drawings": mainDrawingsContainer.toJSON()};
+ this.#sessionData.navpoints = {"Navpoints": navpointsContainer.toJSON()};
this.#saveSessionData();
});
}, 200);
diff --git a/frontend/react/src/ui/panels/drawingmenu.tsx b/frontend/react/src/ui/panels/drawingmenu.tsx
index ca1e3f12..b9a6a7e1 100644
--- a/frontend/react/src/ui/panels/drawingmenu.tsx
+++ b/frontend/react/src/ui/panels/drawingmenu.tsx
@@ -308,7 +308,7 @@ export function DrawingMenu(props: { open: boolean; onClose: () => void }) {
Navpoints
-