diff options
Diffstat (limited to 'src/chef/pages')
-rw-r--r-- | src/chef/pages/recipe.clj | 29 |
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)) |