"use client"; import { Mrt } from "(app)/pilot/_components/mrt/Mrt"; import { Chat } from "../../_components/left/Chat"; import { Report } from "../../_components/left/Report"; import { Dme } from "(app)/pilot/_components/dme/Dme"; import dynamic from "next/dynamic"; import { ConnectedDispatcher } from "tracker/_components/ConnectedDispatcher"; import { useQuery } from "@tanstack/react-query"; import { usePilotConnectionStore } from "_store/pilot/connectionStore"; import { getConnectedAircraftsAPI } from "_querys/aircrafts"; import { checkSimulatorConnected, useDebounce } from "@repo/shared-components"; import { SimConnectionAlert } from "(app)/pilot/_components/SimConnectionAlert"; import { SettingsBoard } from "_components/left/SettingsBoard"; import { BugReport } from "_components/left/BugReport"; import { useEffect, useState } from "react"; const Map = dynamic(() => import("_components/map/Map"), { ssr: false, }); const PilotPage = () => { const { connectedAircraft, status } = usePilotConnectionStore((state) => state); // Query will be cached anyway, due to this, displayed Markers are in sync with own Aircraft connection-warning const { data: aircrafts } = useQuery({ queryKey: ["aircrafts"], queryFn: () => getConnectedAircraftsAPI(), refetchInterval: 10_000, }); const [shortlyConnected, setShortlyConnected] = useState(false); useDebounce( () => { if (status === "connected") { setShortlyConnected(false); } }, 30_000, [status], ); useEffect(() => { if (status === "connected") { setShortlyConnected(true); } }, [status]); const ownAircraft = aircrafts?.find((aircraft) => aircraft.id === connectedAircraft?.id); const simulatorConnected = ownAircraft ? checkSimulatorConnected(ownAircraft) : false; return (