cleanup openMarkerSettings
This commit is contained in:
@@ -48,9 +48,7 @@ export const StatusToast = ({ event, t }: { event: StationStatus; t: Toast }) =>
|
|||||||
}, []);
|
}, []);
|
||||||
const [aircraftDataAcurate, setAircraftDataAccurate] = useState(false);
|
const [aircraftDataAcurate, setAircraftDataAccurate] = useState(false);
|
||||||
//const mapStore = useMapStore((s) => s);
|
//const mapStore = useMapStore((s) => s);
|
||||||
const { openAircraftMarker, setOpenAircraftMarker, userSettings, setMap } = useMapStore(
|
const { setOpenAircraftMarker, setMap } = useMapStore((store) => store);
|
||||||
(store) => store,
|
|
||||||
);
|
|
||||||
|
|
||||||
const { data: connectedAircrafts } = useQuery({
|
const { data: connectedAircrafts } = useQuery({
|
||||||
queryKey: ["aircrafts"],
|
queryKey: ["aircrafts"],
|
||||||
@@ -132,17 +130,11 @@ export const StatusToast = ({ event, t }: { event: StationStatus; t: Toast }) =>
|
|||||||
className="mr-1 cursor-pointer font-bold underline"
|
className="mr-1 cursor-pointer font-bold underline"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (!connectedAircraft.posLat || !connectedAircraft.posLng) return;
|
if (!connectedAircraft.posLat || !connectedAircraft.posLng) return;
|
||||||
if (userSettings.settingsAutoCloseMapPopup) {
|
|
||||||
setOpenAircraftMarker({
|
|
||||||
open: [{ id: connectedAircraft.id, tab: "fms" }],
|
|
||||||
close: openAircraftMarker?.map((m) => m.id) || [],
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
setOpenAircraftMarker({
|
setOpenAircraftMarker({
|
||||||
open: [{ id: connectedAircraft.id, tab: "fms" }],
|
open: [{ id: connectedAircraft.id, tab: "fms" }],
|
||||||
close: [],
|
close: [],
|
||||||
});
|
});
|
||||||
}
|
|
||||||
setMap({
|
setMap({
|
||||||
center: [connectedAircraft.posLat, connectedAircraft.posLng],
|
center: [connectedAircraft.posLat, connectedAircraft.posLng],
|
||||||
zoom: 14,
|
zoom: 14,
|
||||||
|
|||||||
@@ -249,17 +249,6 @@ const AircraftMarker = ({ aircraft }: { aircraft: ConnectedAircraft & { Station:
|
|||||||
open: [],
|
open: [],
|
||||||
close: [aircraft.id],
|
close: [aircraft.id],
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
if (userSettings.settingsAutoCloseMapPopup) {
|
|
||||||
setOpenAircraftMarker({
|
|
||||||
open: [
|
|
||||||
{
|
|
||||||
id: aircraft.id,
|
|
||||||
tab: "home",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
close: openAircraftMarker?.map((m) => m.id) || [],
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
setOpenAircraftMarker({
|
setOpenAircraftMarker({
|
||||||
open: [
|
open: [
|
||||||
@@ -271,7 +260,6 @@ const AircraftMarker = ({ aircraft }: { aircraft: ConnectedAircraft & { Station:
|
|||||||
close: [],
|
close: [],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
};
|
||||||
const marker = markerRef.current;
|
const marker = markerRef.current;
|
||||||
marker?.on("click", handleClick);
|
marker?.on("click", handleClick);
|
||||||
|
|||||||
@@ -246,7 +246,6 @@ const MissionMarker = ({
|
|||||||
close: [mission.id],
|
close: [mission.id],
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if (userSettings.settingsAutoCloseMapPopup) {
|
|
||||||
setOpenMissionMarker({
|
setOpenMissionMarker({
|
||||||
open: [
|
open: [
|
||||||
{
|
{
|
||||||
@@ -256,17 +255,6 @@ const MissionMarker = ({
|
|||||||
],
|
],
|
||||||
close: openMissionMarker?.map((m) => m.id) || [],
|
close: openMissionMarker?.map((m) => m.id) || [],
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
setOpenMissionMarker({
|
|
||||||
open: [
|
|
||||||
{
|
|
||||||
id: mission.id,
|
|
||||||
tab: "home",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
close: [],
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const markerCopy = markerRef.current;
|
const markerCopy = markerRef.current;
|
||||||
|
|||||||
@@ -48,7 +48,12 @@ export interface MapStore {
|
|||||||
export const useMapStore = create<MapStore>((set, get) => ({
|
export const useMapStore = create<MapStore>((set, get) => ({
|
||||||
openMissionMarker: [],
|
openMissionMarker: [],
|
||||||
setOpenMissionMarker: ({ open, close }) => {
|
setOpenMissionMarker: ({ open, close }) => {
|
||||||
const oldMarkers = get().openMissionMarker.filter(
|
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),
|
(m) => !close.includes(m.id) && !open.find((o) => o.id === m.id),
|
||||||
);
|
);
|
||||||
set(() => ({
|
set(() => ({
|
||||||
@@ -57,7 +62,12 @@ export const useMapStore = create<MapStore>((set, get) => ({
|
|||||||
},
|
},
|
||||||
openAircraftMarker: [],
|
openAircraftMarker: [],
|
||||||
setOpenAircraftMarker: ({ open, close }) => {
|
setOpenAircraftMarker: ({ open, close }) => {
|
||||||
const oldMarkers = get().openAircraftMarker.filter(
|
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),
|
(m) => !close.includes(m.id) && !open.find((o) => o.id === m.id),
|
||||||
);
|
);
|
||||||
set(() => ({
|
set(() => ({
|
||||||
|
|||||||
Reference in New Issue
Block a user