From 924f76a100dc18e6c67f637b8dbf21259b9db190 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 11 Dec 2024 19:22:50 +0100 Subject: [PATCH] refactor(images): Move sponsor images to folder and load them dynamicly --- services/templater.go | 9 ++++----- services/templates.go | 16 ++++++++++++++++ static/images/{ => sponsors}/odit.base64 | 0 static/images/{ => sponsors}/sparkasse.base64 | 0 static/images/{ => sponsors}/vrbank.base64 | 0 5 files changed, 20 insertions(+), 5 deletions(-) rename static/images/{ => sponsors}/odit.base64 (100%) rename static/images/{ => sponsors}/sparkasse.base64 (100%) rename static/images/{ => sponsors}/vrbank.base64 (100%) diff --git a/services/templater.go b/services/templater.go index 103123b..d865990 100644 --- a/services/templater.go +++ b/services/templater.go @@ -82,12 +82,11 @@ func (t *DefaultTemplater) GenerateBarcode(code string, format string, prefix st } func (t *DefaultTemplater) SelectSponsorImage(id int) (string, error) { - sponsors := []string{ - "vrbank", - "odit", - "sparkasse", + sponsors, err := ListFilesInStaticSubFolder("images/sponsors") + if err != nil { + return "", err } - return GetImage(sponsors[id%len(sponsors)]), nil + return GetImage("sponsors/" + strings.TrimSuffix(sponsors[id%len(sponsors)], ".base64")), nil } func (t *DefaultTemplater) LoadImage(name string) (string, error) { diff --git a/services/templates.go b/services/templates.go index 0fe9e4b..d318371 100644 --- a/services/templates.go +++ b/services/templates.go @@ -16,6 +16,22 @@ func GetTemplate(locale, templateName string) (string, error) { return string(content), nil } +func ListFilesInStaticSubFolder(folderName string) ([]string, error) { + files, err := os.ReadDir(fmt.Sprintf("static/%s", folderName)) + if err != nil { + log.Printf("error reading files from folder %s: %v", folderName, err) + return nil, err + } + var images []string + for _, file := range files { + if file.IsDir() { + continue + } + images = append(images, file.Name()) + } + return images, nil +} + func GetImage(imageName string) string { content, err := os.ReadFile("static/images/" + imageName + ".base64") if content == nil || err != nil { diff --git a/static/images/odit.base64 b/static/images/sponsors/odit.base64 similarity index 100% rename from static/images/odit.base64 rename to static/images/sponsors/odit.base64 diff --git a/static/images/sparkasse.base64 b/static/images/sponsors/sparkasse.base64 similarity index 100% rename from static/images/sparkasse.base64 rename to static/images/sponsors/sparkasse.base64 diff --git a/static/images/vrbank.base64 b/static/images/sponsors/vrbank.base64 similarity index 100% rename from static/images/vrbank.base64 rename to static/images/sponsors/vrbank.base64