import type { RouteInfo } from '../types'; import { NODE_COLORS } from '../constants'; interface Props { info: RouteInfo | null; } const PATH_TYPE_LABELS: Record = { room: 'Room', subnode: 'Room Subnode', corridor: 'Corridor', door: 'Door', outside: 'Outdoor', floor_transition: 'Floor Transition', }; // Show the navigationally meaningful types first. const TYPE_ORDER = ['room', 'door', 'floor_transition', 'corridor', 'outside', 'subnode']; export default function RouteStats({ info }: Props) { if (!info || !info.found) return null; const entries = TYPE_ORDER.filter((t) => info.nodeTypes[t]).map( (t) => [t, info.nodeTypes[t]] as const, ); return (

Current Route

Path length {info.distance.toLocaleString()} px
Nodes on path {info.nodeCount}
Segments {info.segments}
{info.crossFloor && Crosses floors}
{entries.map(([t, c]) => (
{PATH_TYPE_LABELS[t] || t} {c}
))}
); }