package main import ( "github.com/diamondburned/cchat-gtk/internal/gts" "github.com/diamondburned/cchat-gtk/internal/log" "github.com/diamondburned/cchat-gtk/internal/ui" "github.com/diamondburned/cchat-gtk/internal/ui/config" "github.com/diamondburned/cchat/services" "github.com/pkg/errors" _ "github.com/diamondburned/cchat-discord" _ "github.com/diamondburned/cchat-mock" ) // destructor is used for debugging and profiling. var destructor = func() {} func main() { gts.Main(func() gts.WindowHeaderer { var app = ui.NewApplication() // Load all cchat services. srvcs, errs := services.Get() if len(errs) > 0 { for _, err := range errs { log.Error(err) } } // Add the services. for _, srvc := range srvcs { app.AddService(srvc) } // Restore the configs. if err := config.Restore(); err != nil { log.Error(errors.Wrap(err, "Failed to restore config")) } return app }) destructor() }