#!/bin/bash
set -e

# =========================================================
#  RR Vendas e Locações — Instalador
#  Subdomínio recomendado: rr.sagga.tec.br
# =========================================================

RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m'
ok()  { echo -e "${GREEN}✅ $1${NC}"; }
err() { echo -e "${RED}❌ $1${NC}"; exit 1; }
inf() { echo -e "${BLUE}ℹ️  $1${NC}"; }
warn(){ echo -e "${YELLOW}⚠️  $1${NC}"; }

echo ""
echo -e "${BLUE}╔══════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║   🚗  RR Vendas e Locações — Setup       ║${NC}"
echo -e "${BLUE}╚══════════════════════════════════════════╝${NC}"
echo ""

# — Verificar dependências ——————————————————————————
command -v php  &>/dev/null || err "PHP não encontrado. Instale PHP 8.2+"
command -v composer &>/dev/null || err "Composer não encontrado."
PHP_VER=$(php -r "echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION;")
ok "PHP $PHP_VER detectado"

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CUSTOM_DIR="$SCRIPT_DIR/custom"
APP_DIR="$SCRIPT_DIR/app"

# — Criar projeto Laravel —————————————————————————
if [ ! -d "$APP_DIR" ]; then
    inf "Criando projeto Laravel 11..."
    composer create-project laravel/laravel "$APP_DIR" --prefer-dist --no-interaction -q
    ok "Laravel instalado"
else
    warn "Pasta 'app/' já existe. Pulando criação do Laravel."
fi

# — Copiar arquivos customizados ——————————————————
inf "Aplicando customizações do RR Vendas e Locações..."
cp -rf "$CUSTOM_DIR"/* "$APP_DIR"/
ok "Arquivos copiados"

# — Configurar .env —————————————————————————————
if [ ! -f "$APP_DIR/.env" ]; then
    cp "$APP_DIR/.env.example" "$APP_DIR/.env"
fi

echo ""
echo -e "${YELLOW}══════════════════════════════════════════════${NC}"
echo -e "${YELLOW}  Configure o .env antes de continuar:${NC}"
echo -e "${YELLOW}  nano $APP_DIR/.env${NC}"
echo ""
echo -e "  ${YELLOW}APP_URL=${NC}https://rr.sagga.tec.br"
echo -e "  ${YELLOW}DB_DATABASE=${NC}rr_sagga"
echo -e "  ${YELLOW}DB_USERNAME=${NC}seu_usuario"
echo -e "  ${YELLOW}DB_PASSWORD=${NC}sua_senha"
echo -e "${YELLOW}══════════════════════════════════════════════${NC}"
echo ""

read -p "Já configurou o .env? (s/n): " RESP
if [[ "$RESP" != "s" && "$RESP" != "S" ]]; then
    warn "Configure o .env e rode este script novamente com --migrate"
    exit 0
fi

cd "$APP_DIR"

# — Key, migrate, seed, storage ———————————————————
php artisan key:generate --force
ok "Chave gerada"

php artisan migrate --seed --force
ok "Banco de dados criado e populado"

php artisan storage:link 2>/dev/null || true
ok "Storage link criado"

# — Permissões ————————————————————————————————
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data . 2>/dev/null || true

echo ""
echo -e "${GREEN}╔══════════════════════════════════════════╗${NC}"
echo -e "${GREEN}║   ✅  INSTALAÇÃO CONCLUÍDA!               ║${NC}"
echo -e "${GREEN}╚══════════════════════════════════════════╝${NC}"
echo ""
echo -e "  🌐 Site:   ${BLUE}https://rr.sagga.tec.br${NC}"
echo -e "  🔐 Admin:  ${BLUE}https://rr.sagga.tec.br/admin${NC}"
echo -e "  👤 Login:  ${YELLOW}admin@rr.com${NC}"
echo -e "  🔑 Senha:  ${YELLOW}admin123${NC}  ← troque após o primeiro acesso!"
echo ""
echo -e "  📁 Document Root do Apache/Nginx: ${BLUE}$APP_DIR/public${NC}"
echo ""
