@echo off
setlocal EnableDelayedExpansion
title Sinnek Client Reparatie

:: ============================================================
::  SINNEK CLIENT - Reparatiescript
::  Sluit de app, verwijder hem, ruim de achtergebleven bestanden op en installeer hem opnieuw.
:: ============================================================

:: Kleuren en kop
color 60
cls
echo.
echo  =======================================================
echo    SINNEK CLIENT - Reparatie Gereedschap
echo  =======================================================
echo.
echo  Dit proces repareert uw Sinnek Client-installatie.
echo  Sluit dit venster alstublieft niet voordat u klaar bent.
echo.
echo  -------------------------------------------------------
echo.

:: --- STAP 1: Sluit de applicatie als deze open is. ----------
echo  [1/5] Sinnek Client wordt afgesloten als deze actief is...
taskkill /F /IM "Sinnek-Client.exe" >nul 2>&1
timeout /t 2 /nobreak >nul
echo        OK
echo.

:: --- STAP 2: Verwijder de huidige versie --------------------
echo  [2/5] De huidige versie wordt verwijderd...

:: Zoek het verwijderingsprogramma op de gebruikelijke Electron Builder-locaties.
set "UNINSTALLER="
set "SEARCH1=%APPDATA%\sinnek-client\Uninstall Sinnek-Client.exe"
set "SEARCH2=%LOCALAPPDATA%\Programs\Sinnek-Client\Uninstall Sinnek-Client.exe"
set "SEARCH4=%PROGRAMFILES(X86)%\Sinnek-Client\Uninstall Sinnek-Client.exe"
set "SEARCH3=%PROGRAMFILES%\Sinnek-Client\Uninstall Sinnek-Client.exe"

if exist "%SEARCH1%" set "UNINSTALLER=%SEARCH1%"
if exist "%SEARCH2%" set "UNINSTALLER=%SEARCH2%"
if exist "%SEARCH3%" set "UNINSTALLER=%SEARCH3%"
if exist "%SEARCH4%" set "UNINSTALLER=%SEARCH4%"

if defined UNINSTALLER (
    "%UNINSTALLER%" /S >nul 2>&1
    timeout /t 5 /nobreak >nul
    echo        OK
) else (
    echo        Er is geen verwijderingsprogramma gevonden, handmatig schoonmaken gaat verder...
)
echo.

:: --- STAP 3: Verwijder resterende mappen ------------------
echo  [3/5] Resterende bestanden opschonen...

set "DIRS_TO_CLEAN=%LOCALAPPDATA%\sinnek-client"
set "DIRS_TO_CLEAN2=%LOCALAPPDATA%\Programs\sinnek-client"
set "DIRS_TO_CLEAN3=%APPDATA%\Sinnek-Client"
set "DIRS_TO_CLEAN4=%APPDATA%\sinnek-client"
set "DIRS_TO_CLEAN5=%LOCALAPPDATA%\sinnek-client-updater"

for %%D in (
    "%LOCALAPPDATA%\sinnek-client"
    "%LOCALAPPDATA%\Programs\Sinnek-Client"
    "%APPDATA%\Sinnek-Client"
    "%APPDATA%\sinnek-client"
    "%LOCALAPPDATA%\sinnek-client-updater"
) do (
    if exist %%D (
        rd /s /q %%D >nul 2>&1
    )
)

echo        OK
echo.

:: --- STAP 4: Download het schone installatieprogramma ------------------
echo  [4/5] De nieuwste versie van Sinnek Client downloaden...
echo        (Dit kan een paar minuten duren, afhankelijk van uw internetverbinding.)
echo.

set "DOWNLOAD_URL=https://software.sinnek.com/download/Sinnek-Client.exe"
set "INSTALLER=%TEMP%\Sinnek-Client.exe"

:: Verwijder de vorige download indien aanwezig.
if exist "%INSTALLER%" del /f /q "%INSTALLER%" >nul 2>&1

:: Downloaden met voortgangsbalk
echo  Installatieprogramma downloaden...
bitsadmin /transfer "Sinnek Client Download" /priority FOREGROUND "%DOWNLOAD_URL%" "%INSTALLER%"

if not exist "%INSTALLER%" (
    echo.
    echo  FOUT: Het installatieprogramma kon niet worden gedownload.
    echo  Controleer je internetverbinding en probeer het opnieuw.
    echo  Als het probleem aanhoudt, neem dan contact op met de ondersteuning.
    echo.
    pause
    exit /b 1
)

echo        Downloaden voltooid
echo.

:: --- STAP 5: Installeren --------------------------------------
echo  [5/5] Sinnek Client installeren...
echo        Het installatieprogramma wordt geopend. U hoeft niets te doen; wacht gewoon tot de applicatie is opgestart.
echo.

timeout /t 2 /nobreak >nul
start "" "%INSTALLER%"

echo  =======================================================
echo    Reparatie succesvol afgerond.
echo    U kunt dit venster sluiten.
echo  =======================================================
echo.
pause
exit /b 0
