66 lines
1.3 KiB
Go
66 lines
1.3 KiB
Go
package templates
|
|
|
|
import (
|
|
_ "embed"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
//go:embed card/en.html
|
|
var CardTemplateEn string
|
|
|
|
//go:embed card/de.html
|
|
var CardTemplateDe string
|
|
|
|
//go:embed contract/en.html
|
|
var ContractTemplateEn string
|
|
|
|
//go:embed contract/de.html
|
|
var ContractTemplateDe string
|
|
|
|
//go:embed certificate/de.html
|
|
var CertificateTemplateDe string
|
|
|
|
//go:embed images/sponsoringheader.base64
|
|
var ImageSponsoringHeaderBase64 string
|
|
|
|
//go:embed images/error.base64
|
|
var ImageErrorBase64 string
|
|
|
|
func GetTemplate(locale, templateName string) (string, error) {
|
|
switch templateName {
|
|
case "card":
|
|
switch locale {
|
|
case "en":
|
|
return CardTemplateEn, nil
|
|
case "de":
|
|
return CardTemplateDe, nil
|
|
}
|
|
case "contract":
|
|
switch locale {
|
|
case "en":
|
|
return ContractTemplateEn, nil
|
|
case "de":
|
|
return ContractTemplateDe, nil
|
|
}
|
|
case "certificate":
|
|
switch locale {
|
|
case "en":
|
|
return ContractTemplateEn, nil
|
|
case "de":
|
|
return CertificateTemplateDe, nil
|
|
}
|
|
}
|
|
return "", fmt.Errorf("template not found with name %s and locale %s", templateName, locale)
|
|
}
|
|
|
|
func GetImage(imageName string) string {
|
|
content, err := os.ReadFile("static/images/" + imageName + ".base64")
|
|
if content == nil || err != nil {
|
|
log.Printf("error reading image %s: %v", imageName, err)
|
|
return ImageErrorBase64
|
|
}
|
|
return string(content)
|
|
}
|