#!/usr/bin/env bash
# =============================================================================
# Alfred — One-line installer
#
# Uso:
#   curl -fsSL https://install.vintagebarbeariapub.com.br | bash
#
# Variantes:
#   curl -fsSL https://install.vintagebarbeariapub.com.br | bash -s -- --silent --env-file /tmp/respostas.env
#   curl -fsSL https://install.vintagebarbeariapub.com.br | bash -s -- --skip-dns
#
# O que faz:
#   1. Verifica root + OS suportado
#   2. Baixa alfred-cliente.tar.gz do mesmo host
#   3. Extrai em /root/alfred/
#   4. Dispara o wizard install-braco-direito.sh com args repassados
# =============================================================================

set -euo pipefail

PKG_BASE="${ALFRED_PKG_BASE:-https://install.vintagebarbeariapub.com.br}"
PKG_FILE="alfred-cliente.tar.gz"
TARGET_DIR="${ALFRED_TARGET:-/root/alfred}"

# Cores
if [[ -t 1 ]]; then
  C_R=$'\e[0m'; C_GRN=$'\e[32m'; C_YLW=$'\e[33m'; C_RED=$'\e[31m'; C_BLD=$'\e[1m'
else
  C_R=""; C_GRN=""; C_YLW=""; C_RED=""; C_BLD=""
fi

ok()    { echo "${C_GRN}✓${C_R} $*"; }
warn()  { echo "${C_YLW}⚠${C_R} $*"; }
fatal() { echo "${C_RED}✗${C_R} $*"; exit 1; }

echo ""
echo "${C_BLD}== Alfred — One-line installer ==${C_R}"
echo ""

# 1. Pre-flight
[[ $EUID -eq 0 ]] || fatal "rode como root: curl ... | sudo bash"

[[ -f /etc/os-release ]] || fatal "/etc/os-release ausente"
. /etc/os-release
case "${ID,,}" in
  ubuntu|debian|almalinux|rocky|rhel|centos|fedora) ok "OS: $PRETTY_NAME" ;;
  *) fatal "OS nao suportado: $ID. Use Ubuntu/Debian/AlmaLinux." ;;
esac

# 2. Ferramentas mínimas
for tool in curl tar; do
  command -v "$tool" &>/dev/null || fatal "$tool nao instalado"
done

# 3. Download do pacote
echo ""
echo "${C_BLD}── Baixando pacote Alfred ──${C_R}"
mkdir -p "$TARGET_DIR"
cd "$TARGET_DIR"

if curl -fsSL "$PKG_BASE/$PKG_FILE" -o "$PKG_FILE"; then
  ok "pacote baixado de $PKG_BASE/$PKG_FILE"
else
  fatal "falha ao baixar $PKG_BASE/$PKG_FILE"
fi

# 4. Extrair
echo ""
echo "${C_BLD}── Extraindo ──${C_R}"
tar xzf "$PKG_FILE" --strip-components=0
ok "extraido em $TARGET_DIR"
rm -f "$PKG_FILE"

# 5. Disparar wizard com args passthrough
echo ""
echo "${C_BLD}── Iniciando wizard ──${C_R}"
WIZARD="$TARGET_DIR/instaladores/install-braco-direito.sh"
[[ -f "$WIZARD" ]] || fatal "wizard nao encontrado em $WIZARD"

bash "$WIZARD" "$@"
