'use client'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { BookOpen, Plus, Pause, Play } from 'lucide-react'; import { useDisciplineStore } from '@/lib/game/stores/discipline-slice'; import { ALL_DISCIPLINES } from '@/lib/game/data/disciplines'; import { useManaStore } from '@/lib/game/stores/manaStore'; import { DebugName } from '@/components/game/debug/debug-context'; export function DisciplineDebugSection() { const disciplines = useDisciplineStore((s) => s.disciplines); const activeIds = useDisciplineStore((s) => s.activeIds); const concurrentLimit = useDisciplineStore((s) => s.concurrentLimit); const activate = useDisciplineStore((s) => s.activate); const deactivate = useDisciplineStore((s) => s.deactivate); const elements = useManaStore((s) => s.elements); const _handleTogglePause = (id: string) => { const disc = disciplines[id]; if (!disc) return; if (disc.paused) { activate(id); } else { deactivate(id); // Re-activate with paused false — just activate again activate(id); } }; const handleAddXP = (id: string, amount: number) => { useDisciplineStore.setState((s) => { const disc = s.disciplines[id]; if (!disc) return s; return { disciplines: { ...s.disciplines, [id]: { ...disc, xp: disc.xp + amount }, }, }; }); }; const handleActivateAll = () => { ALL_DISCIPLINES.forEach((d) => { if (!activeIds.includes(d.id)) { activate(d.id, { elements }); } }); }; const handleDeactivateAll = () => { activeIds.forEach((id) => { deactivate(id); }); }; return ( Disciplines
Active: {activeIds.length} / {concurrentLimit}
{ALL_DISCIPLINES.map((def) => { const disc = disciplines[def.id]; const isActive = activeIds.includes(def.id); const xp = disc?.xp || 0; return (
{def.name}
{isActive ? `XP: ${xp}` : 'Inactive'}
); })}
); } DisciplineDebugSection.displayName = "DisciplineDebugSection";