"use client" import React, { useState } from 'react' interface TradeModalProps { isOpen: boolean onClose: () => void tradeData: { symbol: string timeframe: string entry: string tp: string sl: string } | null onExecute: (data: any) => void } export default function TradeModal({ isOpen, onClose, tradeData, onExecute }: TradeModalProps) { const [loading, setLoading] = useState(false) const [formData, setFormData] = useState({ entry: tradeData?.entry || '', tp: tradeData?.tp || '', sl: tradeData?.sl || '', size: '0.1', leverage: '1' }) React.useEffect(() => { if (tradeData) { setFormData(prev => ({ ...prev, entry: tradeData.entry || '', tp: tradeData.tp || '', sl: tradeData.sl || '' })) } }, [tradeData]) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setLoading(true) try { await onExecute({ symbol: tradeData?.symbol, timeframe: tradeData?.timeframe, ...formData }) } catch (error) { console.error('Trade execution failed:', error) } finally { setLoading(false) } } if (!isOpen || !tradeData) return null return (

💰 Execute Trade

Symbol: {tradeData.symbol}
Timeframe: {tradeData.timeframe}
setFormData(prev => ({ ...prev, entry: e.target.value }))} className="w-full px-3 py-2 bg-gray-800/50 border border-gray-700 rounded-lg text-white placeholder-gray-500 focus:border-green-500 focus:outline-none" placeholder="0.00" required />
setFormData(prev => ({ ...prev, tp: e.target.value }))} className="w-full px-3 py-2 bg-gray-800/50 border border-gray-700 rounded-lg text-white placeholder-gray-500 focus:border-green-500 focus:outline-none" placeholder="0.00" required />
setFormData(prev => ({ ...prev, sl: e.target.value }))} className="w-full px-3 py-2 bg-gray-800/50 border border-gray-700 rounded-lg text-white placeholder-gray-500 focus:border-red-500 focus:outline-none" placeholder="0.00" required />
setFormData(prev => ({ ...prev, size: e.target.value }))} className="w-full px-3 py-2 bg-gray-800/50 border border-gray-700 rounded-lg text-white placeholder-gray-500 focus:border-cyan-500 focus:outline-none" placeholder="0.1" required />
) }