@echo off
chcp 65001 >nul
title Nebula Launcher - Reinstalacja

:: =============================================
:: UPDATE-KILLED.BAT
:: =============================================
:: Uruchamiany gdy launcher został zamknięty siłą
:: podczas aktualizacji. Najpierw próbuje odinstalować
:: przez unins000.exe, a jeśli to nie zadziała lub
:: zostanie anulowane, usuwa pliki ręcznie.
:: =============================================

setlocal enabledelayedexpansion

cls
echo ==============================================================
echo.
echo           ⚠️ NEBULA LAUNCHER - REINSTALACJA
echo.
echo ==============================================================
echo.
echo ==============================================================
echo.
echo           ❌ WYKRYTO SIŁOWE ZAMKNIĘCIE!
echo.
echo ==============================================================
echo.
echo ⚠️ Launcher zostal zamkniety sila podczas aktualizacji!
echo ⚠️ Aby naprawic problem, usuwamy uszkodzony plik...
echo.

:: =============================================
:: SZUKANIE KATALOGU NEBULALAUNCHER
:: =============================================

echo 📁 Szukanie katalogu NebulaLauncher...
echo.

set "NEBULA_DIR="
set "FOUND_DIR=0"

:: Możliwe lokalizacje
set "DIRS[0]=%USERPROFILE%\NebulaLauncher"
set "DIRS[1]=C:\Program Files (x86)\NebulaLauncher"
set "DIRS[2]=C:\Program Files\NebulaLauncher"
set "DIRS[3]=%CD%"

for /L %%i in (0,1,3) do (
    if exist "!DIRS[%%i]!\" (
        set "NEBULA_DIR=!DIRS[%%i]!"
        set "FOUND_DIR=1"
        echo ✅ Znaleziono katalog: !NEBULA_DIR!
        goto :dir_found
    )
)

:dir_found
if "%FOUND_DIR%"=="0" (
    echo ❌ Nie znaleziono katalogu NebulaLauncher
    echo    Używam bieżącego katalogu: %CD%
    set "NEBULA_DIR=%CD%"
)
echo.

:: =============================================
:: PRÓBA 1: URUCHOMIENIE unins000.exe
:: =============================================

set "UNINS_PATH=%NEBULA_DIR%\unins000.exe"
set "UNINSTALL_RUN=0"

if exist "%UNINS_PATH%" (
    echo 🗑️ Znaleziono unins000.exe w %NEBULA_DIR%
    echo.
    echo ⚠️ Uruchamiam standardową dezinstalację...
    echo.
    echo ==============================================================
    echo UWAGA: Jeśli chcesz usunąć tylko plik .exe, zamknij to okno
    echo        i kliknij "Anuluj" w oknie dezinstalatora.
    echo ==============================================================
    echo.
    echo Uruchamianie unins000.exe...
    echo.

    start /wait "" "%UNINS_PATH%"
    
    :: Sprawdź kod powrotu
    if errorlevel 1 (
        echo.
        echo ⚠️ Dezinstalacja została anulowana lub zakończyła się błędem.
        echo    Przechodzę do ręcznego usuwania...
        echo.
        set "UNINSTALL_RUN=1"
    ) else (
        echo.
        echo ✅ Dezinstalacja zakończona pomyślnie!
        echo.
        echo Sprawdzam czy pliki zostały usunięte...
        echo.
        
        :: Sprawdź czy pliki nadal istnieją
        if not exist "%NEBULA_DIR%\Nebulauncher.exe" (
            echo ✅ Nebulauncher.exe został usunięty!
            goto :end_clean
        ) else (
            echo ⚠️ Nebulauncher.exe nadal istnieje - usuwam ręcznie...
            goto :manual_remove
        )
    )
) else (
    echo ⚠️ Nie znaleziono unins000.exe w %NEBULA_DIR%
    echo    Przechodzę do ręcznego usuwania...
    echo.
    goto :manual_remove
)

:: =============================================
:: PRÓBA 2: RĘCZNE USUWANIE
:: =============================================

:manual_remove
echo.
echo ==============================================================
echo.
echo           🗑️ RĘCZNE USUWANIE PLIKÓW
echo.
echo ==============================================================
echo.

