'use client' import React, { useState, useEffect } from 'react' export default function AutomationPage() { const [config, setConfig] = useState({ mode: 'SIMULATION', dexProvider: 'DRIFT', // Only Drift now symbol: 'SOLUSD', timeframe: '1h', tradingAmount: 100, maxLeverage: 5, stopLossPercent: 2, takeProfitPercent: 6, maxDailyTrades: 5, riskPercentage: 2 }) const [status, setStatus] = useState(null) const [isLoading, setIsLoading] = useState(false) const [recentTrades, setRecentTrades] = useState([]) useEffect(() => { fetchStatus() const interval = setInterval(fetchStatus, 30000) return () => clearInterval(interval) }, []) const fetchStatus = async () => { try { const response = await fetch('/api/automation/status') const data = await response.json() if (data.success) { setStatus(data.status) } } catch (error) { console.error('Failed to fetch status:', error) } } const handleStart = async () => { setIsLoading(true) try { const response = await fetch('/api/automation/start', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(config) }) const data = await response.json() if (data.success) { fetchStatus() } else { alert('Failed to start automation: ' + data.error) } } catch (error) { console.error('Failed to start automation:', error) alert('Failed to start automation') } finally { setIsLoading(false) } } const handleStop = async () => { setIsLoading(true) try { const response = await fetch('/api/automation/stop', { method: 'POST' }) const data = await response.json() if (data.success) { fetchStatus() } else { alert('Failed to stop automation: ' + data.error) } } catch (error) { console.error('Failed to stop automation:', error) alert('Failed to stop automation') } finally { setIsLoading(false) } } return (
{/* Header */}

⚡ DRIFT PROTOCOL TRADING

AI-powered automated trading • Up to 100x leverage • Perpetual futures

{status?.isActive ? ( ) : ( )}
{/* Main Grid */}
{/* Configuration Column */}
{/* Drift Protocol Banner */}

⚡ DRIFT PROTOCOL ONLY

🚀 Up to 100x Leverage • 💎 Perpetual Futures • 💰 Spot Trading (1x) • 🎯 Advanced Risk Management

{/* Configuration Panel */}

Trading Configuration

{/* Trading Mode */}
{/* Leverage Settings */}

{config.maxLeverage === 1 && "✅ Spot trading - No liquidation risk"} {config.maxLeverage <= 5 && config.maxLeverage > 1 && "🟢 Conservative leverage - Lower risk"} {config.maxLeverage <= 10 && config.maxLeverage > 5 && "🟡 Moderate leverage - Balanced risk/reward"} {config.maxLeverage <= 50 && config.maxLeverage > 10 && "🟠 High leverage - Significant risk"} {config.maxLeverage > 50 && "🔴 EXTREME LEVERAGE - Maximum risk! Use with caution!"}

{/* Trading Parameters */}
setConfig({...config, tradingAmount: parseFloat(e.target.value)})} className="w-full p-3 bg-gray-700 border border-gray-600 rounded-lg text-white focus:border-blue-500" disabled={status?.isActive} min="10" step="10" />
{/* Risk Management */}
setConfig({...config, stopLossPercent: parseFloat(e.target.value)})} className="w-full p-3 bg-gray-700 border border-gray-600 rounded-lg text-white focus:border-blue-500" disabled={status?.isActive} min="0.5" max="20" step="0.5" />
setConfig({...config, takeProfitPercent: parseFloat(e.target.value)})} className="w-full p-3 bg-gray-700 border border-gray-600 rounded-lg text-white focus:border-blue-500" disabled={status?.isActive} min="1" max="50" step="1" />
setConfig({...config, maxDailyTrades: parseInt(e.target.value)})} className="w-full p-3 bg-gray-700 border border-gray-600 rounded-lg text-white focus:border-blue-500" disabled={status?.isActive} min="1" max="100" />
{/* Leverage Warning */} {config.maxLeverage > 10 && (
⚠️

HIGH LEVERAGE WARNING

You selected {config.maxLeverage}x leverage. This multiplies both profits AND losses. A {(100/config.maxLeverage).toFixed(1)}% price move against your position will result in liquidation. Only use high leverage if you understand the risks!

)}
{/* Status Column */}
{/* Current Status */}

📊 Status

{status ? (
Status: {status.isActive ? '🟢 ACTIVE' : '🔴 STOPPED'}
Mode: {status.mode}
Protocol: DRIFT
Symbol: {config.symbol}
Leverage: {config.maxLeverage}x
Position Size: ${config.tradingAmount}
) : (

Loading status...

)}
{/* Performance Stats */}

📈 Performance

0
Total Trades
0%
Win Rate
$0.00
Total P&L
0
Active Positions
{/* Drift Protocol Benefits */}

⚡ Drift Protocol Features

  • Up to 100x leverage
  • Perpetual futures
  • Spot trading (1x leverage)
  • Advanced risk management
  • Low fees & slippage
  • Multiple trading pairs
{/* Risk Warning */}

⚠️ Risk Disclosure

High leverage trading carries substantial risk of loss. Never trade with money you cannot afford to lose. Past performance does not guarantee future results.

) }