package main import ( "embed" "encoding/json" "log" "github.com/afkarxyz/SpotiFLAC/backend" "github.com/wailsapp/wails/v2" "github.com/wailsapp/wails/v2/pkg/options" "github.com/wailsapp/wails/v2/pkg/options/assetserver" "github.com/wailsapp/wails/v2/pkg/options/windows" ) //go:embed all:frontend/dist var assets embed.FS //go:embed wails.json var wailsJSON []byte func main() { type wailsInfo struct { Info struct { ProductVersion string `json:"productVersion"` } `json:"info"` } var config wailsInfo if err := json.Unmarshal(wailsJSON, &config); err == nil && config.Info.ProductVersion != "" { backend.AppVersion = config.Info.ProductVersion } app := NewApp() err := wails.Run(&options.App{ Title: "SpotiFLAC", Width: 1024, Height: 600, MinWidth: 1024, MinHeight: 600, Frameless: true, AssetServer: &assetserver.Options{ Assets: assets, }, BackgroundColour: &options.RGBA{R: 0, G: 0, B: 0, A: 255}, OnStartup: app.startup, OnShutdown: app.shutdown, DragAndDrop: &options.DragAndDrop{ EnableFileDrop: true, DisableWebViewDrop: false, CSSDropProperty: "--wails-drop-target", CSSDropValue: "drop", }, Bind: []interface{}{ app, }, Windows: &windows.Options{ WebviewIsTransparent: false, WindowIsTranslucent: false, DisableWindowIcon: false, DisableFramelessWindowDecorations: false, }, }) if err != nil { log.Fatal("Error:", err.Error()) } }