:: Usuń unins000.exe jeśli istnieje
if exist "%NEBULA_DIR%\unins000.exe" (
    echo 🗑️ Usuwanie unins000.exe...
    del /f /q "%NEBULA_DIR%\unins000.exe" 2>nul
    if not exist "%NEBULA_DIR%\unins000.exe" (
        echo ✅ unins000.exe usunięty!
    ) else (
        echo ❌ Nie można usunąć unins000.exe (brak uprawnień)
    )
)

:: Usuń unins000.dat jeśli istnieje
if exist "%NEBULA_DIR%\unins000.dat" (
    echo 🗑️ Usuwanie unins000.dat...
    del /f /q "%NEBULA_DIR%\unins000.dat" 2>nul
    if not exist "%NEBULA_DIR%\unins000.dat" (
        echo ✅ unins000.dat usunięty!
    ) else (
        echo ❌ Nie można usunąć unins000.dat (brak uprawnień)
    )
)

:: Usuń Nebulauncher.exe
if exist "%NEBULA_DIR%\Nebulauncher.exe" (
    echo 🗑️ Usuwanie Nebulauncher.exe...
    del /f /q "%NEBULA_DIR%\Nebulauncher.exe" 2>nul
    if not exist "%NEBULA_DIR%\Nebulauncher.exe" (
        echo ✅ Nebulauncher.exe usunięty!
    ) else (
        echo ❌ Nie można usunąć Nebulauncher.exe (brak uprawnień)
    )
)

:: Usuń SYS-BIC.json (opcjonalnie - przywróci się przy ponownej instalacji)
if exist "%NEBULA_DIR%\SYS-BIC.json" (
    echo 🗑️ Usuwanie SYS-BIC.json...
    del /f /q "%NEBULA_DIR%\SYS-BIC.json" 2>nul
    if not exist "%NEBULA_DIR%\SYS-BIC.json" (
        echo ✅ SYS-BIC.json usunięty!
    ) else (
        echo ⚠️ Nie można usunąć SYS-BIC.json (brak uprawnień)
    )
)

:: Usuń plik flagi (jeśli istnieje)
if exist "%NEBULA_DIR%\update-killed.flag" (
    del /f /q "%NEBULA_DIR%\update-killed.flag" 2>nul
)

:: Usuń plik opóźnionej aktualizacji (jeśli istnieje)
if exist "%NEBULA_DIR%\update-delayed.rem" (
    del /f /q "%NEBULA_DIR%\update-delayed.rem" 2>nul
)

:end_clean
echo.
echo ==============================================================
echo.
echo           ✅ CZYSZCZENIE ZAKOŃCZONE!
echo.
echo ==============================================================
echo.

:: =============================================
:: SPRAWDŹ CO ZOSTAŁO
:: =============================================

echo.
echo 📋 Pozostałe pliki w katalogu:
echo.
dir "%NEBULA_DIR%" 2>nul
echo.

:: =============================================
:: INFORMACJA DLA UŻYTKOWNIKA
:: =============================================

echo ==============================================================
echo.
echo              📋 CO DALEJ?
echo.
echo ==============================================================
echo.
echo 1. Pobierz najnowsza wersje Launchera z:
echo    https://launcher.server-api.dedyn.io/
echo.
echo 2. Zainstaluj ponownie w tym samym miejscu
echo.
echo 3. Jesli problem sie powtarza, skontaktuj sie z supportem:
echo    https://launcher.server-api.dedyn.io/support
echo.

:: =============================================
:: OTWIERANIE STRONY POBIERANIA
:: =============================================

echo.
echo 🌐 Czy chcesz otworzyc strone pobierania?
echo.
echo   [Y] Tak, otworz strone
echo   [N] Nie, zamknij
echo.

choice /c YN /n /m "Wybierz opcje: "

if errorlevel 2 (
    echo.
    echo ✅ Do widzenia!
    timeout /t 2 /nobreak >nul
    exit /b 0
) else (
    echo.
    echo 🌐 Otwieranie strony...
    start https://launcher.server-api.dedyn.io/
    echo ✅ Strona otwarta
    echo.
    echo Po pobraniu zainstaluj ponownie Launcher.
    echo.
    echo Nacisnij dowolny klawisz aby zamknac...
    pause >nul
    exit /b 0
)
