import { useState } from 'react'; import { Plus, TrendingUp, TrendingDown, Save, X } from 'lucide-react'; interface ManualTradeLoggerProps { onTradeLogged?: (trade: any) => void; } export default function ManualTradeLogger({ onTradeLogged }: ManualTradeLoggerProps) { const [isOpen, setIsOpen] = useState(false); const [trade, setTrade] = useState({ symbol: 'XAU/USD', action: 'BUY' as 'BUY' | 'SELL', entryPrice: '', quantity: '', stopLoss: '', takeProfit: '', entryTime: new Date().toISOString().slice(0, 16), platform: 'MT5', notes: '' }); const handleSubmit = () => { if (!trade.entryPrice || !trade.quantity) { alert('Please enter at least entry price and quantity'); return; } const loggedTrade = { ...trade, id: Date.now(), entryPrice: parseFloat(trade.entryPrice), quantity: parseFloat(trade.quantity), stopLoss: trade.stopLoss ? parseFloat(trade.stopLoss) : null, takeProfit: trade.takeProfit ? parseFloat(trade.takeProfit) : null, status: 'OPEN', loggedAt: new Date().toISOString() }; // Save to localStorage const existingTrades = JSON.parse(localStorage.getItem('logged-trades') || '[]'); existingTrades.push(loggedTrade); localStorage.setItem('logged-trades', JSON.stringify(existingTrades)); if (onTradeLogged) { onTradeLogged(loggedTrade); } // Reset form setTrade({ symbol: 'XAU/USD', action: 'BUY', entryPrice: '', quantity: '', stopLoss: '', takeProfit: '', entryTime: new Date().toISOString().slice(0, 16), platform: 'MT5', notes: '' }); setIsOpen(false); alert('Trade logged successfully!'); }; return (
💡 Tip: Log your trades from MT5/TradingView/Broker platform here for continuous analysis and journaling.