import { useMemo } from "react"; import { encounterTimeline } from "../game/encounterTimeline"; import { useCombatStore } from "../game/combatStore"; function mechanicGlyph(shape: "circle" | "cone" | "line" | undefined): string { if (shape === "cone") return "◢"; if (shape === "line") return "▰"; if (shape === "circle") return "●"; return "◆"; } export function EncounterTimeline({ now }: { readonly now: number }) { const mobs = useCombatStore((state) => state.mobs); const model = useMemo(() => encounterTimeline(mobs, now), [mobs, now]); if (!model) return null; return (
Mechanics{model.bossName}
{model.rows.map((row) => (
{row.name} {row.value}
))}
); }