From 79d322de149359f063438e80da8ab0d8d8be1b27 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sat, 6 Mar 2021 14:21:30 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=9A=20Embed=20the=20resources?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index 5be9ea4..370b404 100644 --- a/main.go +++ b/main.go @@ -1,9 +1,9 @@ package main import ( + "embed" "encoding/json" "fmt" - "os" "sync" "fyne.io/fyne/v2" @@ -15,6 +15,9 @@ import ( "github.com/sahilm/fuzzy" ) +//go:embed data/gitmojis.json data/images +var data embed.FS + type Gitmoji struct { Emoji string Code string @@ -65,13 +68,13 @@ func main() { currentId := 0 for i, gitmoji := range gitmojiData.Gitmojis { - res, err := fyne.LoadResourceFromPath("data/images/" + gitmoji.Name + ".png") + b, err := data.ReadFile("data/images/" + gitmoji.Name + ".png") if err != nil { panic(err) } allEntries[i] = &GitmojiEntry{ Gitmoji: gitmoji, - Icon: res, + Icon: fyne.NewStaticResource(gitmoji.Name, b), } allTerms[i] = gitmoji.Name + " " + gitmoji.Description } @@ -195,15 +198,14 @@ func main() { } func loadData() (*GitmojiData, error) { - f, err := os.Open("data/gitmojis.json") + b, err := data.ReadFile("data/gitmojis.json") if err != nil { - return nil, fmt.Errorf("cannot load gitmoji file: %w", err) + return nil, fmt.Errorf("cannot read gitmoji data: %w", err) } - defer f.Close() var result GitmojiData - if err := json.NewDecoder(f).Decode(&result); err != nil { - return nil, fmt.Errorf("cannot load gitmoji file: %w", err) + if err := json.Unmarshal(b, &result); err != nil { + return nil, fmt.Errorf("cannot decode gitmoji data: %w", err) } return &result, nil