From b237484b5837292bec45183952feaf14f36101c3 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Sat, 17 Feb 2024 13:37:23 +0100 Subject: [PATCH] add links to useful websites --- assets/icons/stripe.png | Bin 0 -> 19776 bytes assets/icons/whatsapp.png | Bin 0 -> 30559 bytes internal/server/handler_booking.go | 1 + internal/server/routes.go | 2 +- internal/views/booking_by_id.templ | 9 +- internal/views/booking_by_id_templ.go | 204 ++++++++++++++------------ 6 files changed, 115 insertions(+), 101 deletions(-) create mode 100644 assets/icons/stripe.png create mode 100644 assets/icons/whatsapp.png diff --git a/assets/icons/stripe.png b/assets/icons/stripe.png new file mode 100644 index 0000000000000000000000000000000000000000..0f1076952cb116c0f704d894ed8cfb9224f1252e GIT binary patch literal 19776 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%0D~0G6`E;j5l9 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 literal 0 HcmV?d00001 diff --git a/internal/server/handler_booking.go b/internal/server/handler_booking.go index 9a675ae..47c96df 100644 --- a/internal/server/handler_booking.go +++ b/internal/server/handler_booking.go @@ -93,6 +93,7 @@ func handleBookingPage(bs *booking.Service) echo.HandlerFunc { Platform: b.Platform, PlatformFees: strconv.FormatFloat(b.PlatformFees, 'f', 2, 64), Url: templ.EscapeString(fmt.Sprintf("%s/%d/items", constants.RouteBooking, b.Id)), + PdfUrl: templ.SafeURL(fmt.Sprintf("%s/pdf/%d", constants.RouteBooking, b.Id)), Items: u.Map(b.Items, func(i booking.Item) views.ItemViewModel { return views.ItemViewModel{ Item: i.Item, diff --git a/internal/server/routes.go b/internal/server/routes.go index 9a7900a..59709e0 100644 --- a/internal/server/routes.go +++ b/internal/server/routes.go @@ -10,5 +10,5 @@ func (s Server) MountHandlers() { s.Router.POST("bookings/:id/items", handleCreateItem(s.bs)) s.Router.GET("/reports", handleReportsPage()) s.Router.GET("/reports/do", handleComputeReport(s.bs)) - s.Router.GET("/pdf", handleCreateInvoicePdf(s.ps)) + s.Router.GET("/pdf/:id", handleCreateInvoicePdf(s.bs, s.ps)) } diff --git a/internal/views/booking_by_id.templ b/internal/views/booking_by_id.templ index 528dbab..6fe3444 100644 --- a/internal/views/booking_by_id.templ +++ b/internal/views/booking_by_id.templ @@ -15,6 +15,7 @@ type BookingViewModel struct { ItemList []string PaymentMethods []string Url string + PdfUrl templ.SafeURL Total string } @@ -31,11 +32,13 @@ templ BookingById(booking *BookingViewModel) { @BaseLayout() {
-

Booking ID VFNI#{ booking.Id }

-

Manage a booking

+

Booking

+

VFNI#{ booking.Id }

diff --git a/internal/views/booking_by_id_templ.go b/internal/views/booking_by_id_templ.go index 54929d2..dbd7a29 100644 --- a/internal/views/booking_by_id_templ.go +++ b/internal/views/booking_by_id_templ.go @@ -25,6 +25,7 @@ type BookingViewModel struct { ItemList []string PaymentMethods []string Url string + PdfUrl templ.SafeURL Total string } @@ -63,7 +64,7 @@ func BookingById(booking *BookingViewModel) templ.Component { var templ_7745c5c3_Var3 string templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(booking.Id) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 33, Col: 36} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 35, Col: 25} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) if templ_7745c5c3_Err != nil { @@ -73,7 +74,8 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.Name)) + var templ_7745c5c3_Var4 templ.SafeURL = booking.PdfUrl + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var4))) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -81,7 +83,7 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.PhoneNumber)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.Name)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -89,7 +91,7 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.CustomerNumber)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.PhoneNumber)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -97,7 +99,7 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.Email)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.CustomerNumber)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -105,7 +107,7 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.From)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.Email)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -113,7 +115,7 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.To)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.From)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -121,7 +123,7 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.Platform)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.To)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -129,12 +131,7 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - var templ_7745c5c3_Var4 string - templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(booking.Platform) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 75, Col: 68} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.Platform)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -142,8 +139,21 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + var templ_7745c5c3_Var5 string + templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(booking.Platform) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 78, Col: 68} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 11) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } for _, platform := range booking.Platforms { - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 11) + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 12) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -151,25 +161,25 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 12) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - var templ_7745c5c3_Var5 string - templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(platform) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 77, Col: 44} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 13) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + var templ_7745c5c3_Var6 string + templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(platform) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 80, Col: 44} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 14) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } } - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 14) + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 15) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -177,32 +187,19 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 15) + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 16) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } for _, item := range booking.Items { - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 16) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - var templ_7745c5c3_Var6 string - templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(item.Item) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 104, Col: 22} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 17) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } var templ_7745c5c3_Var7 string - templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(item.Quantity) + templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(item.Item) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 105, Col: 26} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 107, Col: 22} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) if templ_7745c5c3_Err != nil { @@ -213,9 +210,9 @@ func BookingById(booking *BookingViewModel) templ.Component { return templ_7745c5c3_Err } var templ_7745c5c3_Var8 string - templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(item.Price) + templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(item.Quantity) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 106, Col: 23} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 108, Col: 26} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) if templ_7745c5c3_Err != nil { @@ -226,9 +223,9 @@ func BookingById(booking *BookingViewModel) templ.Component { return templ_7745c5c3_Err } var templ_7745c5c3_Var9 string - templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(item.PaymentMethod) + templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(item.Price) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 107, Col: 31} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 109, Col: 23} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) if templ_7745c5c3_Err != nil { @@ -239,9 +236,9 @@ func BookingById(booking *BookingViewModel) templ.Component { return templ_7745c5c3_Err } var templ_7745c5c3_Var10 string - templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(item.PaymentStatus) + templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(item.PaymentMethod) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 108, Col: 31} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 110, Col: 31} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) if templ_7745c5c3_Err != nil { @@ -252,9 +249,9 @@ func BookingById(booking *BookingViewModel) templ.Component { return templ_7745c5c3_Err } var templ_7745c5c3_Var11 string - templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(item.SubTotal) + templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(item.PaymentStatus) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 109, Col: 26} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 111, Col: 31} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) if templ_7745c5c3_Err != nil { @@ -264,25 +261,30 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - } - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 23) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - var templ_7745c5c3_Var12 string - templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(booking.Total) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 119, Col: 36} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err + var templ_7745c5c3_Var12 string + templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(item.SubTotal) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 112, Col: 26} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 23) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } } templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 24) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.Url)) + var templ_7745c5c3_Var13 string + templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(booking.Total) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 122, Col: 36} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -290,8 +292,16 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(booking.Url)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 26) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } for _, item := range booking.ItemList { - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 26) + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 27) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -299,30 +309,30 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 27) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - var templ_7745c5c3_Var13 string - templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(item) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 131, Col: 37} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 28) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + var templ_7745c5c3_Var14 string + templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(item) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 134, Col: 37} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 29) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } } - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 29) + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 30) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } for _, paymentMethod := range booking.PaymentMethods { - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 30) + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 31) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -330,25 +340,25 @@ func BookingById(booking *BookingViewModel) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 31) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - var templ_7745c5c3_Var14 string - templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(paymentMethod) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 147, Col: 55} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 32) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + var templ_7745c5c3_Var15 string + templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(paymentMethod) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/booking_by_id.templ`, Line: 150, Col: 55} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 33) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } } - templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 33) + templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 34) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err }