package templates
import (
"strconv"
"git.bronku.xyz/bronku/cake-order-tracker/models"
)
templ OrdersPage(first, last, today, tomorrow, special string, counts models.OrderCounts, cakeCounts []models.CakeCount, specialCakes []models.SpecialCakeWithOrder, orders []models.Order) {
@Layout("Panel główny", OrdersMain(counts, cakeCounts, orders, specialCakes, first, last, special, today, tomorrow))
}
templ DateForm(first, last, today, tomorrow, special string) {
}
templ OrdersMain(counts models.OrderCounts, cakeCounts []models.CakeCount, orders []models.Order, specialCakes []models.SpecialCakeWithOrder, first, last, special, today, tomorrow string) {
@DateForm(first, last, today, tomorrow, special)
receipt_long
Aktywne
{ strconv.Itoa(counts.Active) }
Wszystkie niezrealizowane
today
Na dziś
{ strconv.Itoa(counts.DueToday) }
Do zrobienia
@OrdersContent(orders, cakeCounts, specialCakes, first, last, special)
@SpecialCakeViewOverlay()
}
templ OrdersContent(orders []models.Order, cakeCounts []models.CakeCount, specialCakes []models.SpecialCakeWithOrder, first, last, special string) {
list_alt
Aktywne zamówienia
ID zamówienia
Klient
Data odbioru
Pozycje
Suma
Status
for _, o := range orders {
@OrderRow(o)
}
@CakeBreakdown(cakeCounts)
@SpecialCakesTable(specialCakes)
}
templ OrderRow(order models.Order) {
#{ strconv.Itoa(order.ID) }
{ order.Surname } { order.Name }{ order.Phone }
{ order.Date.Format("2006-01-02 15:04") }
if len(order.SpecialCakes) > 0 {
cake
}
for i, c := range order.Cakes {
if i > 0 {
{ ", " }
}
{ c.Name } (x{ strconv.Itoa(c.Amount) })
}
for _, s := range order.SpecialCakes {
{ ", " }
{ s.Name }*
}
{ order.Total().String() } PLN
Oczekujące
Przyjęte
W realizacji
Do odbioru
Wydane
edit
}
templ SpecialCakesTable(specialCakes []models.SpecialCakeWithOrder) {
Nazwa
Klient
Data odbioru
Cena
for _, sc := range specialCakes {
{ sc.Name }
{ sc.ClientName } { sc.ClientSurname }
{ sc.OrderDate.Format("2006-01-02") }
{ sc.Price.String() } PLN
receipt_long
}
if len(specialCakes) == 0 {
Brak tortów specjalnych w tym okresie
}
}
templ SpecialCakeViewOverlay() {
cake
Tort specjalny
close
Nazwa
Cena
Wielkość
Kształt
Smak
Notatki
Klient
Data odbioru
}
templ CakeBreakdown(cakeCounts []models.CakeCount) {
Nazwa
Ilość
for _, cc := range cakeCounts {
{ cc.Name }
{ strconv.Itoa(cc.Amount) }
}
if len(cakeCounts) == 0 {
Brak ciast w tym okresie
}
}