#!/bin/bash

EXE_NAME="Instalador de NotPilitoYT GDPS.exe"
EXE_URL="https://www.dropbox.com/scl/fi/u5urgwu8o0g6mq6n9889t/Instalador-de-NotPilitoYT-GDPS.exe?rlkey=slcn7euwjgvjcwui3nlo97cnb&st=gw3qnhr6&dl=1"

if [ "$(uname)" = "Darwin" ]; then
    echo "macOS no está soportado por este instalador."
    echo "Vamos a mandarte a la página web de macOS para NotPilitoYT GDPS."
    open "https://notpilitoyt.neocities.org/gdps-macos"
    exit 1
fi

if grep -qi "microsoft" /proc/version 2>/dev/null; then
    echo "WSL no está soportado! Porfavor use el instalador nativo para Windows:
    https://www.dropbox.com/scl/fi/u5urgwu8o0g6mq6n9889t/Instalador-de-NotPilitoYT-GDPS.exe?rlkey=slcn7euwjgvjcwui3nlo97cnb&st=4jlnxjim&dl=1"
    echo "La descarga es directa para que no tengas que crear una cuenta de Dropbox y descargarlo."
    exit 1
fi

if grep -q "CHROMEOS" /etc/lsb-release 2>/dev/null || [ -d "/dev/virtio-ports" ]; then
    echo "Crostini (parte de ChromeOS) no está soportado. Usa una distro de Linux, ej: Arch Linux, Debian, Fedora, openSUSE."
    echo "Wine se rompe con ChromeOS."
    xdg-open "https://notpilitoyt.neocities.org/nosoportamoschromeos"
    exit 1
fi

echo "NotPilitoYT GDPS 2.208"
echo "Selecciona tu sistema operativo:"
echo "1) Arch Linux / Manjaro Linux / EndeavourOS"
echo "2) Debian / Ubuntu / Linux Mint"
echo "3) Fedora y distros basados en Fedora"
echo "4) openSUSE"
read -p "Opción: " opcion

if [[ -z "$opcion" ]] || [[ ! "$opcion" =~ ^[1-4]$ ]]; then
    echo "Opción no válida. Saliendo del instalador."
    exit 1
fi

echo "Preparando..."
sleep 1

if [ -z "$opcion" ]; then
    echo "Opción no válida."
    exit 1
fi

echo "Arrancando con sudo..."
sudo -v || exit 1

case "$opcion" in
1)
    echo "Instalando Wine en Arch Linux..."
    sudo pacman -Syu --needed wine wget unzip
    ;;
2)
    echo "Instalando Wine en Debian / Ubuntu..."
    sudo apt update
    sudo apt install -y wine wget unzip
    ;;
3)
    echo "Instalando Wine en Fedora..."
    sudo dnf install -y wine wget unzip
    ;;
4)
    echo "Instalando Wine en openSUSE..."
    sudo zypper addrepo https://download.opensuse.org/repositories/Emulators/16.0/Emulators.repo
    sudo zypper refresh
    sudo zypper install wine
    ;;

*)
    echo "Opción no válida."
    exit 1
    ;;
esac

INSTALL_DIR="$HOME/.installertrash"
mkdir -p "$INSTALL_DIR"

echo "Descargando instalador..."
wget -O "$INSTALL_DIR/$EXE_NAME" "$EXE_URL"

if [ ! -f "$INSTALL_DIR/$EXE_NAME" ]; then
    echo "Error: No se pudo descargar el archivo."
    exit 1
fi

echo "Ejecutando instalador con Wine..."
wine "$INSTALL_DIR/$EXE_NAME" &

echo
echo "Siga las instrucciones en el instalador que se abrió con Wine."
echo
