Files
Vladimir Zagainov 1487360215 feat: add UI layer (theme, components, screens, main window)
- theme: MinecraftTheme — dark palette with green accents
- components: ServerCard, ProgressBar, PlayButton, SettingsButton, LogoutButton, AvatarImage
- screens: MainScreen (BorderLayout: sidebar + center + bottom bar), LoginScreen (modal form), SettingsScreen (RAM slider + JVM args)
- ui.Launch: wires theme, session, settings into Fyne app
- main.go: delegates to ui.Launch, loads config
- fix: nil-session guard in MainScreen username display

Co-Authored-By: OWL <noreply@anthropic.com>
2026-05-26 11:22:41 +03:00

46 lines
978 B
Go

package main
import (
"log"
"gitea.mrixs.me/Mrixs/MrixsCraft-launcher/internal/auth"
"gitea.mrixs.me/Mrixs/MrixsCraft-launcher/internal/config"
"gitea.mrixs.me/Mrixs/MrixsCraft-launcher/internal/ui"
)
// 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)
settings, err := config.Load()
if err != nil {
log.Fatalf("Failed to load settings: %v", err)
}
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")
}
ui.Launch(client, sess, settings)
}