diff options
| author | unwox <me@unwox.com> | 2025-09-05 10:24:45 +0600 |
|---|---|---|
| committer | unwox <me@unwox.com> | 2025-09-05 13:45:31 +0600 |
| commit | 996f9a20ad329dfc8bb35945b44471bfae315ada (patch) | |
| tree | edcf562ab7e5a1fd1b7a8a2f50d4c1371c718416 /pages/shop/order.fnl | |
| parent | 66c51b0e714fa8a1c80784108191270babc8525e (diff) | |
small fixes
Diffstat (limited to 'pages/shop/order.fnl')
| -rw-r--r-- | pages/shop/order.fnl | 74 |
1 files changed, 36 insertions, 38 deletions
diff --git a/pages/shop/order.fnl b/pages/shop/order.fnl index 6edaf8a..50e12da 100644 --- a/pages/shop/order.fnl +++ b/pages/shop/order.fnl @@ -1,45 +1,47 @@ +(import-macros {:compile-html HTML} :macros) (local lib (require :lib)) (local templates (require :templates)) -(local html (require :vendor.html)) (fn content-template [db basket basket-total] - [[:div {:class "side"} - (templates.header "/shop/order")] - [:div {:class "content"} - (if (< 0 (# basket)) - [:section {} - [:h2 {} "Состав заказа"] - [:div {} - (table.unpack - (icollect [_ item (ipairs basket)] - (templates.basket-item item "/shop/order")))] - [:div {} "~~~"] - [:div {:class "basket-total"} (.. "Итого: " basket-total "₽")]] - "") - [:section {} - [:h2 {} "Данные для связи"] - [:form {:class "form" :method "POST"} - [:div {:class "form-row"} - [:label {:for "name"} "Имя"] - [:input {:type "text" :id "name" :name "name" :required "required"}]] - [:div {:class "form-row"} - [:label {:for "contact"} "Телеграм или Email для связи"] - [:input {:type "text" :id "contact" :name "contact" :required "required"}]] - [:div {:class "form-row"} - [:input {:type "checkbox" :id "everything-is-correct" - :name "everything-is-correct" :required "required"}] - [:label {:for "everything-is-correct"} "Данные заказа верны"]] - [:div {:class "form-row"} - [:input {:type "checkbox" :id "agree-to-conditions" - :name "agree-to-conditions" :required "required"}] - [:label {:for "agree-to-conditions"} "Согласен с условиями"]] - [:button {:type "submit"} "Оформить заказ"]]]]]) + [(HTML + [:div {:class "side"} + (templates.header "/shop/order")]) + (HTML + [:div {:class "content"} + (if (< 0 (# basket)) + [:section {} + [:h2 {} "Состав заказа"] + [:div {} + (table.unpack + (icollect [_ item (ipairs basket)] + (templates.basket-item item "/shop/order")))] + [:div {} "~~~"] + [:div {:class "basket-total"} (.. "Итого: " basket-total "₽")]] + "") + [:section {} + [:h2 {} "Данные для связи"] + [:form {:class "form" :method "POST"} + [:div {:class "form-row"} + [:label {:for "name"} "Имя"] + [:input {:type "text" :id "name" :name "name" :required "required"}]] + [:div {:class "form-row"} + [:label {:for "contact"} "Телеграм или Email для связи"] + [:input {:type "text" :id "contact" :name "contact" :required "required"}]] + [:div {:class "form-row"} + [:input {:type "checkbox" :id "everything-is-correct" + :name "everything-is-correct" :required "required"}] + [:label {:for "everything-is-correct"} "Данные заказа верны"]] + [:div {:class "form-row"} + [:input {:type "checkbox" :id "agree-to-conditions" + :name "agree-to-conditions" :required "required"}] + [:label {:for "agree-to-conditions"} "Согласен с условиями"]] + [:button {:type "submit"} "Оформить заказ"]]]])]) (fn place-order [db order-id form] (_G.must (luna.db.exec db "UPDATE orders SET placement_time = ?, first_name = ?, contact = ?" - [(os.date "%Y-%m-%d %H:%M:%S") form.name form.contact]))) + [(lib.now) form.name form.contact]))) (fn render [request db] (let [order-id (lib.order-id request) @@ -51,11 +53,7 @@ (place-order db order-id (lib.parse-values request.body)) (values 302 {:Location "/shop/success"} "")) (if (< 0 (# basket)) - (values - 200 {} - (html.render - (templates.base (content-template db basket basket-total)) - true)) + (values 200 {} (templates.base (content-template db basket basket-total))) (values 302 {:Location "/shop"} ""))))) {: render} |
