package gui

import (
	"fmt"
	"os/exec"
	"runtime"
	"time"
)

func Run() error {
	url := startServer()
	time.Sleep(500 * time.Millisecond)
	
	fmt.Println("🚀 VPN Client GUI запущен!")
	fmt.Printf("📱 Откройте в браузере: %s\n", url)
	fmt.Println("💡 Браузер откроется автоматически...")
	fmt.Println("\n⚠️  Не закрывайте это окно!")
	fmt.Println("   Для выхода нажмите Ctrl+C\n")
	
	openBrowser(url)
	select {}
}

func openBrowser(url string) {
	var err error
	switch runtime.GOOS {
	case "linux":
		err = exec.Command("xdg-open", url).Start()
	case "windows":
		err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start()
	case "darwin":
		err = exec.Command("open", url).Start()
	default:
		err = fmt.Errorf("unsupported platform")
	}
	if err != nil {
		fmt.Printf("Не удалось открыть браузер: %v\n", err)
	}
}
