refactor(templates): Dynamic image loading

This commit is contained in:
Nicolai Ort 2024-12-09 17:28:53 +01:00
parent c5dc4f7e79
commit 11a9b51197
Signed by: niggl
GPG Key ID: 13AFA55AF62F269F
7 changed files with 14 additions and 11 deletions

View File

@ -47,15 +47,12 @@ func GenerateContract(c *fiber.Ctx) error {
}) })
} }
sponsoringHeader := services.GetImage("sponsoringheader")
genConfig := &models.ContractTemplateOptions{ genConfig := &models.ContractTemplateOptions{
Runners: contract.Runners, Runners: contract.Runners,
CurrencySymbol: "€", CurrencySymbol: "€",
Disclaimer: "This is a disclaimer", Disclaimer: "This is a disclaimer",
ReceiptMinimumAmount: 10, ReceiptMinimumAmount: 10,
EventName: "Event name", EventName: "Event name",
SponsoringHeader: sponsoringHeader,
BarcodeFormat: "ean13", BarcodeFormat: "ean13",
BarcodePrefix: "1", BarcodePrefix: "1",
} }

View File

@ -90,7 +90,11 @@ func (t *DefaultTemplater) SelectSponsorImage(id int) (string, error) {
return GetImage(sponsors[id%len(sponsors)]), nil return GetImage(sponsors[id%len(sponsors)]), nil
} }
func FormatUnit(unit string, locale string, amount int) (string, error) { func (t *DefaultTemplater) LoadImage(name string) (string, error) {
return GetImage(name), nil
}
func (t *DefaultTemplater) FormatUnit(unit string, locale string, amount int) (string, error) {
var formatted string var formatted string
switch unit { switch unit {
case "kilometer": case "kilometer":
@ -111,7 +115,8 @@ func (t *DefaultTemplater) StringToTemplate(templateString string) (*template.Te
return template.New("template").Funcs(template.FuncMap{ return template.New("template").Funcs(template.FuncMap{
"barcode": t.GenerateBarcode, "barcode": t.GenerateBarcode,
"sponsorLogo": t.SelectSponsorImage, "sponsorLogo": t.SelectSponsorImage,
"formatUnit": FormatUnit, "formatUnit": t.FormatUnit,
"loadImage": t.LoadImage,
}).Parse(templateString) }).Parse(templateString)
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -27,7 +27,7 @@
<body class="A5 landscape"> <body class="A5 landscape">
{{ range .Runners }} {{ range .Runners }}
<div class="sheet"> <div class="sheet">
<img id="header_img" width="100%" src="data:image/png;base64,{{ $.SponsoringHeader}}" /> <img id="header_img" width="100%" src="data:image/png;base64,{{ loadImage "sponsoringheader" }}" />
<div style=" padding: 0 1rem 0 1rem;"> <div style=" padding: 0 1rem 0 1rem;">
<div class="columns"> <div class="columns">
<div class="column is-10"> <div class="column is-10">

View File

@ -27,7 +27,7 @@
<body class="A5 landscape"> <body class="A5 landscape">
{{ range .Runners }} {{ range .Runners }}
<div class="sheet"> <div class="sheet">
<img id="header_img" width="100%" src="data:image/png;base64,{{ $.SponsoringHeader}}" /> <img id="header_img" width="100%" src="data:image/png;base64,{{ loadImage "sponsoringheader" }}" />
<div style=" padding: 0 1rem 0 1rem;"> <div style=" padding: 0 1rem 0 1rem;">
<div class="columns"> <div class="columns">
<div class="column is-10"> <div class="column is-10">