#! /bin/bash

INSTALL_DRAW_LOCAL=""
if (whiptail --title "Настраивается R7 Draw" --yesno "Установить R7 Draw?" 10 60); then
    INSTALL_DRAW_LOCAL="true"
else
    INSTALL_DRAW_LOCAL="false"
fi

if [ "true" = "$INSTALL_DRAW_LOCAL" ]; then
    echo "Установка R7 Draw."

    in_domain=$(whiptail --title "Настраивается R7 Draw" --ok-button "Принять" --cancel-button "Отмена" --inputbox "Введите Domain" 10 60 "local.ru" 3>&1 1>&2 2>&3)
    if ! [ $? = 0 ] || [ -z "$in_domain" ]; then
        in_domain="local.ru"
    fi
    echo "Domain is $in_domain."

    prefix_name=$(whiptail --title "Настраивается R7 Draw" --ok-button "Принять" --cancel-button "Отмена" --inputbox "Введите cddisk prefix" 10 60 "cddisk" 3>&1 1>&2 2>&3)
    if ! [ $? = 0 ] || [ -z "$prefix_name" ]; then
        prefix_name="cddisk"
    fi
    echo "cddisk prefix is $prefix_name."

    is_https="false"
    API_URL_ext="http://$prefix_name.$in_domain"
    if (whiptail --title "Настраивается R7 Draw" --yesno "HTTPS установка?" 10 60); then
        is_https="true"
        API_URL_ext="https://$prefix_name.$in_domain"
    fi
    echo "API_URL: $API_URL_ext"

    export DOMAIN="$in_domain"
    export API_URL="$API_URL_ext"
    export MAKE_HTTPS="$is_https"

    ARCH=$(uname -m)
    PKG_MANAGER=""
    
    if command -v dnf &> /dev/null; then
        PKG_MANAGER="dnf"
    elif command -v apt-get &> /dev/null; then
        PKG_MANAGER="apt-get"
    else
        echo "Ошибка: Не найден подходящий пакетный менеджер (dnf или apt-get)"
        exit 1
    fi
    
    if [ "$ARCH" == "x86_64" ] || [ "$ARCH" == "aarch64" ]; then
        echo "Установка пакета для архитектуры $ARCH с помощью $PKG_MANAGER"
        
        if [ "$PKG_MANAGER" == "dnf" ]; then
            dnf install -y ./r7draw-*.$ARCH.rpm
        elif [ "$PKG_MANAGER" == "apt-get" ]; then
            apt-get install -y ./r7draw-*.$ARCH.rpm
        fi
    else
        echo "Предупреждение: Неподдерживаемая архитектура: $ARCH"
        exit 1
    fi

    if (whiptail --title "Настраивается R7 Draw" --yesno "Установка закончена. Трубуется перезагрузка. Перезагрузить ?" 10 60); then
        reboot
    fi

fi

