diff --git a/internal/service/booking/payment.go b/internal/service/booking/payment.go new file mode 100644 index 0000000..876c221 --- /dev/null +++ b/internal/service/booking/payment.go @@ -0,0 +1,10 @@ +package booking + +import "gorm.io/gorm" + +type Payment struct { + gorm.Model + BookingID int + Amount float64 + PaymentMethod string +} diff --git a/internal/view/booking_by_id.templ b/internal/view/booking_by_id.templ index 0984178..575e62e 100644 --- a/internal/view/booking_by_id.templ +++ b/internal/view/booking_by_id.templ @@ -141,7 +141,7 @@ templ PaymentModal(paymentUrl string) { class="py-4 space-y-4" hx-post={ paymentUrl } hx-target="#line-items" - hx-swap="innerHTML" + hx-swap="outerHTML" hx-on::after-request="if(event.detail.successful) payment_modal.close()" >
diff --git a/internal/view/booking_by_id_templ.go b/internal/view/booking_by_id_templ.go index 2eb2dc6..02c2212 100644 --- a/internal/view/booking_by_id_templ.go +++ b/internal/view/booking_by_id_templ.go @@ -277,7 +277,7 @@ func PaymentModal(paymentUrl string) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\" hx-target=\"#line-items\" hx-swap=\"innerHTML\" hx-on::after-request=\"if(event.detail.successful) payment_modal.close()\">
") + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\" hx-target=\"#line-items\" hx-swap=\"outerHTML\" hx-on::after-request=\"if(event.detail.successful) payment_modal.close()\">
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/internal/view/item_list.templ b/internal/view/item_list.templ new file mode 100644 index 0000000..3ad63f5 --- /dev/null +++ b/internal/view/item_list.templ @@ -0,0 +1,9 @@ +package view + +templ ItemList(itemList ItemListViewModel) { + + for _, item := range itemList.Items { + @LineItem(&item) + } + +} diff --git a/internal/view/item_list_templ.go b/internal/view/item_list_templ.go new file mode 100644 index 0000000..68e8cb5 --- /dev/null +++ b/internal/view/item_list_templ.go @@ -0,0 +1,50 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.819 +package view + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func ItemList(itemList ItemListViewModel) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for _, item := range itemList.Items { + templ_7745c5c3_Err = LineItem(&item).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/internal/view/item_list_viewmodel.go b/internal/view/item_list_viewmodel.go new file mode 100644 index 0000000..9f30fd9 --- /dev/null +++ b/internal/view/item_list_viewmodel.go @@ -0,0 +1,5 @@ +package view + +type ItemListViewModel struct { + Items []ItemViewModel +}