From f691eb5f7c72984c755d60a2f8240bd3a7cf0dff Mon Sep 17 00:00:00 2001 From: PxlLoewe <72106766+PxlLoewe@users.noreply.github.com> Date: Wed, 1 Oct 2025 23:20:41 +0200 Subject: [PATCH] =?UTF-8?q?Keine=20Simmulator-Verbundung=20kommt=20erst=20?= =?UTF-8?q?30=20sek=20nach=20Verbinden=20f=C3=BCr=20piloten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dispatch/app/(app)/pilot/page.tsx | 28 ++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/apps/dispatch/app/(app)/pilot/page.tsx b/apps/dispatch/app/(app)/pilot/page.tsx index f68a358b..ee521d3b 100644 --- a/apps/dispatch/app/(app)/pilot/page.tsx +++ b/apps/dispatch/app/(app)/pilot/page.tsx @@ -9,10 +9,11 @@ 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 } from "@repo/shared-components"; +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, @@ -26,6 +27,22 @@ const PilotPage = () => { 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; @@ -47,9 +64,12 @@ const PilotPage = () => {
- {!simulatorConnected && status === "connected" && ( - - )} + {!simulatorConnected && + status === "connected" && + connectedAircraft && + !shortlyConnected && ( + + )}