summaryrefslogtreecommitdiff
path: root/pages/shop/_product
diff options
context:
space:
mode:
authorunwox <me@unwox.com>2025-10-30 19:01:32 +0600
committerunwox <me@unwox.com>2025-10-30 20:36:58 +0600
commit4151e7a73ef0476b4aea5a356d391a7060b8a01c (patch)
treea576a0017fa5fa0c368d39c270a1df99b79b6014 /pages/shop/_product
parentb06fdc9c3b4b6dc0d5d60098303dd57d5c098e13 (diff)
small improvements here and there
Diffstat (limited to 'pages/shop/_product')
-rw-r--r--pages/shop/_product/edit.fnl2
-rw-r--r--pages/shop/_product/index.fnl21
2 files changed, 16 insertions, 7 deletions
diff --git a/pages/shop/_product/edit.fnl b/pages/shop/_product/edit.fnl
index 3995096..2568aff 100644
--- a/pages/shop/_product/edit.fnl
+++ b/pages/shop/_product/edit.fnl
@@ -63,7 +63,7 @@
(values 302 {:Location "/shop"} "")
(if request.form
(let [data (forms.html-form->data product-form request.form db)
- errors (forms.validate-form product-form data)
+ errors (forms.validate product-form data)
has-errors? (not (lib.empty-table? errors))]
(if has-errors?
(values 400 {} (templates.base (content product-form data errors
diff --git a/pages/shop/_product/index.fnl b/pages/shop/_product/index.fnl
index 0dd5ff9..aabd713 100644
--- a/pages/shop/_product/index.fnl
+++ b/pages/shop/_product/index.fnl
@@ -41,7 +41,7 @@
[name]))
1))
-(fn content [product basket authenticated?]
+(fn content [product basket agreed-to-cookies? authenticated?]
(local redirect-url (.. "/shop/" product.name))
(local images [])
(for [i 1 5]
@@ -50,9 +50,13 @@
[(HTML
[:aside {}
(templates.header "/shop" authenticated?)
- (if (< 0 (# basket)) (templates.basket basket redirect-url) "")])
+ (if (< 0 (# basket)) (templates.basket basket redirect-url) "")
+ (templates.address-block)
+ (templates.conditions-block)
+ (templates.contact-block)])
(HTML
[:div {:class "content"}
+ (if (not agreed-to-cookies?) (templates.cookies-agreement) "")
[:div {:class "back"} [:a {:href "/shop"} "⟵ Обратно к списку"]]
[:div {:class "product-page-layout"}
@@ -64,8 +68,8 @@
[:a {:href (.. "/shop/" product.name "/edit")}
"% Редактировать"]])
"")
+ (templates.product-overview product "mb-0-25")
(templates.add-to-basket-form product basket "mb-0-5" redirect-url)
- (templates.product-overview product "mb-0-5")
[:div {:class "mb-1" :style "font-style: italic;"}
product.short-description]
@@ -93,11 +97,16 @@
(HTML [:img {:class "product-page-img" :src (.. link "-thumbnail.jpg")}]))]))))]]])])
(fn render [request db authenticated?]
- (let [product (find-product db request.params._product)
- order-id (shop.order-id request)
+ (let [agreed-to-cookies? request.cookies.agreed-to-cookies
+ product (find-product db request.params._product)
+ order-id request.cookies.order
basket (if order-id (shop.basket db order-id) [])]
(if (and product (or product.published authenticated?))
- (values 200 {} (templates.base (content product basket authenticated?)))
+ (values 200 {}
+ (templates.base
+ (content product basket agreed-to-cookies? authenticated?)
+ product.title
+ (.. "Купить " product.title " в Омске: " product.short-description)))
(values 404 {} "not found"))))
{: render}