cleanup: delete computed-stats.ts shim and store/index.ts
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 57s

- Delete src/lib/game/computed-stats.ts (root-level re-export shim)
- Delete src/lib/game/store/index.ts (nothing imports from it)
- Update __tests__/computed-stats.test.ts to import from ../utils instead
- Clean up craftingStore.ts imports (remove unused useGameStore, CraftingApply)

Typecheck and lint pass (pre-existing DisciplinesTab.tsx errors unchanged)
This commit is contained in:
2026-05-18 12:08:38 +02:00
parent 20c2ebd7b5
commit 2805f75f5e
54 changed files with 333 additions and 2936 deletions
+17 -41
View File
@@ -1,14 +1,12 @@
'use client';
import { useEffect, useState, lazy, Suspense } from 'react';
import type { JSX } from 'react';
// Import from new modular stores
import {
useGameStore,
useUIStore,
useManaStore,
useSkillStore,
useCombatStore,
usePrestigeStore,
useCraftingStore,
@@ -21,23 +19,16 @@ import {
} from '@/lib/game/stores';
import { useGameLoop } from '@/lib/game/stores/gameHooks';
import { getUnifiedEffects } from '@/lib/game/effects';
import {
getStudySpeedMultiplier,
getStudyCostMultiplier,
SPELLS_DEF,
ELEMENTS,
GUARDIANS,
} from '@/lib/game/constants';
import { getActiveEquipmentSpells, getTotalDPS } from '@/lib/game/computed-stats';
import { SPELLS_DEF } from '@/lib/game/constants';
import { TimeDisplay } from '@/components/game';
import { hasSpecial, SPECIAL_EFFECTS } from '@/lib/game/effects';
import { Button } from '@/components/ui/button';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { Badge } from '@/components/ui/badge';
import { ScrollArea } from '@/components/ui/scroll-area';
import { RotateCcw, Mountain } from 'lucide-react';
import { TooltipProvider } from '@/components/ui/tooltip';
import { ErrorBoundary } from '@/components/ErrorBoundary';
import { DebugName } from '@/lib/game/debug-context';
@@ -48,7 +39,6 @@ import { LeftPanel } from './components/LeftPanel';
// Lazy load tab components
const SpireTab = lazy(() => import('@/components/game/tabs').then(module => ({ default: module.SpireTab })));
const SkillsTab = lazy(() => import('@/components/game/tabs').then(module => ({ default: module.SkillsTab })));
const SpellsTab = lazy(() => import('@/components/game/tabs').then(module => ({ default: module.SpellsTab })));
const StatsTab = lazy(() => import('@/components/game/tabs').then(module => ({ default: module.StatsTab })));
@@ -143,10 +133,6 @@ export default function ManaLoopGame() {
const initGame = useGameStore((s) => s.initGame);
useGameLoop();
const skills = useSkillStore((s) => s.skills);
const skillTiers = useSkillStore((s) => s.skillTiers);
const skillUpgrades = useSkillStore((s) => s.skillUpgrades);
const prestigeUpgrades = usePrestigeStore((s) => s.prestigeUpgrades);
const insight = usePrestigeStore((s) => s.insight);
const loopInsight = usePrestigeStore((s) => s.loopInsight);
@@ -154,8 +140,7 @@ export default function ManaLoopGame() {
const rawMana = useManaStore((s) => s.rawMana);
const meditateTicks = useManaStore((s) => s.meditateTicks);
const maxFloorReached = useCombatStore((s) => s.maxFloorReached);
const spells = useCombatStore((s) => s.spells);
const spireMode = useCombatStore((s) => s.spireMode);
const gameOver = useUIStore((s) => s.gameOver);
@@ -166,34 +151,34 @@ export default function ManaLoopGame() {
// Derived state
const upgradeEffects = getUnifiedEffects({
skillUpgrades,
skillTiers,
skillUpgrades: {},
skillTiers: {},
equippedInstances,
equipmentInstances
});
const maxMana = computeMaxMana({
skills,
skills: {},
prestigeUpgrades,
skillUpgrades,
skillTiers
skillUpgrades: {},
skillTiers: {}
}, upgradeEffects);
const baseRegen = computeRegen({
skills,
skills: {},
prestigeUpgrades,
skillUpgrades,
skillTiers
skillUpgrades: {},
skillTiers: {}
}, upgradeEffects);
const clickMana = computeClickMana({
skills,
skills: {},
prestigeUpgrades,
skillUpgrades,
skillTiers
skillUpgrades: {},
skillTiers: {}
});
const meditationMultiplier = getMeditationBonus(meditateTicks, skills, upgradeEffects.meditationEfficiency);
const meditationMultiplier = getMeditationBonus(meditateTicks, {}, upgradeEffects.meditationEfficiency);
const incursionStrength = getIncursionStrength(day, hour);
// Effective regen with incursion penalty
@@ -258,7 +243,6 @@ export default function ManaLoopGame() {
<TabsTrigger value="spire" className="text-xs px-2 py-1"> Spire</TabsTrigger>
<TabsTrigger value="attunements" className="text-xs px-2 py-1"> Attune</TabsTrigger>
<TabsTrigger value="golemancy" className="text-xs px-2 py-1">🗿 Golems</TabsTrigger>
<TabsTrigger value="skills" className="text-xs px-2 py-1">📚 Skills</TabsTrigger>
<TabsTrigger value="spells" className="text-xs px-2 py-1">🔮 Spells</TabsTrigger>
<TabsTrigger value="equipment" className="text-xs px-2 py-1">🛡 Gear</TabsTrigger>
<TabsTrigger value="crafting" className="text-xs px-2 py-1">🔧 Craft</TabsTrigger>
@@ -294,14 +278,6 @@ export default function ManaLoopGame() {
</ErrorBoundary>
</TabsContent>
<TabsContent value="skills">
<ErrorBoundary fallback={<div className="p-4 text-red-400">skills tab failed to load.</div>}>
<Suspense fallback={<TabLoadingFallback />}>
<SkillsTab />
</Suspense>
</ErrorBoundary>
</TabsContent>
<TabsContent value="spells">
<ErrorBoundary fallback={<div className="p-4 text-red-400">spells tab failed to load.</div>}>
<Suspense fallback={<TabLoadingFallback />}>