Add support for custom item and category producers

This commit is contained in:
2024-04-13 17:14:32 +02:00
parent 2b28ab568a
commit 5f55559eae

View File

@@ -6,14 +6,15 @@
(def profile #{:t-shirt :tablet})
(defn produce-category-name [category i18n]
(str "### " (get i18n category)))
(let [producer (or (:category-producer i18n) #(str "### " %))]
(producer (get i18n category))))
(defn produce-item [item nights i18n]
(let [quantity (if (= (type (:quantity item)) java.lang.Long) (:quantity item) ((:quantity item) nights))
quantity-long (long (Math/ceil quantity))
quantity-string (if (> quantity-long 1) (str " x" quantity-long) "")
name (or (get i18n (:key item)) (:name item))]
(str "- [ ] " name quantity-string)))
quantity-long (long (Math/ceil quantity))
name (or (get i18n (:key item)) (:name item))
producer (or (:item-producer i18n) #(str "- [ ] " %1 (if (> %2 1) (str " x" %2) "")))]
(producer name quantity-long)))
(defn produce-items [items nights i18n]
(->> items