Move Loot/Achievements to separate tabs, add skill debug options, fix enchanting system
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 2m15s

- Move LootInventoryDisplay to new LootTab (better mobile UX)
- Move AchievementsDisplay to new AchievementsTab (better mobile UX)
- Add skill research debug options to DebugTab (level up skills, enchanting skills)
- Fix enchanting: disenchant only possible in Prepare stage
- Fix enchanting: cannot apply enchantments to already enchanted gear
- Remove recover buttons from Apply stage (disenchant is only in Prepare stage now)
This commit is contained in:
Z User
2026-04-01 11:28:01 +00:00
parent 9220805ba0
commit 94cc9a179a
6 changed files with 485 additions and 120 deletions
+17 -28
View File
@@ -13,10 +13,9 @@ 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 { RotateCcw } from 'lucide-react';
import { CraftingTab, SpireTab, SpellsTab, LabTab, SkillsTab, StatsTab, EquipmentTab, AttunementsTab, DebugTab } from '@/components/game/tabs';
import { CraftingTab, SpireTab, SpellsTab, LabTab, SkillsTab, StatsTab, EquipmentTab, AttunementsTab, DebugTab, LootTab, AchievementsTab } from '@/components/game/tabs';
import { ActionButtons, CalendarDisplay, ManaDisplay, TimeDisplay } from '@/components/game';
import { LootInventoryDisplay } from '@/components/game/LootInventory';
import { AchievementsDisplay } from '@/components/game/AchievementsDisplay';
// Loot and Achievements moved to separate tabs
import { DebugName } from '@/lib/game/debug-context';
export default function ManaLoopGame() {
@@ -210,31 +209,7 @@ export default function ManaLoopGame() {
/>
</DebugName>
{/* Loot Inventory */}
<DebugName name="LootInventoryDisplay">
<LootInventoryDisplay
inventory={store.lootInventory}
elements={store.elements}
equipmentInstances={store.equipmentInstances}
onDeleteMaterial={store.deleteMaterial}
onDeleteEquipment={store.deleteEquipmentInstance}
/>
</DebugName>
{/* Achievements */}
<DebugName name="AchievementsDisplay">
<AchievementsDisplay
achievements={store.achievements}
gameState={{
maxFloorReached: store.maxFloorReached,
totalManaGathered: store.totalManaGathered,
signedPacts: store.signedPacts,
totalSpellsCast: store.totalSpellsCast,
totalDamageDealt: store.totalDamageDealt,
totalCraftsCompleted: store.totalCraftsCompleted,
}}
/>
</DebugName>
{/* Loot and Achievements moved to tabs */}
</div>
{/* Right Panel - Tabs */}
@@ -247,6 +222,8 @@ export default function ManaLoopGame() {
<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>
<TabsTrigger value="loot" className="text-xs px-2 py-1">💎 Loot</TabsTrigger>
<TabsTrigger value="achievements" className="text-xs px-2 py-1">🏆 Achieve</TabsTrigger>
<TabsTrigger value="lab" className="text-xs px-2 py-1">🔬 Lab</TabsTrigger>
<TabsTrigger value="stats" className="text-xs px-2 py-1">📊 Stats</TabsTrigger>
<TabsTrigger value="debug" className="text-xs px-2 py-1">🔧 Debug</TabsTrigger>
@@ -289,6 +266,18 @@ export default function ManaLoopGame() {
</DebugName>
</TabsContent>
<TabsContent value="loot">
<DebugName name="LootTab">
<LootTab store={store} />
</DebugName>
</TabsContent>
<TabsContent value="achievements">
<DebugName name="AchievementsTab">
<AchievementsTab store={store} />
</DebugName>
</TabsContent>
<TabsContent value="lab">
<DebugName name="LabTab">
<LabTab store={store} />