import type { Boss } from "@elysium/types"; import { useState } from "react"; import { useGame } from "../../context/GameContext.js"; import { formatNumber } from "../../utils/format.js"; import { LockToggle } from "../ui/LockToggle.js"; import { ZoneSelector } from "./ZoneSelector.js"; interface BossCardProps { boss: Boss; prestigeCount: number; onChallenge: (bossId: string) => void; isChallenging: boolean; unlockHint?: string | undefined; } const BossCard = ({ boss, prestigeCount, onChallenge, isChallenging, unlockHint, }: BossCardProps): React.JSX.Element => { const hpPercent = (boss.currentHp / boss.maxHp) * 100; const isPrestigeLocked = boss.prestigeRequirement > prestigeCount; const canChallenge = (boss.status === "available" || boss.status === "in_progress") && !isChallenging; return (
{boss.description}
{isPrestigeLocked && boss.status === "locked" && (🔒 Requires Prestige {boss.prestigeRequirement}
)} {!isPrestigeLocked && boss.status === "locked" && unlockHint && ({unlockHint}
)}Loading...
No bosses to show in this zone.
)}