diff --git a/components/mission-control/TradingPanel.tsx b/components/mission-control/TradingPanel.tsx index 46911a0..0c4ad5b 100644 --- a/components/mission-control/TradingPanel.tsx +++ b/components/mission-control/TradingPanel.tsx @@ -34,6 +34,7 @@ interface Trade { closedAt?: string notes: string isDemo: boolean + traderStyle?: string // NEW: tracks which trader style was used } const defaultTraders: Trader[] = [ @@ -61,11 +62,183 @@ const defaultTraders: Trader[] = [ } ] +// Execute Trade Modal Component +function ExecuteTradeModal({ + traders, + selectedTrader, + onClose, + onTradeExecuted +}: { + traders: Trader[] + selectedTrader: string + onClose: () => void + onTradeExecuted: (trade: Trade) => void +}) { + const [form, setForm] = useState({ + pair: 'BTC/USD', + direction: 'long' as 'long' | 'short', + isDemo: true, + entryPrice: '', + timeframe: '4H', + setup: '' + }) + + const submitTrade = () => { + const trader = traders.find(t => t.id === selectedTrader) + const trade: Trade = { + id: Date.now().toString(), + trader: trader?.name || 'Unknown', + pair: form.pair, + direction: form.direction, + entryPrice: parseFloat(form.entryPrice) || 0, + status: 'open', + isDemo: form.isDemo, + openedAt: new Date().toISOString(), + setup: form.setup || `${trader?.name} setup`, + timeframe: form.timeframe, + reason: '', + notes: '', + traderStyle: selectedTrader + } + + // Save to API + fetch('/api/trading/trades', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(trade) + }).then(() => { + onTradeExecuted(trade) + }) + } + + const trader = traders.find(t => t.id === selectedTrader) + + return ( +
Trading Style
+{trader?.name}
+