From 763bb35a452937694b36f633af46f379511d0e73 Mon Sep 17 00:00:00 2001 From: kalipso Date: Mon, 14 Apr 2025 11:29:27 +0200 Subject: [PATCH] set item amount at cart --- controllers/cartItemController.go | 21 +++++++++++ static/output.css | 60 +++++++++++-------------------- views/cart.html | 28 ++++----------- views/orderpreview.html | 5 --- 4 files changed, 48 insertions(+), 66 deletions(-) diff --git a/controllers/cartItemController.go b/controllers/cartItemController.go index 2f305ef..f21632a 100644 --- a/controllers/cartItemController.go +++ b/controllers/cartItemController.go @@ -337,6 +337,27 @@ func (rc *cartItemController) EditItemHandler(c *gin.Context) { action := c.PostForm("action") + if action == "setAmount" { + amountStr := c.PostForm("amount") + amount, err := strconv.Atoi(amountStr) + + if err != nil { + c.HTML(http.StatusBadRequest, "error.html", gin.H{"error": err}) + return + } + + if amount < 0 { + c.HTML(http.StatusBadRequest, "error.html", gin.H{"error": "amount cant be negative"}) + return + } + if amount > 500 { + c.HTML(http.StatusBadRequest, "error.html", gin.H{"error": "amount cant be over 500"}) + return + } + + cartItem.Quantity = amount + } + if action == "increase" { cartItem.Quantity += 1 } diff --git a/static/output.css b/static/output.css index 5677efe..ea38322 100644 --- a/static/output.css +++ b/static/output.css @@ -738,10 +738,6 @@ video { width: 33.333333%; } -.w-10 { - width: 2.5rem; -} - .w-12 { width: 3rem; } @@ -908,10 +904,6 @@ video { border-radius: 1.5rem; } -.rounded-\[50px\] { - border-radius: 50px; -} - .rounded-full { border-radius: 9999px; } @@ -933,6 +925,11 @@ video { border-bottom-left-radius: 0.375rem; } +.rounded-l { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + .border { border-width: 1px; } @@ -1068,6 +1065,11 @@ video { background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1)); } +.bg-indigo-300 { + --tw-bg-opacity: 1; + background-color: rgb(165 180 252 / var(--tw-bg-opacity, 1)); +} + .bg-indigo-600 { --tw-bg-opacity: 1; background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1)); @@ -1228,12 +1230,18 @@ video { background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1)); } -.fill-red-50 { - fill: #fef2f2; +.bg-indigo-400 { + --tw-bg-opacity: 1; + background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1)); } -.stroke-gray-900 { - stroke: #111827; +.bg-indigo-500 { + --tw-bg-opacity: 1; + background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1)); +} + +.fill-red-50 { + fill: #fef2f2; } .stroke-red-500 { @@ -1735,11 +1743,6 @@ video { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } -.shadow-transparent { - --tw-shadow-color: transparent; - --tw-shadow: var(--tw-shadow-colored); -} - .outline { outline-style: solid; } @@ -1785,10 +1788,6 @@ video { outline-offset: 2px; } -.focus-within\:outline-gray-300:focus-within { - outline-color: #d1d5db; -} - .focus-within\:outline-red-500:focus-within { outline-color: #ef4444; } @@ -1808,11 +1807,6 @@ video { --tw-ring-offset-width: 2px; } -.hover\:border-gray-300:hover { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity, 1)); -} - .hover\:bg-blue-700:hover { --tw-bg-opacity: 1; background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1)); @@ -1828,11 +1822,6 @@ video { background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1)); } -.hover\:bg-gray-50:hover { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)); -} - .hover\:bg-gray-700:hover { --tw-bg-opacity: 1; background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)); @@ -1881,11 +1870,6 @@ video { text-decoration-line: none; } -.hover\:shadow-gray-200:hover { - --tw-shadow-color: #e5e7eb; - --tw-shadow: var(--tw-shadow-colored); -} - .focus\:z-10:focus { z-index: 10; } @@ -1964,10 +1948,6 @@ video { fill: #f87171; } -.group:hover .group-hover\:stroke-black { - stroke: #000; -} - .group:hover .group-hover\:stroke-white { stroke: #fff; } diff --git a/views/cart.html b/views/cart.html index 373981d..aeaa5cf 100644 --- a/views/cart.html +++ b/views/cart.html @@ -33,28 +33,14 @@

-
- -

{{ .Quantity }}

- -
+
{{ .Quantity}} x {{ .ItemVariant.Price }}€
@@ -88,7 +74,7 @@

Shipping calculated at checkout

+ class="rounded py-4 px-6 bg-indigo-500 text-white font-semibold text-lg w-full text-center transition-all duration-500 hover:bg-indigo-700 ">Checkout
diff --git a/views/orderpreview.html b/views/orderpreview.html index 4ea2093..3b920d8 100644 --- a/views/orderpreview.html +++ b/views/orderpreview.html @@ -74,11 +74,6 @@ -
- - -
-