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 @@
@@ -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 @@
-
-