generated from dave/wails-template
68 lines
1.2 KiB
Go
68 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"embed"
|
|
"fmt"
|
|
"log"
|
|
"net/url"
|
|
|
|
"github.com/wailsapp/wails/v2"
|
|
"github.com/wailsapp/wails/v2/pkg/options"
|
|
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
|
|
)
|
|
|
|
//go:embed all:frontend/dist
|
|
var assets embed.FS
|
|
|
|
type Addon struct {
|
|
Name string
|
|
URL *url.URL
|
|
}
|
|
|
|
func NewAddon(name, aurl string) *Addon {
|
|
a := &Addon{Name: name}
|
|
var err error
|
|
a.URL, err = url.Parse(aurl)
|
|
if err != nil {
|
|
fmt.Errorf("invalid url: %s", aurl)
|
|
return nil
|
|
}
|
|
return a
|
|
}
|
|
|
|
var addons = []*Addon{
|
|
NewAddon("Channeler", "https://git.site.quack-lab.dev/dave/wow_channeler"),
|
|
}
|
|
|
|
func (a *Addon) GetToc() *url.URL {
|
|
return a.URL.JoinPath(a.Name + ".toc")
|
|
}
|
|
|
|
func main() {
|
|
for _, addon := range addons {
|
|
log.Printf("%#v", addon.GetToc())
|
|
}
|
|
return
|
|
// Create an instance of the app structure
|
|
app := NewApp()
|
|
|
|
// Create application with options
|
|
err := wails.Run(&options.App{
|
|
Title: "wails-template",
|
|
Width: 1024,
|
|
Height: 768,
|
|
AssetServer: &assetserver.Options{
|
|
Assets: assets,
|
|
},
|
|
BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
|
|
OnStartup: app.startup,
|
|
Bind: []interface{}{
|
|
app,
|
|
},
|
|
})
|
|
|
|
if err != nil {
|
|
println("Error:", err.Error())
|
|
}
|
|
}
|