import { Suspense, useEffect } from "react"; import { Canvas } from "@react-three/fiber"; import { Crosshair } from "@/components/ui/Crosshair"; import { InteractPrompt } from "@/components/ui/InteractPrompt"; import { IntroUI, BienvenueDisplay } from "@/components/ui/IntroUI"; import { DialogMessage } from "@/components/ui/DialogMessage"; import { useGameStore } from "@/stores/gameStore"; import { DebugPerf } from "@/utils/debug/DebugPerf"; import { World } from "@/world/World"; function App(): React.JSX.Element { const dialogMessage = useGameStore((state) => state.dialogMessage); const hideDialog = useGameStore((state) => state.hideDialog); useEffect(() => { if (dialogMessage) { const timer = setTimeout(() => { hideDialog(); }, 3000); return () => clearTimeout(timer); } }, [dialogMessage, hideDialog]); return ( <> {dialogMessage && ( )} ); } export default App;