#!/bin/bash
# ============================================================
#  SignalPro Trading Bot - Laravel Frontend Deploy Script
#  Run this via SSH on your cPanel server
# ============================================================

set -e

BOLD='\033[1m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'

DOMAIN_DIR="$HOME/public_html"  # or $HOME/yourdomain.com

echo -e "${BOLD}🚀 SignalPro Laravel Frontend Deployment${NC}"
echo "==========================================="

# ── 1. Check PHP & Composer ───────────────────────────────────
echo -e "${YELLOW}[1/6] Checking PHP...${NC}"
php --version | head -1
composer --version || { echo "Installing Composer..."; curl -sS https://getcomposer.org/installer | php; mv composer.phar /usr/local/bin/composer; }

# ── 2. Create app directory ───────────────────────────────────
echo -e "${YELLOW}[2/6] Setting up directory...${NC}"
APP_DIR="$HOME/trading_bot_app"
mkdir -p "$APP_DIR"
cd "$APP_DIR"

# ── 3. Install Laravel deps ───────────────────────────────────
echo -e "${YELLOW}[3/6] Installing Laravel dependencies...${NC}"
composer install --no-dev --optimize-autoloader

# ── 4. Laravel setup ──────────────────────────────────────────
echo -e "${YELLOW}[4/6] Configuring Laravel...${NC}"
cp .env.example .env
php artisan key:generate

# Create SQLite DB
touch trading_bot_laravel.sqlite
php artisan config:cache
php artisan route:cache
php artisan view:cache

chmod -R 755 storage bootstrap/cache
chown -R $(whoami) storage bootstrap/cache

# ── 5. Point public_html to Laravel public ────────────────────
echo -e "${YELLOW}[5/6] Linking public directory...${NC}"
# Option A: Symlink (preferred)
ln -sfn "$APP_DIR/public" "$DOMAIN_DIR/bot" 2>/dev/null || true

# Option B (if symlinks blocked): copy .htaccess to public_html
# cp "$APP_DIR/public/.htaccess" "$DOMAIN_DIR/.htaccess"

echo -e "${YELLOW}[6/6] Done!${NC}"
echo ""
echo -e "${GREEN}✅ Laravel deployment complete!${NC}"
echo ""
echo -e "${BOLD}NEXT STEPS:${NC}"
echo ""
echo "1. Edit .env:  nano ~/trading_bot_app/.env"
echo "   Set BOT_API_URL=http://localhost:8000"
echo "   (or your Python backend URL)"
echo ""
echo "2. In cPanel File Manager:"
echo "   - Go to your domain's Document Root"
echo "   - Upload all files from laravel-frontend/"
echo "   - The web root should point to the 'public' folder"
echo ""
echo "3. In cPanel > Domains:"
echo "   - Set Document Root to: trading_bot_app/public"
echo ""
echo "4. Visit: https://yourdomain.com/login"
echo "   Admin: admin / Admin@123"
