summaryrefslogtreecommitdiff
path: root/src/chef/pages/recipe.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/chef/pages/recipe.clj')
-rw-r--r--src/chef/pages/recipe.clj29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/chef/pages/recipe.clj b/src/chef/pages/recipe.clj
index 84f999c..be88b2d 100644
--- a/src/chef/pages/recipe.clj
+++ b/src/chef/pages/recipe.clj
@@ -8,7 +8,7 @@
[ring.util.response :as ruresp])
(:import java.io.File))
-(defn- render [recipe]
+(defn- render [portions recipe]
(cutils/gen-page (str "chef - " (:recipes/title recipe))
[:div {:style {:margin-left "1em"}}
[:div
@@ -22,20 +22,27 @@
(jdbc/execute! @cdb/db)
first)) ")")]]
(when (some? (cutils/get-thumbnail-file recipe))
- [:img {:src (str "/recipes/" (:recipes/id recipe) "/thumbnail")
+ [:img {:src (str "/recipes/" (:recipes/id recipe) "/thumbnail")
:width "50%"}])
- [:h2 (str "Zutaten"
- (condp = (:recipes/unit recipe)
- 0 " pro Portion"
- 1 " pro Person"
- "")
- ":")]
+ [:h2
+ "Zutaten pro "
+ [:input {:type :number
+ :value portions
+ :style {:width "3em"
+ :display :inline-block}
+ "_" "on change go to url `?portions=${value of me}`"}]
+ (condp = (:recipes/unit recipe)
+ 0 " Portion(en)"
+ 1 " Person(en)"
+ "")
+ ":"]
[:ul (for [ingredient (-> recipe
:recipes/ingredients
cutils/parse-ingredients)]
[:li
[:b (:description ingredient)] ": "
- (:amount ingredient) (:unit ingredient)])]
+ (* (:amount ingredient) portions)
+ (:unit ingredient)])]
[:h2 "Zubereitung"]
(->> (:recipes/preparation recipe)
cstr/split-lines
@@ -50,7 +57,9 @@
sql/format
(jdbc/execute! @cdb/db)
first
- render
+ (render (or (try (Integer/parseInt (get-in req [:params "portions"]))
+ (catch Exception _ nil))
+ 1))
html/html
str
ruresp/response))