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()"
>
")
+ 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
+}