fix: remove misleading Floor HP bar from SpireHeader, keep guardian name display
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 1m1s

This commit is contained in:
2026-06-10 13:12:48 +02:00
parent 1708926f8b
commit 43bb53e0b4
4 changed files with 7 additions and 30 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
# Circular Dependencies # Circular Dependencies
Generated: 2026-06-10T10:55:43.303Z Generated: 2026-06-10T11:09:41.397Z
Found: 3 circular chain(s) — these MUST be fixed before modifying involved files. Found: 3 circular chain(s) — these MUST be fixed before modifying involved files.
1. 1) stores/golem-combat-actions.ts > stores/golem-combat-helpers.ts 1. 1) stores/golem-combat-actions.ts > stores/golem-combat-helpers.ts
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"_meta": { "_meta": {
"generated": "2026-06-10T10:55:41.273Z", "generated": "2026-06-10T11:09:38.970Z",
"description": "Import dependency graph for src/lib/game. Keys are files, values are arrays of files they import.", "description": "Import dependency graph for src/lib/game. Keys are files, values are arrays of files they import.",
"usage": "To find what a file affects, search for its path in the VALUES. To find what a file depends on, look at its KEY entry." "usage": "To find what a file affects, search for its path in the VALUES. To find what a file depends on, look at its KEY entry."
}, },
@@ -54,8 +54,6 @@ export function SpireCombatPage() {
// ─── Spec: read room-aware state from combat store ─────────────────────── // ─── Spec: read room-aware state from combat store ───────────────────────
const { const {
currentFloor, currentFloor,
floorHP,
floorMaxHP,
castProgress, castProgress,
isDescending, isDescending,
currentRoom, currentRoom,
@@ -74,8 +72,6 @@ export function SpireCombatPage() {
stayLongerInRoom, stayLongerInRoom,
} = useCombatStore(useShallow((s) => ({ } = useCombatStore(useShallow((s) => ({
currentFloor: s.currentFloor, currentFloor: s.currentFloor,
floorHP: s.floorHP,
floorMaxHP: s.floorMaxHP,
castProgress: s.castProgress, castProgress: s.castProgress,
isDescending: s.isDescending, isDescending: s.isDescending,
currentRoom: s.currentRoom, currentRoom: s.currentRoom,
@@ -148,8 +144,6 @@ export function SpireCombatPage() {
<div className="lg:col-span-2"> <div className="lg:col-span-2">
<SpireHeader <SpireHeader
currentFloor={currentFloor} currentFloor={currentFloor}
floorHP={floorHP}
floorMaxHP={floorMaxHP}
roomsCleared={currentRoomIndex} roomsCleared={currentRoomIndex}
totalRooms={roomsPerFloor} totalRooms={roomsPerFloor}
onClimbUp={handleClimbUp} onClimbUp={handleClimbUp}
@@ -11,8 +11,6 @@ import { DebugName } from '@/components/game/debug/debug-context';
interface SpireHeaderProps { interface SpireHeaderProps {
currentFloor: number; currentFloor: number;
floorHP: number;
floorMaxHP: number;
roomsCleared: number; roomsCleared: number;
totalRooms: number; totalRooms: number;
onClimbUp: () => void; onClimbUp: () => void;
@@ -23,8 +21,6 @@ interface SpireHeaderProps {
export function SpireHeader({ export function SpireHeader({
currentFloor, currentFloor,
floorHP,
floorMaxHP,
roomsCleared, roomsCleared,
totalRooms, totalRooms,
onClimbUp, onClimbUp,
@@ -41,7 +37,6 @@ export function SpireHeader({
const guardian = getGuardianForFloor(currentFloor); const guardian = getGuardianForFloor(currentFloor);
const isGuardian = isGuardianFloor(currentFloor); const isGuardian = isGuardianFloor(currentFloor);
const hpPercent = floorMaxHP > 0 ? (floorHP / floorMaxHP) * 100 : 100;
const roomProgress = totalRooms > 0 ? ((roomsCleared) / totalRooms) * 100 : 0; const roomProgress = totalRooms > 0 ? ((roomsCleared) / totalRooms) * 100 : 0;
const isAscending = climbDirection === 'up'; const isAscending = climbDirection === 'up';
@@ -118,24 +113,12 @@ export function SpireHeader({
</div> </div>
</div> </div>
{/* Floor HP bar */} {/* Guardian name display */}
<div> {isGuardian && guardian && (
<div className="flex items-center justify-between text-xs mb-1"> <div className="text-xs text-red-400 font-semibold">
<span className={isGuardian ? 'text-red-400 font-semibold' : 'text-gray-400'}> 🛡 {guardian.name}
{isGuardian && guardian ? `🛡️ ${guardian.name}` : 'Floor HP'}
</span>
<span className="text-gray-500">
{fmt(floorHP)} / {fmt(floorMaxHP)}
</span>
</div> </div>
<Progress )}
value={hpPercent}
className="h-3 bg-gray-800"
style={{
'--progress-bg': isGuardian ? '#EF4444' : '#F59E0B',
} as React.CSSProperties}
/>
</div>
{/* Room progress */} {/* Room progress */}
<div> <div>