51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"embed"
|
|
"log"
|
|
|
|
"git.dumerain.org/alban/paycheck/app"
|
|
|
|
"github.com/wailsapp/wails/v2"
|
|
"github.com/wailsapp/wails/v2/pkg/options"
|
|
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
|
|
)
|
|
|
|
/*
|
|
Wails embarque des fichiers statiques (le build du frontend) dans le binaire Go.
|
|
⚠️ Go exige que le pattern //go:embed matche au moins 1 fichier.
|
|
C'est pourquoi on garde un fichier placeholder: frontend/dist/.keep
|
|
*/
|
|
//go:embed frontend/dist/*
|
|
var assets embed.FS
|
|
|
|
func main() {
|
|
// Instance de l'application Wails (backend Go)
|
|
application := app.NewApp()
|
|
|
|
// Lancement de la fenêtre desktop + serveur d'assets
|
|
err := wails.Run(&options.App{
|
|
Title: "Paychek - Give me my fuc** money",
|
|
Width: 980,
|
|
Height: 720,
|
|
MinWidth: 880,
|
|
MinHeight: 640,
|
|
|
|
AssetServer: &assetserver.Options{
|
|
Assets: assets,
|
|
},
|
|
|
|
BackgroundColour: &options.RGBA{R: 245, G: 245, B: 245, A: 1},
|
|
|
|
OnStartup: application.Startup,
|
|
|
|
// Méthodes exportées au frontend via "wailsjs"
|
|
Bind: []interface{}{
|
|
application,
|
|
},
|
|
})
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|