cleanup openMarkerSettings

This commit is contained in:
PxlLoewe
2025-07-24 16:47:02 -07:00
parent 580f480ec8
commit 26e7966e19
5 changed files with 40 additions and 62 deletions

View File

@@ -48,18 +48,28 @@ export interface MapStore {
export const useMapStore = create<MapStore>((set, get) => ({
openMissionMarker: [],
setOpenMissionMarker: ({ open, close }) => {
const oldMarkers = get().openMissionMarker.filter(
(m) => !close.includes(m.id) && !open.find((o) => o.id === m.id),
);
const { settingsAutoCloseMapPopup } = get().userSettings;
const oldMarkers =
settingsAutoCloseMapPopup && open.length > 0
? [] // If auto-close is enabled and opening a new popup, close all others
: get().openMissionMarker.filter(
(m) => !close.includes(m.id) && !open.find((o) => o.id === m.id),
);
set(() => ({
openMissionMarker: [...oldMarkers, ...open],
}));
},
openAircraftMarker: [],
setOpenAircraftMarker: ({ open, close }) => {
const oldMarkers = get().openAircraftMarker.filter(
(m) => !close.includes(m.id) && !open.find((o) => o.id === m.id),
);
const { settingsAutoCloseMapPopup } = get().userSettings;
const oldMarkers =
settingsAutoCloseMapPopup && open.length > 0
? [] // If auto-close is enabled and opening a new popup, close all others
: get().openAircraftMarker.filter(
(m) => !close.includes(m.id) && !open.find((o) => o.id === m.id),
);
set(() => ({
openAircraftMarker: [...oldMarkers, ...open],
}));