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,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,

View File

@@ -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);

View File

@@ -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;

View File

@@ -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(() => ({