Add Gio desktop GUI shell

This commit is contained in:
2026-04-06 08:30:49 +07:00
parent dbc60009c5
commit 27d3511bbe
5 changed files with 1056 additions and 16 deletions

33
main.go
View File

@@ -1,23 +1,32 @@
package main
import (
"fmt"
"log"
"os"
"vpn-client/internal/cli"
"gioui.org/app"
"vpn-client/internal/config"
"vpn-client/internal/gui"
)
func main() {
// Инициализация конфигурации
if err := config.Init(); err != nil {
fmt.Fprintf(os.Stderr, "Ошибка инициализации: %v\n", err)
os.Exit(1)
}
go func() {
if err := config.Init(); err != nil {
log.Printf("config init failed: %v", err)
os.Exit(1)
}
// Запуск CLI
if err := cli.Run(); err != nil {
fmt.Fprintf(os.Stderr, "Ошибка: %v\n", err)
os.Exit(1)
}
window := new(app.Window)
window.Option(
app.Title("Go VPN Client"),
)
if err := gui.Run(window); err != nil {
log.Printf("gui failed: %v", err)
}
os.Exit(0)
}()
app.Main()
}