package main import ( "fmt" "log" "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/widget" "gitea.mrixs.me/Mrixs/MrixsCraft-launcher/internal/auth" "gitea.mrixs.me/Mrixs/MrixsCraft-launcher/internal/config" ) // version is set via -ldflags at build time. var version = "dev" func main() { log.Printf("MrixsCraft Launcher %s", version) root, err := config.EnsureRoot() if err != nil { log.Fatalf("Failed to initialise data directory: %v", err) } log.Printf("Data directory: %s", root) // Try to restore an existing session. client, err := auth.NewFromConfig() if err != nil { log.Fatalf("Failed to create auth client: %v", err) } sess, err := client.EnsureValid() if err != nil { log.Printf("Session check failed: %v", err) } if sess != nil { log.Printf("Logged in as %s", sess.Username) } else { log.Println("No valid session — login required") } // Bootstrap Fyne UI. a := app.New() w := a.NewWindow(fmt.Sprintf("MrixsCraft %s", version)) w.Resize(fyne.NewSize(900, 600)) w.CenterOnScreen() w.SetContent(container.NewVBox( widget.NewLabel(fmt.Sprintf("MrixsCraft Launcher %s", version)), )) w.ShowAndRun() }