#!/bin/bash

# Trading Bot Startup Script with Process Cleanup
# This script initializes the process cleanup handlers and starts the Next.js app

echo "🚀 Starting Trading Bot with Process Cleanup..."

# Initialize process cleanup
echo "🧹 Initializing process cleanup handlers..."

# Create a signal handler to cleanup on container stop
cleanup() {
    echo "🛑 Received shutdown signal, cleaning up..."
    
    # Kill any remaining chromium processes
    pkill -f "chromium" 2>/dev/null || true
    
    # Clean up temporary files
    rm -rf /tmp/puppeteer_dev_chrome_profile-* 2>/dev/null || true
    
    echo "✅ Cleanup completed"
    exit 0
}

# Register signal handlers
trap cleanup SIGINT SIGTERM SIGQUIT

# Start the Next.js application
echo "🚀 Starting Next.js application..."
if [ "$NODE_ENV" = "development" ]; then
    echo "🔄 Pre-compiling TypeScript modules for faster execution..."
    timeout 30 npm run precompile || echo "⚠️  Pre-compilation timeout, proceeding..."
    echo "✅ Starting development server..."
    exec npm run dev:docker
else
    exec npm start
fi
