package main import ( "context" "errors" "fmt" "galaxy/client/loader" "galaxy/connector/http" "galaxy/storage/fs" "os" "os/signal" "fyne.io/fyne/v2/app" ) func main() { var err error defer func() { if err == nil { if r := recover(); r != nil { err = errors.Join(err, fmt.Errorf("app panics: %v", r)) } } if err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } }() ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt) defer cancel() app := app.NewWithID("GalaxyPlus") s, err := fs.NewFS(app.Storage().RootURI().Path()) if err != nil { return } c, err := http.NewHttpConnector(ctx, "http://127.0.0.1:8080") if err != nil { return } l, err := loader.NewLoader(s, c, app) if err != nil { return } err = l.Run(ctx) }