From afbdb71548a032760fe9873f960c91712e98b8a6 Mon Sep 17 00:00:00 2001 From: n8n-gitea Date: Mon, 18 May 2026 15:07:34 +0200 Subject: [PATCH] fix: resolve Docker build errors - JSX ternary, missing barrel export, missing ActivityLog component --- docs/circular-deps.txt | 9 ++---- docs/dependency-graph.json | 3 +- docs/project-structure.txt | 2 ++ src/components/game/tabs/ActivityLog.tsx | 34 +++++++++++++++++++++ src/components/game/tabs/DisciplinesTab.tsx | 20 ++++++------ src/lib/game/data/disciplines/index.ts | 20 ++++++++++++ 6 files changed, 71 insertions(+), 17 deletions(-) create mode 100644 src/components/game/tabs/ActivityLog.tsx create mode 100644 src/lib/game/data/disciplines/index.ts diff --git a/docs/circular-deps.txt b/docs/circular-deps.txt index 6f7c4be..80668e0 100644 --- a/docs/circular-deps.txt +++ b/docs/circular-deps.txt @@ -1,11 +1,8 @@ # Circular Dependencies -Generated: 2026-05-18T12:47:02.133Z -Found: 4 circular chain(s) — these MUST be fixed before modifying involved files. +Generated: 2026-05-18T12:51:42.611Z +Found: 1 circular chain(s) — these MUST be fixed before modifying involved files. -1. Processed 122 files (1.3s) (30 warnings) -2. 1) stores/combatStore.ts > stores/gameStore.ts -3. 2) stores/combatStore.ts > stores/gameStore.ts > stores/gameActions.ts -4. 3) stores/combatStore.ts > stores/gameStore.ts > stores/gameLoopActions.ts +1. Processed 122 files (1.2s) (30 warnings) ## How to fix 1. Identify which import in the chain can be extracted to a shared types/utils file. diff --git a/docs/dependency-graph.json b/docs/dependency-graph.json index 7ac7d22..b1d7f77 100644 --- a/docs/dependency-graph.json +++ b/docs/dependency-graph.json @@ -1,6 +1,6 @@ { "_meta": { - "generated": "2026-05-18T12:47:00.491Z", + "generated": "2026-05-18T12:51:41.151Z", "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." }, @@ -416,7 +416,6 @@ "stores/combatStore.ts": [ "stores/combat-actions.ts", "stores/combat-state.types.ts", - "stores/gameStore.ts", "stores/prestigeStore.ts", "types.ts", "utils/activity-log.ts", diff --git a/docs/project-structure.txt b/docs/project-structure.txt index 1d8dee0..dae851f 100644 --- a/docs/project-structure.txt +++ b/docs/project-structure.txt @@ -108,6 +108,7 @@ Mana-Loop/ │ │ │ ├── shared/ │ │ │ │ └── MemorySlotPicker.tsx │ │ │ ├── tabs/ +│ │ │ │ ├── ActivityLog.tsx │ │ │ │ ├── DisciplinesTab.tsx │ │ │ │ └── index.ts │ │ │ ├── AchievementsDisplay.tsx @@ -203,6 +204,7 @@ Mana-Loop/ │ │ │ │ ├── enchanter.ts │ │ │ │ ├── fabricator-disciplines.ts │ │ │ │ ├── fabricator.ts +│ │ │ │ ├── index.ts │ │ │ │ ├── invoker-disciplines.ts │ │ │ │ └── invoker.ts │ │ │ ├── enchantments/ diff --git a/src/components/game/tabs/ActivityLog.tsx b/src/components/game/tabs/ActivityLog.tsx new file mode 100644 index 0000000..5b6d8dc --- /dev/null +++ b/src/components/game/tabs/ActivityLog.tsx @@ -0,0 +1,34 @@ +import type { ActivityLogEntry } from '@/lib/game/types'; + +interface ActivityLogProps { + activityLog: ActivityLogEntry[]; + maxEntries?: number; +} + +export function ActivityLog({ activityLog, maxEntries = 20 }: ActivityLogProps) { + const entries = activityLog.slice(0, maxEntries); + + if (entries.length === 0) { + return ( +
+ No activity yet. +
+ ); + } + + return ( +
+ {entries.map((entry) => ( +
+ + [{entry.eventType}] + + {entry.message} +
+ ))} +
+ ); +} diff --git a/src/components/game/tabs/DisciplinesTab.tsx b/src/components/game/tabs/DisciplinesTab.tsx index b4e5b94..3b634c2 100644 --- a/src/components/game/tabs/DisciplinesTab.tsx +++ b/src/components/game/tabs/DisciplinesTab.tsx @@ -1,10 +1,10 @@ import React, { useEffect, useState } from 'react'; import { useDisciplineStore } from '@/lib/game/stores/discipline-slice'; import type { DisciplineDefinition } from '@/types/disciplines'; -import baseDisciplines from '../data/disciplines/base'; -import enchanterDisciplines from '../data/disciplines/enchanter'; -import fabricatorDisciplines from '../data/disciplines/fabricator'; -import invokerDisciplines from '../data/disciplines/invoker'; +import { baseDisciplines } from '@/lib/game/data/disciplines/base'; +import { enchanterDisciplines } from '@/lib/game/data/disciplines/enchanter'; +import { fabricatorDisciplines } from '@/lib/game/data/disciplines/fabricator'; +import { invokerDisciplines } from '@/lib/game/data/disciplines/invoker'; import { calculateStatBonus, calculateManaDrain } from '@/lib/game/utils/discipline-math'; import { useRef } from 'react'; import clsx from 'clsx'; @@ -148,9 +148,11 @@ export const DisciplinesTab: React.FC = () => {
Perks: @@ -193,11 +195,11 @@ export const DisciplinesTab: React.FC = () => { return (