import { useGameStore } from "../game/store"; import { useMenuController } from "../input/useMenuController"; import { DungeonMapGraphic } from "./DungeonMapGraphic"; import { requireDungeonDefinition } from "../game/dungeonRegistry"; import { resolveStagePresentation } from "../game/manastormStagePresentation"; import { useManastormStore } from "../game/manastormStore"; function MapDialog() { const close = useGameStore((state) => state.closeMap); const openOverlay = useGameStore((state) => state.openOverlay); const position = useGameStore((state) => state.playerPosition); const yaw = useGameStore((state) => state.cameraYaw); const area = useGameStore((state) => state.areaName); const gameMode = useGameStore((state) => state.gameMode); const encounter = useManastormStore((state) => state.currentEncounter); const activeDungeonId = useGameStore((state) => state.activeDungeonId); const dungeon = requireDungeonDefinition(activeDungeonId); const stagePresentation = resolveStagePresentation(gameMode, encounter, { title: dungeon.title, mapId: dungeon.mapId, areaName: area, }); useMenuController([], { onBack: () => openOverlay("pause") }); return ( ); } export function MapPanel() { const open = useGameStore((state) => state.overlay === "map"); return open ? : null; }