cake-order-tracker/server/templates/helpers.go
2026-06-15 20:00:04 +02:00

76 lines
1.3 KiB
Go

package templates
import (
"encoding/json"
"strconv"
"strings"
"git.bronku.xyz/bronku/cake-order-tracker/models"
)
func CakeTitle(cake models.Cake) string {
if cake.ID != 0 {
return "Ciasto #" + strconv.Itoa(cake.ID)
}
return "Ciasto nowe"
}
func OrderTitle(order models.Order) string {
if order.ID != 0 {
return "Edytuj zamówienie #" + strconv.Itoa(order.ID)
}
return "Nowe zamówienie"
}
func cakeHasTag(tags []models.Tag, id int) bool {
for _, t := range tags {
if t.ID == id {
return true
}
}
return false
}
func tagIDsComma(tags []models.Tag) string {
ids := make([]string, len(tags))
for i, t := range tags {
ids[i] = strconv.Itoa(t.ID)
}
return strings.Join(ids, ",")
}
func tagNames(tags []models.Tag) string {
names := make([]string, len(tags))
for i, t := range tags {
names[i] = t.Name
}
return strings.Join(names, ",")
}
func orderItemsDesc(order models.Order) string {
desc := ""
for i, c := range order.Cakes {
if i > 0 {
desc += ", "
}
desc += c.Name + " (x" + strconv.Itoa(c.Amount) + ")"
}
for _, s := range order.SpecialCakes {
if desc != "" {
desc += ", "
}
desc += s.Name + " *"
}
return desc
}
func blockedDatesJSON(dates []models.BlockedDate) string {
names := make([]string, len(dates))
for i, d := range dates {
names[i] = d.Date
}
b, _ := json.Marshal(names)
return string(b)
}