[Medium] [Task] Remove unused/orphaned components #322

Closed
opened 2026-06-08 15:47:56 +02:00 by Anexim · 1 comment
Owner

Problem

Several components are exported but never imported or rendered anywhere in the codebase — pure dead code.

Confirmed orphans:

  1. UpgradeDialog.tsx (src/components/game/UpgradeDialog.tsx)

    • Exported from game/index.ts barrel but never imported/rendered anywhere
    • References a milestone upgrade system that isn't wired up
  2. ActivityLog.tsx (src/components/game/tabs/ActivityLog.tsx)

    • A tab component that is NOT registered in the tab bar (no TabsTrigger/TabsContent)
    • Not exported from tabs/index.ts
    • Only used internally by ActivityLogPanel in the LeftPanel (which wraps it)
    • The tab version is orphaned — the panel in LeftPanel is fine and should stay
  3. EquipmentItem.tsx (src/components/game/LootInventory/EquipmentItem.tsx)

    • Only referenced within its own file, never imported elsewhere
  4. EssenceItem.tsx (src/components/game/LootInventory/EssenceItem.tsx)

    • Only referenced within its own file, never imported elsewhere
  5. MaterialItem.tsx (src/components/game/LootInventory/MaterialItem.tsx)

    • Only referenced within its own file, never imported elsewhere
  6. shields.ts (src/lib/game/data/equipment/shields.ts)

    • Exports empty SHIELD_EQUIPMENT record
    • Not imported anywhere (already removed from equipment-types-data.ts and equipment/index.ts)
    • File itself says "Shields have been removed from the game"

Plan

Delete all six files listed above. No other code references them.

Verification

After deletion, run the build to confirm nothing breaks:

npx tsc --noEmit
## Problem Several components are exported but never imported or rendered anywhere in the codebase — pure dead code. ### Confirmed orphans: 1. **`UpgradeDialog.tsx`** (`src/components/game/UpgradeDialog.tsx`) - Exported from `game/index.ts` barrel but never imported/rendered anywhere - References a milestone upgrade system that isn't wired up 2. **`ActivityLog.tsx`** (`src/components/game/tabs/ActivityLog.tsx`) - A tab component that is NOT registered in the tab bar (no TabsTrigger/TabsContent) - Not exported from `tabs/index.ts` - Only used internally by `ActivityLogPanel` in the LeftPanel (which wraps it) - The tab version is orphaned — the panel in LeftPanel is fine and should stay 3. **`EquipmentItem.tsx`** (`src/components/game/LootInventory/EquipmentItem.tsx`) - Only referenced within its own file, never imported elsewhere 4. **`EssenceItem.tsx`** (`src/components/game/LootInventory/EssenceItem.tsx`) - Only referenced within its own file, never imported elsewhere 5. **`MaterialItem.tsx`** (`src/components/game/LootInventory/MaterialItem.tsx`) - Only referenced within its own file, never imported elsewhere 6. **`shields.ts`** (`src/lib/game/data/equipment/shields.ts`) - Exports empty `SHIELD_EQUIPMENT` record - Not imported anywhere (already removed from `equipment-types-data.ts` and `equipment/index.ts`) - File itself says "Shields have been removed from the game" ## Plan Delete all six files listed above. No other code references them. ## Verification After deletion, run the build to confirm nothing breaks: ```bash npx tsc --noEmit ```
Anexim added the ai:todo label 2026-06-08 15:47:56 +02:00
n8n-gitea was assigned by Anexim 2026-06-08 15:47:56 +02:00
Anexim added ai:done and removed ai:todo labels 2026-06-09 11:46:31 +02:00
Author
Owner

Removed all 6 orphaned files:

  1. UpgradeDialog.tsx — exported from barrel but never imported/rendered
  2. ActivityLog.tsx (tab version) — not registered in tab bar, not exported from tabs barrel
  3. EquipmentItem.tsx — only self-referenced within its own file
  4. EssenceItem.tsx — only self-referenced within its own file
  5. MaterialItem.tsx — only self-referenced within its own file
  6. shields.ts — exports empty record, not imported anywhere

Also cleaned up barrel exports in game/index.ts:

  • Removed UpgradeDialog export
  • Removed AttunementStatus export (orphaned by #323)

Also fixed a TypeScript type error in combat-tick.ts where usePrestigeStore type was missing defeatedGuardians property (introduced by #330 changes).

All 1090 tests pass. npx tsc --noEmit shows no new errors.

Removed all 6 orphaned files: 1. `UpgradeDialog.tsx` — exported from barrel but never imported/rendered 2. `ActivityLog.tsx` (tab version) — not registered in tab bar, not exported from tabs barrel 3. `EquipmentItem.tsx` — only self-referenced within its own file 4. `EssenceItem.tsx` — only self-referenced within its own file 5. `MaterialItem.tsx` — only self-referenced within its own file 6. `shields.ts` — exports empty record, not imported anywhere Also cleaned up barrel exports in `game/index.ts`: - Removed `UpgradeDialog` export - Removed `AttunementStatus` export (orphaned by #323) Also fixed a TypeScript type error in `combat-tick.ts` where `usePrestigeStore` type was missing `defeatedGuardians` property (introduced by #330 changes). All 1090 tests pass. `npx tsc --noEmit` shows no new errors.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Anexim/Mana-Loop#322