refactor: cleanup codebase — remove hydration guards, extract constants, fix bugs
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
|
||||
import { useState, useEffect, useMemo } from 'react';
|
||||
import { useState, useMemo } from 'react';
|
||||
import { useShallow } from 'zustand/react/shallow';
|
||||
import { useCombatStore, usePrestigeStore, fmt } from '@/lib/game/stores';
|
||||
import { ELEMENT_OPPOSITES, FLOOR_ELEM_CYCLE } from '@/lib/game/constants';
|
||||
@@ -311,8 +311,6 @@ function GuardianRosterItem({ floor, guardian, isDefeated }: { floor: number; gu
|
||||
// ─── Main Component ───────────────────────────────────────────────────────────
|
||||
|
||||
export function SpireSummaryTab() {
|
||||
const [mounted, setMounted] = useState(false);
|
||||
|
||||
const {
|
||||
maxFloorReached,
|
||||
clearedFloors,
|
||||
@@ -327,11 +325,6 @@ export function SpireSummaryTab() {
|
||||
insight: s.insight,
|
||||
})));
|
||||
|
||||
useEffect(() => {
|
||||
// eslint-disable-next-line react-hooks/set-state-in-effect
|
||||
setMounted(true);
|
||||
}, []);
|
||||
|
||||
const defeatedGuardians = useMemo(() => {
|
||||
return GUARDIAN_FLOORS.filter((floor) => clearedFloors[floor]);
|
||||
}, [clearedFloors]);
|
||||
@@ -346,14 +339,6 @@ export function SpireSummaryTab() {
|
||||
return Object.values(clearedFloors).filter(Boolean).length;
|
||||
}, [clearedFloors]);
|
||||
|
||||
if (!mounted) {
|
||||
return (
|
||||
<div className="flex items-center justify-center p-8 text-gray-500">
|
||||
Loading spire data…
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<DebugName name="SpireSummaryTab">
|
||||
<div className="space-y-4">
|
||||
|
||||
Reference in New Issue
Block a user