import { useState } from 'react'; import { useGameStore } from '@/store'; import { formatMoney } from '@token-empire/shared'; function DevButton({ onClick, children, variant = 'default' }: { onClick: () => void; children: React.ReactNode; variant?: 'default' | 'success'; }) { const cls = variant === 'success' ? 'bg-emerald-500/20 hover:bg-emerald-500/30 border-emerald-500/50 text-emerald-400' : 'bg-surface-800 hover:bg-surface-700 border-surface-600 text-surface-300'; return ( ); } function DevInput({ value, onChange, placeholder, className = '' }: { value: string; onChange: (v: string) => void; placeholder?: string; className?: string; }) { return ( onChange(e.target.value)} placeholder={placeholder} className={`bg-surface-800 border border-surface-600 rounded px-2 py-1 text-xs text-surface-100 w-24 ${className}`} /> ); } export function ResourcesTab() { const money = useGameStore((s) => s.economy.money); const reputation = useGameStore((s) => s.reputation); const researchPoints = useGameStore((s) => s.research.researchPoints); const totalTrainingTokens = useGameStore((s) => s.data.totalTrainingTokens); const [customMoney, setCustomMoney] = useState(''); const [customTokens, setCustomTokens] = useState(''); const [customRP, setCustomRP] = useState(''); const addMoney = (amount: number) => { useGameStore.setState((s) => ({ economy: { ...s.economy, money: s.economy.money + amount } })); }; const setMoney = (amount: number) => { useGameStore.setState((s) => ({ economy: { ...s.economy, money: amount } })); }; const setRepField = (field: 'safetyRecord' | 'publicPerception' | 'employeeSatisfaction' | 'regulatoryStanding', value: number) => { const clamped = Math.max(0, Math.min(100, value)); useGameStore.setState((s) => ({ reputation: { ...s.reputation, [field]: clamped } })); }; const addResearchPoints = (amount: number) => { useGameStore.setState((s) => ({ research: { ...s.research, researchPoints: s.research.researchPoints + amount } })); }; const addTokens = (amount: number) => { useGameStore.setState((s) => ({ data: { ...s.data, totalTrainingTokens: s.data.totalTrainingTokens + amount } })); }; return (