# shellcheck shell=dash

___x_cmd_ollama___uninstall(){
    local x_
    ___x_cmd os name_

    case "$x_" in
        linux|darwin)   "___x_cmd_ollama___uninstall_${x_}"                 ;;
        *)              N=ollama M="Unsupported [os=$x_]" log:ret:64    ;;
    esac
}

___x_cmd_ollama___uninstall_linux(){
    ___x_cmd ui yesno "Do you want to uninstall Ollama?" || return 0
    ollama:info "Uninstalling Ollama"

    sudo systemctl stop ollama
    sudo systemctl disable ollama
    sudo rm "$(___x_cmd_cmds which ollama)"
    sudo rm -r /usr/share/ollama # delete model
    sudo userdel ollama
    sudo groupdel ollama
}

___x_cmd_ollama___uninstall_darwin(){
    ollama:info "Uninstalling Ollama"

    local dst="/Applications/Ollama.app"
    [ -d "$dst" ] || {
        ollama:info "Ollama is not installed."
        return 0
    }

    ___x_cmd ui yesno "Do you want to uninstall Ollama?" || return 0

    ___x_cmd rmrf "$dst" || {
        ollama:error "Failed to uninstall Ollama."
        return 1
    }

    # TODO: remove other files

    ollama:info "Successfully uninstalled Ollama."
}

___x_cmd_ollama___uninstall_win(){
    : # TODO
}
