From b7be5cd325828cb3118d9cc32d176fef297f96a6 Mon Sep 17 00:00:00 2001 From: Kaibu Date: Sun, 26 Sep 2021 11:55:50 +0200 Subject: [PATCH] meal plan fixes added the option to create entries from recipe card context menu --- README.md | 4 +- cookbook/static/vue/cookbook_view.html | 2 +- cookbook/static/vue/css/meal_plan_view.css | 2 +- cookbook/static/vue/js/chunk-2d0da313.js | 1 + cookbook/static/vue/js/cookbook_view.js | 2 +- cookbook/static/vue/js/meal_plan_view.js | 2 +- cookbook/static/vue/js/model_list_view.js | 2 +- cookbook/static/vue/js/recipe_search_view.js | 2 +- cookbook/static/vue/js/recipe_view.js | 2 +- cookbook/static/vue/meal_plan_view.html | 2 +- cookbook/static/vue/model_list_view.html | 2 +- cookbook/static/vue/recipe_search_view.html | 2 +- cookbook/static/vue/recipe_view.html | 2 +- cookbook/templates/sw.js | 2 +- vue/src/apps/MealPlanView/MealPlanView.vue | 4 +- vue/src/components/MealPlanCard.vue | 8 ++- vue/src/components/MealPlanEditModal.vue | 18 ++++--- vue/src/components/RecipeContextMenu.vue | 54 +++++++++++++++++--- vue/webpack-stats.json | 4 ++ 19 files changed, 88 insertions(+), 29 deletions(-) create mode 100644 cookbook/static/vue/js/chunk-2d0da313.js diff --git a/README.md b/README.md index 1e118996..7e323aa8 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ +

@@ -19,7 +20,8 @@

InstallationDocumentation • -Demo +Demo • +Discord server

![Preview](docs/preview.png) diff --git a/cookbook/static/vue/cookbook_view.html b/cookbook/static/vue/cookbook_view.html index d70d1e55..1fe715be 100644 --- a/cookbook/static/vue/cookbook_view.html +++ b/cookbook/static/vue/cookbook_view.html @@ -1 +1 @@ -Vue App
\ No newline at end of file +Vue App
\ No newline at end of file diff --git a/cookbook/static/vue/css/meal_plan_view.css b/cookbook/static/vue/css/meal_plan_view.css index 058534f2..d4635563 100644 --- a/cookbook/static/vue/css/meal_plan_view.css +++ b/cookbook/static/vue/css/meal_plan_view.css @@ -1 +1 @@ -.context-menu[data-v-b808df3a]{position:fixed;z-index:999;overflow:hidden;background:#fff;border-radius:4px;box-shadow:0 1px 4px 0 #eee}.context-menu[data-v-b808df3a]:focus{outline:none}.context-menu ul[data-v-b808df3a]{padding:0;margin:0}.dropdown-menu[data-v-b808df3a]{display:block;position:relative}.touchable[data-v-18b1d8a0]{padding-right:2em;padding-left:2em;margin-right:-2em;margin-left:-2em}.meal-plan-card[data-v-23768466]{background-color:#fff}.theme-default .cv-day.draghover[data-v-23768466]{box-shadow:inset 0 0 .2em .2em grey}.calender-parent{display:flex;flex-direction:column;flex-grow:1;overflow-x:hidden;overflow-y:hidden;max-height:80vh;min-height:40rem}.cv-item{white-space:inherit!important}.isHovered{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.cv-day.draghover{box-shadow:inset 0 0 .2em .2em grey!important}.modal-backdrop{opacity:.5} \ No newline at end of file +.context-menu[data-v-b808df3a]{position:fixed;z-index:999;overflow:hidden;background:#fff;border-radius:4px;box-shadow:0 1px 4px 0 #eee}.context-menu[data-v-b808df3a]:focus{outline:none}.context-menu ul[data-v-b808df3a]{padding:0;margin:0}.dropdown-menu[data-v-b808df3a]{display:block;position:relative}.touchable[data-v-18b1d8a0]{padding-right:2em;padding-left:2em;margin-right:-2em;margin-left:-2em}.meal-plan-card[data-v-78d97e94]{background-color:#fff}.theme-default .cv-day.draghover[data-v-78d97e94]{box-shadow:inset 0 0 .2em .2em grey}.calender-parent{display:flex;flex-direction:column;flex-grow:1;overflow-x:hidden;overflow-y:hidden;max-height:80vh;min-height:40rem}.cv-item{white-space:inherit!important}.isHovered{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.cv-day.draghover{box-shadow:inset 0 0 .2em .2em grey!important}.modal-backdrop{opacity:.5} \ No newline at end of file diff --git a/cookbook/static/vue/js/chunk-2d0da313.js b/cookbook/static/vue/js/chunk-2d0da313.js new file mode 100644 index 00000000..e819a86c --- /dev/null +++ b/cookbook/static/vue/js/chunk-2d0da313.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0da313"],{"6b0a":function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[i("a",{attrs:{href:e.clickUrl()}},[i("b-card-img-lazy",{staticStyle:{height:"15vh","object-fit":"cover"},attrs:{src:e.recipe_image,alt:e.$t("Recipe_Image"),top:""}}),i("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right pt-2 pr-1"},[i("a",[null!==e.recipe?i("recipe-context-menu",{staticClass:"float-right",attrs:{recipe:e.recipe}}):e._e()],1)]),0!==e.recipe.waiting_time?i("div",{staticClass:"card-img-overlay w-50 d-flex flex-column justify-content-left float-left text-left pt-2"},[i("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"light"}},[i("i",{staticClass:"fa fa-clock"}),e._v(" "+e._s(e.recipe.working_time)+" "+e._s(e.$t("min"))+" ")]),i("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"secondary"}},[i("i",{staticClass:"fa fa-pause"}),e._v(" "+e._s(e.recipe.waiting_time)+" "+e._s(e.$t("min"))+" ")])],1):e._e()],1),i("b-card-body",{staticClass:"p-4"},[i("h6",[i("a",{attrs:{href:e.clickUrl()}},[null!==e.recipe?[e._v(e._s(e.recipe.name))]:[e._v(e._s(e.meal_plan.title))]],2)]),i("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[null!==e.recipe?[i("recipe-rating",{attrs:{recipe:e.recipe}}),null!==e.recipe.description?[e.recipe.description.length>e.text_length?i("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?i("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),i("p",{staticClass:"mt-1"},[i("last-cooked",{attrs:{recipe:e.recipe}}),i("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?i("div",{staticClass:"row mt-3"},[i("div",{staticClass:"col-md-12"},[i("h6",{staticClass:"card-title"},[i("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),i("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[i("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():i("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?i("b-card-footer",[i("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},r=[],s=i("fc0d"),n=i("81d5"),c=i("fa7d"),l=i("ca5b"),o=i("c1df"),p=i.n(o),d=i("a026"),_=i("830a"),f=i("118a");d["default"].prototype.moment=p.a;var m={name:"RecipeCard",mixins:[c["d"]],components:{LastCooked:_["a"],RecipeRating:l["a"],Keywords:n["a"],RecipeContextMenu:s["a"],Ingredient:f["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(c["k"])("view_recipe",this.recipe.id):Object(c["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},u=m,g=i("2877"),h=Object(g["a"])(u,a,r,!1,null,"2338d8bc",null);t["default"]=h.exports}}]); \ No newline at end of file diff --git a/cookbook/static/vue/js/cookbook_view.js b/cookbook/static/vue/js/cookbook_view.js index 2bb9a0c4..4da84c7a 100644 --- a/cookbook/static/vue/js/cookbook_view.js +++ b/cookbook/static/vue/js/cookbook_view.js @@ -1 +1 @@ -(function(e){function t(t){for(var n,a,c=t[0],s=t[1],u=t[2],p=0,l=[];p{child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},c=a,s=(r("1efb"),r("2877")),u=Object(s["a"])(c,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,c,s,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",j=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},O=function(e){for(var t=[],r=1;r1?r("recipe-card",{key:e.display_recipes[0],attrs:{recipe:e.display_recipes[0].recipe_content}}):e._e()],1)],1),r("div",{staticClass:"col-md-5"},[r("transition",{attrs:{name:"flip",mode:"out-in"}},[1===e.current_page?r("cookbook-toc",{attrs:{recipes:e.recipes},on:{switchRecipe:function(t){return e.switchRecipe(t)}}}):e._e()],1),r("transition",{attrs:{name:"flip"}},[e.current_page>1&&2===e.display_recipes.length?r("recipe-card",{key:e.display_recipes[1],attrs:{recipe:e.display_recipes[1].recipe_content}}):e._e()],1)],1),r("div",{staticClass:"col-md-1",staticStyle:{cursor:"pointer"},on:{click:e.swipeLeft}})])])},u=[],d=(r("fb6a"),r("6b0a")),p=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("b-card-header",{staticClass:"p-4"},[r("h5",[e._v(e._s(e.book_copy.icon)+" "+e._s(e.book_copy.name)+" "),r("span",{staticClass:"float-right text-primary",on:{click:e.editOrSave}},[r("i",{staticClass:"fa",class:{"fa-pen":!e.editing,"fa-save":e.editing},attrs:{"aria-hidden":"true"}})])]),e._l(e.book_copy.shared,(function(t){return r("b-badge",{key:t.id,staticClass:"font-weight-normal mr-1",attrs:{variant:"primary",pill:""}},[e._v(e._s(t.username))])}))],2),r("b-card-body",{staticClass:"p-4"},[e.editing?r("div",{staticClass:"form-group"},[r("label",{attrs:{for:"inputName1"}},[e._v(e._s(e.$t("Name")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.book_copy.name,expression:"book_copy.name"}],staticClass:"form-control",attrs:{id:"inputName1",placeholder:"Name"},domProps:{value:e.book_copy.name},on:{input:function(t){t.target.composing||e.$set(e.book_copy,"name",t.target.value)}}})]):e._e(),e.editing?r("div",{staticClass:"form-group"},[r("emoji-input",{attrs:{field:"icon",label:e.$t("Icon"),value:e.book_copy.icon}})],1):e._e(),e.editing?r("div",{staticClass:"form-group"},[r("label",{attrs:{for:"inputDesc1"}},[e._v(e._s(e.$t("Description")))]),r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.book_copy.description,expression:"book_copy.description"}],staticClass:"form-control",attrs:{id:"inputDesc1",rows:"3"},domProps:{value:e.book_copy.description},on:{input:function(t){t.target.composing||e.$set(e.book_copy,"description",t.target.value)}}})]):e._e(),e.editing?r("div",{staticClass:"form-group"},[r("label",{attrs:{for:"inputDesc1"}},[e._v(e._s(e.$t("Share")))]),r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{parent_variable:"book.shared",initial_selection:e.book.shared,label:"username",model:e.Models.USER_NAME,placeholder:e.$t("Share"),limit:50},on:{change:function(t){e.book_copy.shared=t.val}}})],1):e._e(),e.editing?r("button",{staticClass:"btn btn-danger",on:{click:e.deleteBook}},[e._v(e._s(e.$t("Delete")))]):e._e(),e.editing?r("button",{staticClass:"btn btn-primary float-right",on:{click:e.editOrSave}},[e._v(e._s(e.$t("Save")))]):e._e(),e.editing?e._e():r("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[e._v(" "+e._s(e.book_copy.description)+" ")])],1)],1)},l=[],h=r("fa7d"),f=r("b05e"),b=r("7432"),m={name:"CookbookEditCard",components:{EmojiInput:f["a"],GenericMultiselect:b["a"]},mixins:[h["a"]],props:{book:Object},data:function(){return{editing:!1,book_copy:{},users:[]}},mounted:function(){this.book_copy=this.book,this.$root.$on("change",this.updateEmoji)},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}},methods:{editOrSave:function(){this.editing?(this.editing=!1,this.saveData(),this.$emit("editing",!1)):(this.editing=!0,this.$emit("editing",!0))},updateEmoji:function(e,t){"icon"===e&&(this.book_copy.icon=t)},saveData:function(){var e=new c["a"];e.updateRecipeBook(this.book_copy.id,this.book_copy).then((function(e){h["e"].makeStandardToast(h["e"].SUCCESS_UPDATE)})).catch((function(e){h["e"].makeStandardToast(h["e"].FAIL_UPDATE)}))},refreshData:function(){var e=this,t=new c["a"];t.listUsers().then((function(t){e.users=t.data}))},deleteBook:function(){var e=this;if(confirm(this.$t("delete_confirmation",{source:this.book.name}))){var t=new c["a"];t.destroyRecipeBook(this.book.id).then((function(t){e.$emit("refresh"),h["e"].makeStandardToast(h["e"].SUCCESS_DELETE)})).catch((function(e){h["e"].makeStandardToast(h["e"].FAIL_DELETE)}))}}}},v=m,j=r("2877"),O=Object(j["a"])(v,p,l,!1,null,"02662cc6",null),g=O.exports,y=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("b-card-header",{staticClass:"p-4"},[r("h5",[e._v(e._s(e.$t("TableOfContents")))])]),r("b-card-body",{staticClass:"p-4"},[r("ol",{staticClass:"mb-1",staticStyle:{"max-height":"60vh","overflow-y":"auto","-webkit-overflow-scrolling":"touch"}},e._l(e.recipes,(function(t,n){return r("li",{key:n,on:{click:function(t){return e.$emit("switchRecipe",n)}}},[r("a",{attrs:{href:"#"}},[e._v(e._s(t.recipe_content.name)+" "),r("recipe-rating",{attrs:{recipe:t}})],1)])})),0),0===e.recipes.length?r("b-card-text",[e._v(" "+e._s(e.$t("Empty"))+" ")]):e._e()],1)],1)},_=[],S=r("ca5b"),k={name:"CookbookToc",components:{RecipeRating:S["a"]},props:{recipes:Array},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},w=k,P=Object(j["a"])(w,y,_,!1,null,"b4e94926",null),R=P.exports,U=r("0086"),C=r.n(U);n["default"].use(C.a);var L={name:"CookbookSlider.vue",components:{CookbookToc:R,CookbookEditCard:g,RecipeCard:d["a"]},props:{recipes:Array,book:Object},computed:{page_count_pagination:function(){return this.recipes.length+2},page_count:function(){return Math.ceil(this.page_count_pagination/this.per_page_count)}},data:function(){return{display_recipes:[],current_page:1,per_page_count:2,bounce_left:!1,bounce_right:!1,cookbook_editing:!1}},methods:{pageChange:function(e){this.current_page=e,this.display_recipes=this.recipes.slice(2*(this.current_page-1-1),2*(this.current_page-1))},swipeLeft:function(){var e=this;this.cookbook_editing||(this.current_page1?this.pageChange(this.current_page-1):(this.bounce_right=!0,setTimeout((function(){return e.bounce_right=!1}),500)))},switchRecipe:function(e){this.pageChange(Math.ceil((e+1)/this.per_page_count)+1)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},E=L,I=(r("f056"),Object(j["a"])(E,s,u,!1,null,"8633bda0",null)),T=I.exports,x=r("d76c");n["default"].use(a["a"]);var A={name:"CookbookView",mixins:[],components:{LoadingSpinner:x["a"],CookbookSlider:T},data:function(){return{cookbooks:[],book_background:window.IMAGE_BOOK,recipes:[],current_book:void 0,loading:!1,search:""}},computed:{filteredBooks:function(){var e=this;return this.cookbooks.filter((function(t){return t.name.toLowerCase().includes(e.search.toLowerCase())}))}},mounted:function(){this.refreshData(),this.$i18n.locale=window.CUSTOM_LOCALE},methods:{refreshData:function(){var e=this,t=new c["a"];t.listRecipeBooks().then((function(t){e.cookbooks=t.data}))},openBook:function(e){var t=this;if(e===this.current_book)return this.current_book=void 0,void(this.recipes=[]);this.loading=!0;var r=new c["a"];this.current_book=e,r.listRecipeBookEntrys({query:{book:e}}).then((function(e){t.recipes=e.data,t.loading=!1}))},createNew:function(){var e=this,t=new c["a"];t.createRecipeBook({name:"New Book",description:"",icon:"",shared:[]}).then((function(t){t.data;e.refreshData(),h["e"].makeStandardToast(h["e"].SUCCESS_CREATE)})).catch((function(e){h["e"].makeStandardToast(h["e"].FAIL_CREATE)}))}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},F=A,B=(r("e649"),Object(j["a"])(F,i,o,!1,null,null,null)),M=B.exports,N=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:N["a"],render:function(e){return e(M)}}).$mount("#app")},"6b0a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("a",{attrs:{href:e.clickUrl()}},[r("b-card-img-lazy",{staticStyle:{height:"15vh","object-fit":"cover"},attrs:{src:e.recipe_image,alt:e.$t("Recipe_Image"),top:""}}),r("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right pt-2 pr-1"},[r("a",[null!==e.recipe?r("recipe-context-menu",{staticClass:"float-right",attrs:{recipe:e.recipe}}):e._e()],1)]),0!==e.recipe.waiting_time?r("div",{staticClass:"card-img-overlay w-50 d-flex flex-column justify-content-left float-left text-left pt-2"},[r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"light"}},[r("i",{staticClass:"fa fa-clock"}),e._v(" "+e._s(e.recipe.working_time)+" "+e._s(e.$t("min"))+" ")]),r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"secondary"}},[r("i",{staticClass:"fa fa-pause"}),e._v(" "+e._s(e.recipe.waiting_time)+" "+e._s(e.$t("min"))+" ")])],1):e._e()],1),r("b-card-body",{staticClass:"p-4"},[r("h6",[r("a",{attrs:{href:e.clickUrl()}},[null!==e.recipe?[e._v(e._s(e.recipe.name))]:[e._v(e._s(e.meal_plan.title))]],2)]),r("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[null!==e.recipe?[r("recipe-rating",{attrs:{recipe:e.recipe}}),null!==e.recipe.description?[e.recipe.description.length>e.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),c=r("fa7d"),s=r("ca5b"),u=r("c1df"),d=r.n(u),p=r("a026"),l=r("830a"),h=r("118a");p["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[c["d"]],components:{LastCooked:l["a"],RecipeRating:s["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(c["k"])("view_recipe",this.recipe.id):Object(c["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"2338d8bc",null);t["a"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),c=r("fa7d"),s={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[c["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=s,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=p.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return c}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){s(e,"There was an error loading a resource!","danger")}))}function c(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){s(e,"There was an error creating a resource!","danger")}))}function s(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},8:function(e,t,r){e.exports=r("6805")},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,c=r("2877"),s=Object(c["a"])(a,n,i,!1,null,null,null);t["a"]=s.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),c={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},s=c,u=r("2877"),d=Object(u["a"])(s,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},b05e:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.label}},[r("twemoji-textarea",{ref:"_edit_"+e.id,attrs:{initialContent:e.value,emojiData:e.emojiDataAll,emojiGroups:e.emojiGroups,triggerType:"hover",recentEmojisFeat:"true",recentEmojisStorage:"local"},on:{contentChanged:e.setIcon}})],1)],1)},i=[],o=r("ad23"),a=r("34ef"),c=r("0d08"),s={name:"EmojiInput",components:{TwemojiTextarea:o["a"]},props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:""},value:{type:String,default:""}},data:function(){return{new_value:void 0,id:null}},computed:{emojiDataAll:function(){return a},emojiGroups:function(){return c}},watch:{new_value:function(){var e;this.$root.$emit("change",this.field,null!==(e=this.new_value)&&void 0!==e?e:null)}},mounted:function(){this.id=this._uid},methods:{prepareEmoji:function(){this.$refs["_edit_"+this.id].addText(this.this_item.icon||""),this.$refs["_edit_"+this.id].blur(),document.getElementById("btn-emoji-default").disabled=!0},setIcon:function(e){this.new_value=e}}},u=s,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,null,null);t["a"]=p.exports},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,c=r("2877"),s=Object(c["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=s.exports},cb25:function(e,t,r){},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),c=r("c1df"),s=r.n(c),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=s.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"row"},[r("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[r("img",{staticClass:"spinner-tandoor",style:{height:e.size+"vh"},attrs:{alt:"loading spinner",src:""}})])])},i=[],o=(r("a9e3"),{name:"LoadingSpinner",props:{recipe:Object,size:{type:Number,default:30}}}),a=o,c=r("2877"),s=Object(c["a"])(a,n,i,!1,null,null,null);t["a"]=s.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},e649:function(e,t,r){"use strict";r("3d0c")},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f056:function(e,t,r){"use strict";r("cb25")},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return O})),r.d(t,"j",(function(){return g})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return R})),r.d(t,"a",(function(){return C})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),c=r("53ca"),s=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var c=(n+o)/(i+a);if(e===c){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var s=Math.floor(n/i);return[s,n-s*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),j=r("a026"),O={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return g(e,t,r)}}};function g(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var y=function(){function e(){Object(s["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:g(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:g(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:g(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:g(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:g(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:g(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:g(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:g(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(c["a"])(t))return window.Urls[e](t);if("object"==Object(c["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function R(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return U(e*t)}function U(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var C={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),c=o.function,s=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n{child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r1?r("recipe-card",{key:e.display_recipes[0],attrs:{recipe:e.display_recipes[0].recipe_content}}):e._e()],1)],1),r("div",{staticClass:"col-md-5"},[r("transition",{attrs:{name:"flip",mode:"out-in"}},[1===e.current_page?r("cookbook-toc",{attrs:{recipes:e.recipes},on:{switchRecipe:function(t){return e.switchRecipe(t)}}}):e._e()],1),r("transition",{attrs:{name:"flip"}},[e.current_page>1&&2===e.display_recipes.length?r("recipe-card",{key:e.display_recipes[1],attrs:{recipe:e.display_recipes[1].recipe_content}}):e._e()],1)],1),r("div",{staticClass:"col-md-1",staticStyle:{cursor:"pointer"},on:{click:e.swipeLeft}})])])},u=[],d=(r("fb6a"),r("6b0a")),p=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("b-card-header",{staticClass:"p-4"},[r("h5",[e._v(e._s(e.book_copy.icon)+" "+e._s(e.book_copy.name)+" "),r("span",{staticClass:"float-right text-primary",on:{click:e.editOrSave}},[r("i",{staticClass:"fa",class:{"fa-pen":!e.editing,"fa-save":e.editing},attrs:{"aria-hidden":"true"}})])]),e._l(e.book_copy.shared,(function(t){return r("b-badge",{key:t.id,staticClass:"font-weight-normal mr-1",attrs:{variant:"primary",pill:""}},[e._v(e._s(t.username))])}))],2),r("b-card-body",{staticClass:"p-4"},[e.editing?r("div",{staticClass:"form-group"},[r("label",{attrs:{for:"inputName1"}},[e._v(e._s(e.$t("Name")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.book_copy.name,expression:"book_copy.name"}],staticClass:"form-control",attrs:{id:"inputName1",placeholder:"Name"},domProps:{value:e.book_copy.name},on:{input:function(t){t.target.composing||e.$set(e.book_copy,"name",t.target.value)}}})]):e._e(),e.editing?r("div",{staticClass:"form-group"},[r("emoji-input",{attrs:{field:"icon",label:e.$t("Icon"),value:e.book_copy.icon}})],1):e._e(),e.editing?r("div",{staticClass:"form-group"},[r("label",{attrs:{for:"inputDesc1"}},[e._v(e._s(e.$t("Description")))]),r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.book_copy.description,expression:"book_copy.description"}],staticClass:"form-control",attrs:{id:"inputDesc1",rows:"3"},domProps:{value:e.book_copy.description},on:{input:function(t){t.target.composing||e.$set(e.book_copy,"description",t.target.value)}}})]):e._e(),e.editing?r("div",{staticClass:"form-group"},[r("label",{attrs:{for:"inputDesc1"}},[e._v(e._s(e.$t("Share")))]),r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{parent_variable:"book.shared",initial_selection:e.book.shared,label:"username",model:e.Models.USER_NAME,placeholder:e.$t("Share"),limit:50},on:{change:function(t){e.book_copy.shared=t.val}}})],1):e._e(),e.editing?r("button",{staticClass:"btn btn-danger",on:{click:e.deleteBook}},[e._v(e._s(e.$t("Delete")))]):e._e(),e.editing?r("button",{staticClass:"btn btn-primary float-right",on:{click:e.editOrSave}},[e._v(e._s(e.$t("Save")))]):e._e(),e.editing?e._e():r("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[e._v(" "+e._s(e.book_copy.description)+" ")])],1)],1)},l=[],h=r("fa7d"),f=r("b05e"),b=r("7432"),m={name:"CookbookEditCard",components:{EmojiInput:f["a"],GenericMultiselect:b["a"]},mixins:[h["a"]],props:{book:Object},data:function(){return{editing:!1,book_copy:{},users:[]}},mounted:function(){this.book_copy=this.book,this.$root.$on("change",this.updateEmoji)},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}},methods:{editOrSave:function(){this.editing?(this.editing=!1,this.saveData(),this.$emit("editing",!1)):(this.editing=!0,this.$emit("editing",!0))},updateEmoji:function(e,t){"icon"===e&&(this.book_copy.icon=t)},saveData:function(){var e=new s["a"];e.updateRecipeBook(this.book_copy.id,this.book_copy).then((function(e){h["e"].makeStandardToast(h["e"].SUCCESS_UPDATE)})).catch((function(e){h["e"].makeStandardToast(h["e"].FAIL_UPDATE)}))},refreshData:function(){var e=this,t=new s["a"];t.listUsers().then((function(t){e.users=t.data}))},deleteBook:function(){var e=this;if(confirm(this.$t("delete_confirmation",{source:this.book.name}))){var t=new s["a"];t.destroyRecipeBook(this.book.id).then((function(t){e.$emit("refresh"),h["e"].makeStandardToast(h["e"].SUCCESS_DELETE)})).catch((function(e){h["e"].makeStandardToast(h["e"].FAIL_DELETE)}))}}}},v=m,g=r("2877"),j=Object(g["a"])(v,p,l,!1,null,"02662cc6",null),O=j.exports,y=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("b-card-header",{staticClass:"p-4"},[r("h5",[e._v(e._s(e.$t("TableOfContents")))])]),r("b-card-body",{staticClass:"p-4"},[r("ol",{staticClass:"mb-1",staticStyle:{"max-height":"60vh","overflow-y":"auto","-webkit-overflow-scrolling":"touch"}},e._l(e.recipes,(function(t,n){return r("li",{key:n,on:{click:function(t){return e.$emit("switchRecipe",n)}}},[r("a",{attrs:{href:"#"}},[e._v(e._s(t.recipe_content.name)+" "),r("recipe-rating",{attrs:{recipe:t}})],1)])})),0),0===e.recipes.length?r("b-card-text",[e._v(" "+e._s(e.$t("Empty"))+" ")]):e._e()],1)],1)},_=[],S=r("ca5b"),k={name:"CookbookToc",components:{RecipeRating:S["a"]},props:{recipes:Array},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},w=k,P=Object(g["a"])(w,y,_,!1,null,"b4e94926",null),R=P.exports,C=r("0086"),U=r.n(C);n["default"].use(U.a);var L={name:"CookbookSlider.vue",components:{CookbookToc:R,CookbookEditCard:O,RecipeCard:d["default"]},props:{recipes:Array,book:Object},computed:{page_count_pagination:function(){return this.recipes.length+2},page_count:function(){return Math.ceil(this.page_count_pagination/this.per_page_count)}},data:function(){return{display_recipes:[],current_page:1,per_page_count:2,bounce_left:!1,bounce_right:!1,cookbook_editing:!1}},methods:{pageChange:function(e){this.current_page=e,this.display_recipes=this.recipes.slice(2*(this.current_page-1-1),2*(this.current_page-1))},swipeLeft:function(){var e=this;this.cookbook_editing||(this.current_page1?this.pageChange(this.current_page-1):(this.bounce_right=!0,setTimeout((function(){return e.bounce_right=!1}),500)))},switchRecipe:function(e){this.pageChange(Math.ceil((e+1)/this.per_page_count)+1)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},E=L,I=(r("f056"),Object(g["a"])(E,c,u,!1,null,"8633bda0",null)),T=I.exports,x=r("d76c");n["default"].use(a["a"]);var A={name:"CookbookView",mixins:[],components:{LoadingSpinner:x["a"],CookbookSlider:T},data:function(){return{cookbooks:[],book_background:window.IMAGE_BOOK,recipes:[],current_book:void 0,loading:!1,search:""}},computed:{filteredBooks:function(){var e=this;return this.cookbooks.filter((function(t){return t.name.toLowerCase().includes(e.search.toLowerCase())}))}},mounted:function(){this.refreshData(),this.$i18n.locale=window.CUSTOM_LOCALE},methods:{refreshData:function(){var e=this,t=new s["a"];t.listRecipeBooks().then((function(t){e.cookbooks=t.data}))},openBook:function(e){var t=this;if(e===this.current_book)return this.current_book=void 0,void(this.recipes=[]);this.loading=!0;var r=new s["a"];this.current_book=e,r.listRecipeBookEntrys({query:{book:e}}).then((function(e){t.recipes=e.data,t.loading=!1}))},createNew:function(){var e=this,t=new s["a"];t.createRecipeBook({name:"New Book",description:"",icon:"",shared:[]}).then((function(t){t.data;e.refreshData(),h["e"].makeStandardToast(h["e"].SUCCESS_CREATE)})).catch((function(e){h["e"].makeStandardToast(h["e"].FAIL_CREATE)}))}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},M=A,F=(r("e649"),Object(g["a"])(M,i,o,!1,null,null,null)),B=F.exports,N=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:N["a"],render:function(e){return e(B)}}).$mount("#app")},"6b0a":function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("a",{attrs:{href:e.clickUrl()}},[r("b-card-img-lazy",{staticStyle:{height:"15vh","object-fit":"cover"},attrs:{src:e.recipe_image,alt:e.$t("Recipe_Image"),top:""}}),r("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right pt-2 pr-1"},[r("a",[null!==e.recipe?r("recipe-context-menu",{staticClass:"float-right",attrs:{recipe:e.recipe}}):e._e()],1)]),0!==e.recipe.waiting_time?r("div",{staticClass:"card-img-overlay w-50 d-flex flex-column justify-content-left float-left text-left pt-2"},[r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"light"}},[r("i",{staticClass:"fa fa-clock"}),e._v(" "+e._s(e.recipe.working_time)+" "+e._s(e.$t("min"))+" ")]),r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"secondary"}},[r("i",{staticClass:"fa fa-pause"}),e._v(" "+e._s(e.recipe.waiting_time)+" "+e._s(e.$t("min"))+" ")])],1):e._e()],1),r("b-card-body",{staticClass:"p-4"},[r("h6",[r("a",{attrs:{href:e.clickUrl()}},[null!==e.recipe?[e._v(e._s(e.recipe.name))]:[e._v(e._s(e.meal_plan.title))]],2)]),r("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[null!==e.recipe?[r("recipe-rating",{attrs:{recipe:e.recipe}}),null!==e.recipe.description?[e.recipe.description.length>e.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),p=r("a026"),l=r("830a"),h=r("118a");p["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:l["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"2338d8bc",null);t["default"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=p.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},8:function(e,t,r){e.exports=r("6805")},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},b05e:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.label}},[r("twemoji-textarea",{ref:"_edit_"+e.id,attrs:{initialContent:e.value,emojiData:e.emojiDataAll,emojiGroups:e.emojiGroups,triggerType:"hover",recentEmojisFeat:"true",recentEmojisStorage:"local"},on:{contentChanged:e.setIcon}})],1)],1)},i=[],o=r("ad23"),a=r("34ef"),s=r("0d08"),c={name:"EmojiInput",components:{TwemojiTextarea:o["a"]},props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:""},value:{type:String,default:""}},data:function(){return{new_value:void 0,id:null}},computed:{emojiDataAll:function(){return a},emojiGroups:function(){return s}},watch:{new_value:function(){var e;this.$root.$emit("change",this.field,null!==(e=this.new_value)&&void 0!==e?e:null)}},mounted:function(){this.id=this._uid},methods:{prepareEmoji:function(){this.$refs["_edit_"+this.id].addText(this.this_item.icon||""),this.$refs["_edit_"+this.id].blur(),document.getElementById("btn-emoji-default").disabled=!0},setIcon:function(e){this.new_value=e}}},u=c,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,null,null);t["a"]=p.exports},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},cb25:function(e,t,r){},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"row"},[r("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[r("img",{staticClass:"spinner-tandoor",style:{height:e.size+"vh"},attrs:{alt:"loading spinner",src:""}})])])},i=[],o=(r("a9e3"),{name:"LoadingSpinner",props:{recipe:Object,size:{type:Number,default:30}}}),a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},e649:function(e,t,r){"use strict";r("3d0c")},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f056:function(e,t,r){"use strict";r("cb25")},f347:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-modal",{attrs:{id:e.modal_id,size:"lg",title:e.modal_title,"hide-footer":"","aria-label":""}},[r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-12"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-6 col-lg-9"},[r("b-input-group",[r("b-form-input",{attrs:{id:"TitleInput",placeholder:e.entryEditing.title_placeholder},model:{value:e.entryEditing.title,callback:function(t){e.$set(e.entryEditing,"title",t)},expression:"entryEditing.title"}}),r("b-input-group-append",{staticClass:"d-none d-lg-block"},[r("b-button",{attrs:{variant:"primary"},on:{click:function(t){e.entryEditing.title=""}}},[r("i",{staticClass:"fa fa-eraser"})])],1)],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Title")))])],1),r("div",{staticClass:"col-6 col-lg-3"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.date,expression:"entryEditing.date"}],staticClass:"form-control",attrs:{type:"date",id:"DateInput"},domProps:{value:e.entryEditing.date},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"date",t.target.value)}}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Date")))])])]),r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-12 col-lg-6 col-xl-6"},[r("b-form-group",[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.entryEditing_initial_recipe,label:"name",model:e.Models.RECIPE,placeholder:e.$t("Recipe"),limit:10,multiple:!1},on:{change:e.selectRecipe}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Recipe")))])],1),r("b-form-group",{staticClass:"mt-3"},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{required:"",label:"name",model:e.Models.MEAL_TYPE,placeholder:e.$t("MealType"),limit:10,multiple:!1,initial_selection:e.entryEditing_initial_meal_type},on:{change:e.selectMealType}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("MealType")))])],1),r("b-form-group",{staticClass:"mt-3",attrs:{"label-for":"NoteInput",description:e.$t("Note")}},[r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.note,expression:"entryEditing.note"}],staticClass:"form-control",attrs:{id:"NoteInput",placeholder:e.$t("Note")},domProps:{value:e.entryEditing.note},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"note",t.target.value)}}})]),r("b-input-group",[r("b-form-input",{attrs:{id:"ServingsInput",placeholder:e.$t("Servings")},model:{value:e.entryEditing.servings,callback:function(t){e.$set(e.entryEditing,"servings",t)},expression:"entryEditing.servings"}})],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Servings")))])],1),r("div",{staticClass:"col-lg-6 d-none d-lg-block d-xl-block"},[null!=e.entryEditing.recipe?r("recipe-card",{attrs:{recipe:e.entryEditing.recipe}}):e._e()],1)]),r("div",{staticClass:"row mt-3 mb-3"},[r("div",{staticClass:"col-12"},[e.allow_delete?r("b-button",{attrs:{variant:"danger"},on:{click:e.deleteEntry}},[e._v(e._s(e.$t("Delete"))+" ")]):e._e(),r("b-button",{staticClass:"float-right",attrs:{variant:"primary"},on:{click:e.editEntry}},[e._v(e._s(e.$t("Save")))])],1)])])])])},i=[],o=(r("d3b7"),r("3ca3"),r("ddb0"),r("b0c0"),r("a026")),a=r("5f5b"),s=r("7432"),c=r("fa7d");o["default"].use(a["a"]);var u={name:"MealPlanEditModal",props:{entry:Object,entryEditing_initial_recipe:Array,entryEditing_initial_meal_type:Array,modal_title:String,modal_id:{type:String,default:"edit-modal"},allow_delete:{type:Boolean,default:!0}},mixins:[c["a"]],components:{GenericMultiselect:s["a"],RecipeCard:function(){return r.e("chunk-2d0da313").then(r.bind(null,"6b0a"))}},data:function(){return{entryEditing:{}}},watch:{entry:{handler:function(){this.entryEditing=Object.assign({},this.entry)},deep:!0}},methods:{editEntry:function(){null!=this.entryEditing.meal_type?null!=this.entryEditing.recipe||""!==this.entryEditing.title?(this.$bvModal.hide("edit-modal"),this.$emit("save-entry",this.entryEditing)):alert("Need title or recipe"):alert("Need Meal type")},deleteEntry:function(){this.$bvModal.hide("edit-modal"),this.$emit("delete-entry",this.entryEditing)},selectMealType:function(e){null!=e.val?this.entryEditing.meal_type=e.val:this.entryEditing.meal_type=null},selectRecipe:function(e){null!=e.val?(this.entryEditing.recipe=e.val,this.entryEditing.title_placeholder=this.entryEditing.recipe.name,this.entryEditing.servings=this.entryEditing.recipe.servings):(this.entryEditing.recipe=null,this.entryEditing.title_placeholder="",this.entryEditing.servings=1)}}},d=u,p=r("2877"),l=Object(p["a"])(d,n,i,!1,null,"7564c819",null);t["a"]=l.exports},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return O})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return R})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return O(e,t,r)}}};function O(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:O(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:O(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:O(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:O(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:O(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:O(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:O(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:O(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function R(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return C(e*t)}function C(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n{child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1b20":function(e,t,r){},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"21d7":function(e,t,r){"use strict";r("1b20")},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},O=function(e){for(var t=[],r=1;re.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),p=r("a026"),l=r("830a"),h=r("118a");p["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:l["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"2338d8bc",null);t["a"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=p.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},"84cf":function(e,t,r){"use strict";r("a0c0")},9:function(e,t,r){e.exports=r("d315")},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a0c0:function(e,t,r){},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},b07c:function(e,t,r){},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d315:function(e,t,r){"use strict";r.r(t);r("e260"),r("e6cf"),r("cca6"),r("a79d");var n=r("a026"),i=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("div",{staticClass:"row"},[r("div",{staticClass:"col-12 calender-parent"},[r("calendar-view",{staticClass:"theme-default",attrs:{"show-date":e.showDate,"enable-date-selection":!0,items:e.plan_items,"display-period-uom":e.settings.displayPeriodUom,"period-changed-callback":e.refreshData,"enable-drag-drop":!0,"item-content-height":e.item_height,"display-period-count":e.settings.displayPeriodCount,"starting-day-of-week":e.settings.startingDayOfWeek,"display-week-numbers":e.settings.displayWeekNumbers},on:{"date-selection-finish":e.createEntryRange,"click-date":e.createEntryClick,"drop-on-date":e.moveEntry},scopedSlots:e._u([{key:"item",fn:function(t){var n=t.value,i=t.weekStartDate,o=t.top;return[r("meal-plan-card",{attrs:{value:n,"week-start-date":i,top:o,detailed:e.detailed_items,item_height:e.item_height},on:{dragstart:function(t){e.dragged_item=n},"click-item":e.entryClick}})]}},{key:"header",fn:function(t){var n=t.headerProps;return[r("calendar-view-header",{attrs:{"header-props":n},on:{input:e.setShowDate}})]}}])})],1)]),r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-3 calender-options"},[r("h5",[e._v(e._s(e.$t("CalenderSettings")))]),r("b-form",[r("b-form-group",{attrs:{id:"UomInput",label:e.$t("Period"),description:e.$t("PeriodToShow"),"label-for":"UomInput"}},[r("b-form-select",{attrs:{id:"UomInput",options:e.options.displayPeriodUom},model:{value:e.settings.displayPeriodUom,callback:function(t){e.$set(e.settings,"displayPeriodUom",t)},expression:"settings.displayPeriodUom"}})],1),r("b-form-group",{attrs:{id:"PeriodInput",label:e.$t("PeriodCount"),description:e.$t("ShowHowManyPeriods"),"label-for":"PeriodInput"}},[r("b-form-select",{attrs:{id:"PeriodInput",options:e.options.displayPeriodCount},model:{value:e.settings.displayPeriodCount,callback:function(t){e.$set(e.settings,"displayPeriodCount",t)},expression:"settings.displayPeriodCount"}})],1),r("b-form-group",{attrs:{id:"DaysInput",label:e.$t("StartingDay"),description:e.$t("StartingDay"),"label-for":"DaysInput"}},[r("b-form-select",{attrs:{id:"DaysInput",options:e.dayNames},model:{value:e.settings.startingDayOfWeek,callback:function(t){e.$set(e.settings,"startingDayOfWeek",t)},expression:"settings.startingDayOfWeek"}})],1)],1)],1),r("div",{staticClass:"col-6"},[r("h5",[e._v(e._s(e.$t("MealTypes")))]),r("b-form"),e._e()],1)]),r("ContextMenu",{ref:"menu",scopedSlots:e._u([{key:"menu",fn:function(t){var n=t.contextData;return[r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.openEntryEdit(n.originalItem.entry)}}},[r("a",{staticClass:"dropdown-item p-2",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-pen"}),e._v(" "+e._s(e.$t("Edit")))])]),r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.moveEntryLeft(n)}}},[r("a",{staticClass:"dropdown-item p-2",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-arrow-left"}),e._v(" "+e._s(e.$t("DayBack")))])]),r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.moveEntryRight(n)}}},[r("a",{staticClass:"dropdown-item p-2",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-arrow-right"}),e._v(" "+e._s(e.$t("DayForward")))])]),r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.createEntry(n.originalItem.entry)}}},[r("a",{staticClass:"dropdown-item p-2",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-copy"}),e._v(" "+e._s(e.$t("Clone")))])]),r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.deleteEntry(n)}}},[r("a",{staticClass:"dropdown-item p-2 text-danger",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-trash"}),e._v(" "+e._s(e.$t("Delete")))])])]}}])}),r("meal-plan-edit-modal",{attrs:{entry:e.entryEditing,entryEditing_initial_recipe:e.entryEditing_initial_recipe,"entry-editing_initial_meal_type":e.entryEditing_initial_meal_type,edit_modal_show:e.edit_modal_show},on:{"save-entry":e.editEntry,"delete-entry":e.deleteEntry}})],1)},o=[],a=(r("159b"),r("4de4"),r("a434"),r("b0c0"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{directives:[{name:"show",rawName:"v-show",value:e.isVisible,expression:"isVisible"},{name:"click-outside",rawName:"v-click-outside",value:e.close,expression:"close"}],ref:"popper",staticClass:"context-menu",attrs:{tabindex:"-1"},on:{"!contextmenu":function(e){e.preventDefault()}}},[r("ul",{staticClass:"dropdown-menu",attrs:{role:"menu"}},[e._t("menu",null,{contextData:e.contextData})],2)])}),s=[],c=r("f0bd"),u=r("e67d"),d=r.n(u);c["a"].Defaults.modifiers.computeStyle.gpuAcceleration=!1;var p={name:"ContextMenu.vue",props:{boundariesElement:{type:String,default:"body"}},components:{},data:function(){return{opened:!1,contextData:{}}},directives:{ClickOutside:d.a},computed:{isVisible:function(){return this.opened}},methods:{open:function(e,t){var r=this;this.opened=!0,this.contextData=t,this.popper&&this.popper.destroy(),this.popper=new c["a"](this.referenceObject(e),this.$refs.popper,{placement:"right-start",modifiers:{preventOverflow:{boundariesElement:document.querySelector(this.boundariesElement)}}}),this.$nextTick((function(){r.popper.scheduleUpdate()}))},close:function(){this.opened=!1,this.contextData=null},referenceObject:function(e){var t=e.clientX,r=e.clientY,n=t+1,i=r+1,o=1,a=1;function s(){return{left:t,top:r,right:n,bottom:i}}var c={getBoundingClientRect:s,clientWidth:o,clientHeight:a};return c}},beforeUnmount:function(){void 0!==this.popper&&this.popper.destroy()}},l=p,h=(r("84cf"),r("2877")),f=Object(h["a"])(l,a,s,!1,null,"b808df3a",null),b=f.exports,m=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("li",{attrs:{role:"presentation"},on:{click:function(t){return e.$emit("click",t)}}},[e._t("default")],2)},v=[],g={name:"ContextMenuItem.vue"},O=g,j=Object(h["a"])(O,m,v,!1,null,"17d36814",null),y=j.exports,_=(r("8bb7"),r("be6a")),S=r("5f5b"),k=r("2b2d"),w=r("6b0a"),P=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{directives:[{name:"hover",rawName:"v-hover"}],key:e.value.id,staticClass:"card cv-item meal-plan-card p-0",class:e.value.classes,style:"top:"+e.top+";height:"+e.item_height,attrs:{draggable:!0,"aria-grabbed":e.value==e.currentDragItem,title:e.title},on:{dragstart:function(t){return e.onDragItemStart(e.value,t)},click:function(t){return e.onClickItem(e.value,t)},contextmenu:function(t){return t.preventDefault(),e.$parent.$parent.$refs.menu.open(t,e.value)}}},[e.detailed?r("div",{staticClass:"card-header p-1 text-center text-primary border-bottom-0",style:"background-color: "+e.background_color},[null!=e.entry.entry.meal_type.icon?r("span",{staticClass:"font-light text-center"},[e._v(e._s(e.entry.entry.meal_type.icon))]):e._e(),r("span",{staticClass:"font-light"},[e._v(e._s(e.entry.entry.meal_type.name))])]):e._e(),e.detailed?r("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right p-0"},[r("a",[r("div",{staticStyle:{position:"static"}},[r("div",{staticClass:"dropdown b-dropdown position-static btn-group"},[r("button",{staticClass:"btn dropdown-toggle btn-link text-decoration-none text-body pr-1 dropdown-toggle-no-caret",attrs:{"aria-haspopup":"true","aria-expanded":"false",type:"button"},on:{click:function(t){return t.stopPropagation(),e.$parent.$parent.$refs.menu.open(t,e.value)}}},[r("i",{staticClass:"fas fa-ellipsis-v fa-lg"})])])])])]):e._e(),e.detailed?r("div",{staticClass:"card-header p-1 text-center",style:"background-color: "+e.background_color},[r("span",{staticClass:"font-light"},[e._v(e._s(e.title))])]):e._e(),e.hasRecipe&&e.detailed?r("b-img",{staticClass:"card-img-bottom",attrs:{fluid:"",src:e.entry.entry.recipe.image}}):e._e(),e.detailed&&null==e.entry.entry.recipe?r("div",{staticClass:"card-body p-1",style:"background-color: "+e.background_color},[r("p",[e._v(e._s(e.entry.entry.note))])]):e._e(),e.detailed?e._e():r("div",{staticClass:"row p-1 flex-nowrap",style:"background-color: "+e.background_color},[r("div",{staticClass:"col-2"},[null!=e.entry.entry.meal_type.icon?r("span",{staticClass:"font-light text-center"},[e._v(e._s(e.entry.entry.meal_type.icon))]):e._e(),null==e.entry.entry.meal_type.icon?r("span",{staticClass:"font-light text-center"},[e._v("❓")]):e._e()]),r("div",{staticClass:"col-10 d-inline-block text-truncate",style:"max-height:"+e.item_height},[r("span",{staticClass:"font-light"},[e._v(e._s(e.title))])])])],1)},R=[],U=(r("d3b7"),r("25f0"),{name:"MealPlanCard.vue",components:{},props:{value:Object,weekStartDate:Date,top:String,detailed:Boolean,item_height:String},data:function(){return{dateSelectionOrigin:null,currentDragItem:null}},computed:{entry:function(){return this.value.originalItem},title:function(){return null!=this.entry.entry.title&&""!==this.entry.entry.title?this.entry.entry.title:this.entry.entry.recipe_name},hasRecipe:function(){return null!=this.entry.entry.recipe},background_color:function(){return null!=this.entry.entry.meal_type.color&&""!==this.entry.entry.meal_type.color?this.entry.entry.meal_type.color:"#fff"}},methods:{onDragItemStart:function(e,t){return t.dataTransfer.setData("text",e.id.toString()),this.$emit("dragstart",e,t),!0},onContextMenuOpen:function(e,t){return t.dataTransfer.setData("text",e.id.toString()),this.$emit("dragstart",e,t),!0}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}}),C=U,E=(r("21d7"),Object(h["a"])(C,P,R,!1,null,"23768466",null)),L=E.exports,I=r("c1df"),T=r.n(I),x=r("fa7d"),A=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-modal",{attrs:{id:"edit-modal",size:"lg",title:e.modal_title,"hide-footer":"","aria-label":""}},[r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-12"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-6 col-lg-9"},[r("b-input-group",[r("b-form-input",{attrs:{id:"TitleInput",placeholder:e.entryEditing.title_placeholder},model:{value:e.entryEditing.title,callback:function(t){e.$set(e.entryEditing,"title",t)},expression:"entryEditing.title"}}),r("b-input-group-append",{staticClass:"d-none d-lg-block"},[r("b-button",{attrs:{variant:"primary"},on:{click:function(t){e.entryEditing.title=""}}},[r("i",{staticClass:"fa fa-eraser"})])],1)],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Title")))])],1),r("div",{staticClass:"col-6 col-lg-3"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.date,expression:"entryEditing.date"}],staticClass:"form-control",attrs:{type:"date",id:"DateInput"},domProps:{value:e.entryEditing.date},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"date",t.target.value)}}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Date")))])])]),r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-12 col-lg-6 col-xl-6"},[r("b-form-group",[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.entryEditing_initial_recipe,label:"name",model:e.Models.RECIPE,placeholder:e.$t("Recipe"),limit:10,multiple:!1},on:{change:e.selectRecipe}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Recipe")))])],1),r("b-form-group",{staticClass:"mt-3"},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{required:"",label:"name",model:e.Models.MEAL_TYPE,placeholder:e.$t("MealType"),limit:10,multiple:!1,initial_selection:e.entryEditing_initial_meal_type},on:{change:e.selectMealType}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("MealType")))])],1),r("b-form-group",{staticClass:"mt-3",attrs:{"label-for":"NoteInput",description:e.$t("Note")}},[r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.note,expression:"entryEditing.note"}],staticClass:"form-control",attrs:{id:"NoteInput",placeholder:e.$t("Note")},domProps:{value:e.entryEditing.note},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"note",t.target.value)}}})]),r("b-input-group",[r("b-form-input",{attrs:{id:"ServingsInput",placeholder:e.$t("Servings")},model:{value:e.entryEditing.servings,callback:function(t){e.$set(e.entryEditing,"servings",t)},expression:"entryEditing.servings"}})],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Servings")))])],1),r("div",{staticClass:"col-lg-6 d-none d-lg-block d-xl-block"},[null!=e.entryEditing.recipe?r("recipe-card",{attrs:{recipe:e.entryEditing.recipe}}):e._e()],1)]),r("div",{staticClass:"row mt-3 mb-3"},[r("div",{staticClass:"col-12"},[r("b-button",{attrs:{variant:"danger"},on:{click:e.deleteEntry}},[e._v(e._s(e.$t("Delete"))+" ")]),r("b-button",{staticClass:"float-right",attrs:{variant:"primary"},on:{click:e.editEntry}},[e._v(e._s(e.$t("Save")))])],1)])])])])},M=[],F=r("7432");n["default"].use(S["a"]);var B={name:"MealPlanEditModal",props:{entry:Object,entryEditing_initial_recipe:Array,entryEditing_initial_meal_type:Array,modal_title:String},mixins:[x["a"]],components:{GenericMultiselect:F["a"],RecipeCard:w["a"]},data:function(){return{entryEditing:{}}},watch:{entry:{handler:function(){this.entryEditing=Object.assign({},this.entry)},deep:!0}},methods:{editEntry:function(){null!=this.entryEditing.meal_type?null!=this.entryEditing.recipe||""!==this.entryEditing.title?(this.$bvModal.hide("edit-modal"),this.$emit("save-entry",this.entryEditing)):alert("Need title or recipe"):alert("Need Meal type")},deleteEntry:function(){this.$bvModal.hide("edit-modal"),this.$emit("delete-entry",this.entryEditing)},selectMealType:function(e){null!=e.val?this.entryEditing.meal_type=e.val:this.entryEditing.meal_type=null},selectRecipe:function(e){null!=e.val?(this.entryEditing.recipe=e.val,this.entryEditing.title_placeholder=this.entryEditing.recipe.name,this.entryEditing.servings=this.entryEditing.recipe.servings):(this.entryEditing.recipe=null,this.entryEditing.title_placeholder="",this.entryEditing.servings=1)}}},D=B,N=Object(h["a"])(D,A,M,!1,null,"507ed89e",null),q=N.exports,K=r("2b27"),$=r.n(K);n["default"].prototype.moment=T.a,n["default"].use(S["a"]),n["default"].use($.a);var V="mealplan_settings",z={name:"MealPlanView",components:{MealPlanEditModal:q,MealPlanCard:L,RecipeCard:w["a"],CalendarView:_["b"],CalendarViewHeader:_["c"],ContextMenu:b,ContextMenuItem:y},mixins:[_["a"],x["a"]],data:function(){return{showDate:new Date,plan_entries:[],recipe_viewed:{},settings:{displayPeriodUom:"week",displayPeriodCount:2,startingDayOfWeek:1,displayWeekNumbers:!0},dragged_item:null,meal_types:[],current_context_menu_item:null,options:{displayPeriodUom:[{text:this.$t("Week"),value:"week"},{text:this.$t("Month"),value:"month"},{text:this.$t("Year"),value:"year"}],displayPeriodCount:[1,2,3],entryEditing:{date:null,id:-1,meal_type:null,note:"",note_markdown:"",recipe:null,servings:1,shared:[],title:"",title_placeholder:this.$t("Title")}},entryEditing:{},edit_modal_show:!1}},computed:{modal_title:function(){return-1===this.entryEditing.id?this.$t("CreateMealPlanEntry"):this.$t("EditMealPlanEntry")},entryEditing_initial_recipe:function(){return null!=this.entryEditing.recipe?[this.entryEditing.recipe]:[]},entryEditing_initial_meal_type:function(){return null!=this.entryEditing.meal_type?[this.entryEditing.meal_type]:[]},plan_items:function(){var e=this,t=[];return this.plan_entries.forEach((function(r){t.push(e.buildItem(r))})),t},detailed_items:function(){return"week"===this.settings.displayPeriodUom},dayNames:function(){var e=[];return this.getFormattedWeekdayNames(this.userLocale,"long",0).forEach((function(t,r){e.push({text:t,value:r})})),e},userLocale:function(){return this.getDefaultBrowserLocale},item_height:function(){return"week"===this.settings.displayPeriodUom?"10rem":"1.6rem"}},mounted:function(){this.$nextTick((function(){this.$cookies.isKey(V)&&(this.settings=Object.assign({},this.settings,this.$cookies.get(V)))}))},watch:{settings:{handler:function(){this.$cookies.set(V,this.settings,"360d")},deep:!0}},methods:{editEntry:function(e){var t=this;-1!==e.id?this.plan_entries.forEach((function(r,n){r.id===e.id&&(t.$set(t.plan_entries,n,e),t.saveEntry(t.plan_entries[n]))})):this.createEntry(e)},setShowDate:function(e){this.showDate=e},createEntryRange:function(e){console.log(e)},createEntryClick:function(e){this.entryEditing=this.options.entryEditing,this.entryEditing.date=T()(e).format("YYYY-MM-DD"),console.log(this.entryEditing),this.$bvModal.show("edit-modal")},findEntry:function(e){return this.plan_entries.filter((function(t){return t.id===e}))[0]},moveEntry:function(e,t){var r=this;this.plan_entries.forEach((function(e){e.id===r.dragged_item.id&&(e.date=t,r.saveEntry(e))}))},moveEntryLeft:function(e){var t=this;this.plan_entries.forEach((function(r){r.id===e.id&&(r.date=T()(r.date).subtract(1,"d"),t.saveEntry(r))}))},moveEntryRight:function(e){var t=this;console.log(e),this.plan_entries.forEach((function(r){r.id===e.id&&(r.date=T()(r.date).add(1,"d"),t.saveEntry(r))}))},deleteEntry:function(e){this.plan_entries.forEach((function(t,r,n){if(t.id===e.id){var i=new k["a"];i.destroyMealPlan(t.id).then((function(e){n.splice(r,1)})).catch((function(e){x["e"].makeStandardToast(x["e"].FAIL_UPDATE)}))}}))},entryClick:function(e){var t=this.findEntry(e.id);this.openEntryEdit(t)},openEntryEdit:function(e){this.$bvModal.show("edit-modal"),this.entryEditing=e,this.entryEditing.date=T()(e.date).format("YYYY-MM-DD"),null!=this.entryEditing.recipe&&(this.entryEditing.title_placeholder=this.entryEditing.recipe.name)},refreshData:function(){var e=this,t=new k["a"];t.listMealPlans().then((function(t){e.plan_entries=t.data})),t.listMealTypes().then((function(t){e.meal_types=t.data}))},saveEntry:function(e){e.date=T()(e.date).format("YYYY-MM-DD");var t=new k["a"];t.updateMealPlan(e.id,e).catch((function(e){x["e"].makeStandardToast(x["e"].FAIL_UPDATE)}))},createEntry:function(e){var t=this;e.date=T()(e.date).format("YYYY-MM-DD");var r=new k["a"];r.createMealPlan(e).catch((function(e){x["e"].makeStandardToast(x["e"].FAIL_UPDATE)})).then((function(e){t.plan_entries.push(e.data)}))},buildItem:function(e){var t=T()(e.date).add(e.meal_type.order,"m");return{id:e.id,startDate:t,endDate:t,entry:e}}}},H=z,G=(r("ea4c"),Object(h["a"])(H,i,o,!1,null,null,null)),Y=G.exports,W=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:W["a"],render:function(e){return e(Y)}}).$mount("#app")},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},ea4c:function(e,t,r){"use strict";r("b07c")},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return O})),r.d(t,"j",(function(){return j})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return R})),r.d(t,"a",(function(){return C})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),O={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return j(e,t,r)}}};function j(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:j(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:j(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:j(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:j(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:j(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:j(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:j(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:j(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function R(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return U(e*t)}function U(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var C={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n{child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},1263:function(e,t,r){},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},O=function(e){for(var t=[],r=1;re.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),p=r("a026"),l=r("830a"),h=r("118a");p["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:l["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"2338d8bc",null);t["default"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=p.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},"84cf":function(e,t,r){"use strict";r("a0c0")},9:function(e,t,r){e.exports=r("d315")},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a0c0:function(e,t,r){},a11c:function(e,t,r){"use strict";r("1263")},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},b07c:function(e,t,r){},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d315:function(e,t,r){"use strict";r.r(t);r("e260"),r("e6cf"),r("cca6"),r("a79d");var n=r("a026"),i=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("div",{staticClass:"row"},[r("div",{staticClass:"col-12 calender-parent"},[r("calendar-view",{staticClass:"theme-default",attrs:{"show-date":e.showDate,"enable-date-selection":!0,items:e.plan_items,"display-period-uom":e.settings.displayPeriodUom,"period-changed-callback":e.refreshData,"enable-drag-drop":!0,"item-content-height":e.item_height,"display-period-count":e.settings.displayPeriodCount,"starting-day-of-week":e.settings.startingDayOfWeek,"display-week-numbers":e.settings.displayWeekNumbers},on:{"date-selection-finish":e.createEntryRange,"click-date":e.createEntryClick,"drop-on-date":e.moveEntry},scopedSlots:e._u([{key:"item",fn:function(t){var n=t.value,i=t.weekStartDate,o=t.top;return[r("meal-plan-card",{attrs:{value:n,"week-start-date":i,top:o,detailed:e.detailed_items,item_height:e.item_height},on:{dragstart:function(t){e.dragged_item=n},"click-item":e.entryClick}})]}},{key:"header",fn:function(t){var n=t.headerProps;return[r("calendar-view-header",{attrs:{"header-props":n},on:{input:e.setShowDate}})]}}])})],1)]),r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-3 calender-options"},[r("h5",[e._v(e._s(e.$t("CalenderSettings")))]),r("b-form",[r("b-form-group",{attrs:{id:"UomInput",label:e.$t("Period"),description:e.$t("PeriodToShow"),"label-for":"UomInput"}},[r("b-form-select",{attrs:{id:"UomInput",options:e.options.displayPeriodUom},model:{value:e.settings.displayPeriodUom,callback:function(t){e.$set(e.settings,"displayPeriodUom",t)},expression:"settings.displayPeriodUom"}})],1),r("b-form-group",{attrs:{id:"PeriodInput",label:e.$t("PeriodCount"),description:e.$t("ShowHowManyPeriods"),"label-for":"PeriodInput"}},[r("b-form-select",{attrs:{id:"PeriodInput",options:e.options.displayPeriodCount},model:{value:e.settings.displayPeriodCount,callback:function(t){e.$set(e.settings,"displayPeriodCount",t)},expression:"settings.displayPeriodCount"}})],1),r("b-form-group",{attrs:{id:"DaysInput",label:e.$t("StartingDay"),description:e.$t("StartingDay"),"label-for":"DaysInput"}},[r("b-form-select",{attrs:{id:"DaysInput",options:e.dayNames},model:{value:e.settings.startingDayOfWeek,callback:function(t){e.$set(e.settings,"startingDayOfWeek",t)},expression:"settings.startingDayOfWeek"}})],1)],1)],1),r("div",{staticClass:"col-6"},[r("h5",[e._v(e._s(e.$t("MealTypes")))]),r("b-form"),e._e()],1)]),r("ContextMenu",{ref:"menu",scopedSlots:e._u([{key:"menu",fn:function(t){var n=t.contextData;return[r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.openEntryEdit(n.originalItem.entry)}}},[r("a",{staticClass:"dropdown-item p-2",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-pen"}),e._v(" "+e._s(e.$t("Edit")))])]),r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.moveEntryLeft(n)}}},[r("a",{staticClass:"dropdown-item p-2",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-arrow-left"}),e._v(" "+e._s(e.$t("DayBack")))])]),r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.moveEntryRight(n)}}},[r("a",{staticClass:"dropdown-item p-2",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-arrow-right"}),e._v(" "+e._s(e.$t("DayForward")))])]),r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.createEntry(n.originalItem.entry)}}},[r("a",{staticClass:"dropdown-item p-2",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-copy"}),e._v(" "+e._s(e.$t("Clone")))])]),r("ContextMenuItem",{on:{click:function(t){e.$refs.menu.close(),e.deleteEntry(n)}}},[r("a",{staticClass:"dropdown-item p-2 text-danger",attrs:{href:"#"}},[r("i",{staticClass:"fas fa-trash"}),e._v(" "+e._s(e.$t("Delete")))])])]}}])}),r("meal-plan-edit-modal",{attrs:{entry:e.entryEditing,entryEditing_initial_recipe:e.entryEditing_initial_recipe,"entry-editing_initial_meal_type":e.entryEditing_initial_meal_type,modal_title:e.modal_title,edit_modal_show:e.edit_modal_show},on:{"save-entry":e.editEntry,"delete-entry":e.deleteEntry}})],1)},o=[],a=(r("159b"),r("4de4"),r("a434"),r("b0c0"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{directives:[{name:"show",rawName:"v-show",value:e.isVisible,expression:"isVisible"},{name:"click-outside",rawName:"v-click-outside",value:e.close,expression:"close"}],ref:"popper",staticClass:"context-menu",attrs:{tabindex:"-1"},on:{"!contextmenu":function(e){e.preventDefault()}}},[r("ul",{staticClass:"dropdown-menu",attrs:{role:"menu"}},[e._t("menu",null,{contextData:e.contextData})],2)])}),s=[],c=r("f0bd"),u=r("e67d"),d=r.n(u);c["a"].Defaults.modifiers.computeStyle.gpuAcceleration=!1;var p={name:"ContextMenu.vue",props:{boundariesElement:{type:String,default:"body"}},components:{},data:function(){return{opened:!1,contextData:{}}},directives:{ClickOutside:d.a},computed:{isVisible:function(){return this.opened}},methods:{open:function(e,t){var r=this;this.opened=!0,this.contextData=t,this.popper&&this.popper.destroy(),this.popper=new c["a"](this.referenceObject(e),this.$refs.popper,{placement:"right-start",modifiers:{preventOverflow:{boundariesElement:document.querySelector(this.boundariesElement)}}}),this.$nextTick((function(){r.popper.scheduleUpdate()}))},close:function(){this.opened=!1,this.contextData=null},referenceObject:function(e){var t=e.clientX,r=e.clientY,n=t+1,i=r+1,o=1,a=1;function s(){return{left:t,top:r,right:n,bottom:i}}var c={getBoundingClientRect:s,clientWidth:o,clientHeight:a};return c}},beforeUnmount:function(){void 0!==this.popper&&this.popper.destroy()}},l=p,h=(r("84cf"),r("2877")),f=Object(h["a"])(l,a,s,!1,null,"b808df3a",null),b=f.exports,m=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("li",{attrs:{role:"presentation"},on:{click:function(t){return e.$emit("click",t)}}},[e._t("default")],2)},v=[],g={name:"ContextMenuItem.vue"},O=g,j=Object(h["a"])(O,m,v,!1,null,"17d36814",null),y=j.exports,_=(r("8bb7"),r("be6a")),S=r("5f5b"),k=r("2b2d"),w=r("6b0a"),P=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{directives:[{name:"hover",rawName:"v-hover"}],key:e.value.id,staticClass:"card cv-item meal-plan-card p-0",class:e.value.classes,style:"top:"+e.top+";height:"+e.item_height,attrs:{draggable:!0,"aria-grabbed":e.value==e.currentDragItem,title:e.title},on:{dragstart:function(t){return e.onDragItemStart(e.value,t)},click:function(t){return e.onClickItem(e.value,t)},contextmenu:function(t){return t.preventDefault(),e.$parent.$parent.$refs.menu.open(t,e.value)}}},[e.detailed?r("div",{staticClass:"card-header p-1 text-center text-primary border-bottom-0",style:"background-color: "+e.background_color},[null!=e.entry.entry.meal_type.icon?r("span",{staticClass:"font-light text-center"},[e._v(e._s(e.entry.entry.meal_type.icon))]):e._e(),r("span",{staticClass:"font-light"},[e._v(e._s(e.entry.entry.meal_type.name))])]):e._e(),e.detailed?r("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right p-0"},[r("a",[r("div",{staticStyle:{position:"static"}},[r("div",{staticClass:"dropdown b-dropdown position-static btn-group"},[r("button",{staticClass:"btn dropdown-toggle btn-link text-decoration-none text-body pr-1 dropdown-toggle-no-caret",attrs:{"aria-haspopup":"true","aria-expanded":"false",type:"button"},on:{click:function(t){return t.stopPropagation(),e.$parent.$parent.$refs.menu.open(t,e.value)}}},[r("i",{staticClass:"fas fa-ellipsis-v fa-lg"})])])])])]):e._e(),e.detailed?r("div",{staticClass:"card-header p-1 text-center",style:"background-color: "+e.background_color},[r("span",{staticClass:"font-light"},[e._v(e._s(e.title))])]):e._e(),e.hasRecipe&&e.detailed?r("b-img",{staticClass:"card-img-bottom",attrs:{fluid:"",src:e.entry.entry.recipe.image}}):e._e(),e.detailed&&null==e.entry.entry.recipe?r("div",{staticClass:"card-body p-1",style:"background-color: "+e.background_color},[r("p",[e._v(e._s(e.entry.entry.note))])]):e._e(),e.detailed?e._e():r("div",{staticClass:"row p-1 flex-nowrap",style:"background-color: "+e.background_color},[r("div",{staticClass:"col-2"},[null!=e.entry.entry.meal_type.icon?r("span",{staticClass:"font-light text-center"},[e._v(e._s(e.entry.entry.meal_type.icon))]):e._e(),null==e.entry.entry.meal_type.icon?r("span",{staticClass:"font-light text-center"},[e._v("❓")]):e._e()]),r("div",{staticClass:"col-10 d-inline-block text-truncate",style:"max-height:"+e.item_height},[r("span",{staticClass:"font-light"},[e._v(e._s(e.title))])])])],1)},C=[],R=(r("d3b7"),r("25f0"),{name:"MealPlanCard.vue",components:{},props:{value:Object,weekStartDate:Date,top:String,detailed:Boolean,item_height:String},data:function(){return{dateSelectionOrigin:null,currentDragItem:null}},computed:{entry:function(){return this.value.originalItem},title:function(){return null!=this.entry.entry.title&&""!==this.entry.entry.title?this.entry.entry.title:this.entry.entry.recipe_name},hasRecipe:function(){return null!=this.entry.entry.recipe},background_color:function(){return null!=this.entry.entry.meal_type.color&&""!==this.entry.entry.meal_type.color?this.entry.entry.meal_type.color:"#fff"}},methods:{onDragItemStart:function(e,t){return t.dataTransfer.setData("text",e.id.toString()),this.$emit("dragstart",e,t),!0},onContextMenuOpen:function(e,t){return t.dataTransfer.setData("text",e.id.toString()),this.$emit("dragstart",e,t),!0},onClickItem:function(e,t){return this.$emit("click-item",e),!0}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}}),U=R,E=(r("a11c"),Object(h["a"])(U,P,C,!1,null,"78d97e94",null)),L=E.exports,I=r("c1df"),T=r.n(I),x=r("fa7d"),A=r("f347"),M=r("2b27"),F=r.n(M);n["default"].prototype.moment=T.a,n["default"].use(S["a"]),n["default"].use(F.a);var B="mealplan_settings",D={name:"MealPlanView",components:{MealPlanEditModal:A["a"],MealPlanCard:L,RecipeCard:w["default"],CalendarView:_["b"],CalendarViewHeader:_["c"],ContextMenu:b,ContextMenuItem:y},mixins:[_["a"],x["a"]],data:function(){return{showDate:new Date,plan_entries:[],recipe_viewed:{},settings:{displayPeriodUom:"week",displayPeriodCount:2,startingDayOfWeek:1,displayWeekNumbers:!0},dragged_item:null,meal_types:[],current_context_menu_item:null,options:{displayPeriodUom:[{text:this.$t("Week"),value:"week"},{text:this.$t("Month"),value:"month"},{text:this.$t("Year"),value:"year"}],displayPeriodCount:[1,2,3],entryEditing:{date:null,id:-1,meal_type:null,note:"",note_markdown:"",recipe:null,servings:1,shared:[],title:"",title_placeholder:this.$t("Title")}},entryEditing:{},edit_modal_show:!1}},computed:{modal_title:function(){return-1===this.entryEditing.id?this.$t("CreateMealPlanEntry"):this.$t("EditMealPlanEntry")},entryEditing_initial_recipe:function(){return null!=this.entryEditing.recipe?[this.entryEditing.recipe]:[]},entryEditing_initial_meal_type:function(){return null!=this.entryEditing.meal_type?[this.entryEditing.meal_type]:[]},plan_items:function(){var e=this,t=[];return this.plan_entries.forEach((function(r){t.push(e.buildItem(r))})),t},detailed_items:function(){return"week"===this.settings.displayPeriodUom},dayNames:function(){var e=[];return this.getFormattedWeekdayNames(this.userLocale,"long",0).forEach((function(t,r){e.push({text:t,value:r})})),e},userLocale:function(){return this.getDefaultBrowserLocale},item_height:function(){return"week"===this.settings.displayPeriodUom?"10rem":"1.6rem"}},mounted:function(){this.$nextTick((function(){this.$cookies.isKey(B)&&(this.settings=Object.assign({},this.settings,this.$cookies.get(B)))}))},watch:{settings:{handler:function(){this.$cookies.set(B,this.settings,"360d")},deep:!0}},methods:{editEntry:function(e){var t=this;-1!==e.id?this.plan_entries.forEach((function(r,n){r.id===e.id&&(t.$set(t.plan_entries,n,e),t.saveEntry(t.plan_entries[n]))})):this.createEntry(e)},setShowDate:function(e){this.showDate=e},createEntryRange:function(e){console.log(e)},createEntryClick:function(e){this.entryEditing=this.options.entryEditing,this.entryEditing.date=T()(e).format("YYYY-MM-DD"),console.log(this.entryEditing),this.$bvModal.show("edit-modal")},findEntry:function(e){return this.plan_entries.filter((function(t){return t.id===e}))[0]},moveEntry:function(e,t){var r=this;this.plan_entries.forEach((function(e){e.id===r.dragged_item.id&&(e.date=t,r.saveEntry(e))}))},moveEntryLeft:function(e){var t=this;this.plan_entries.forEach((function(r){r.id===e.id&&(r.date=T()(r.date).subtract(1,"d"),t.saveEntry(r))}))},moveEntryRight:function(e){var t=this;console.log(e),this.plan_entries.forEach((function(r){r.id===e.id&&(r.date=T()(r.date).add(1,"d"),t.saveEntry(r))}))},deleteEntry:function(e){this.plan_entries.forEach((function(t,r,n){if(t.id===e.id){var i=new k["a"];i.destroyMealPlan(t.id).then((function(e){n.splice(r,1)})).catch((function(e){x["e"].makeStandardToast(x["e"].FAIL_UPDATE)}))}}))},entryClick:function(e){var t=this.findEntry(e.id);this.openEntryEdit(t)},openEntryEdit:function(e){this.$bvModal.show("edit-modal"),this.entryEditing=e,this.entryEditing.date=T()(e.date).format("YYYY-MM-DD"),null!=this.entryEditing.recipe&&(this.entryEditing.title_placeholder=this.entryEditing.recipe.name)},refreshData:function(){var e=this,t=new k["a"];t.listMealPlans().then((function(t){e.plan_entries=t.data})),t.listMealTypes().then((function(t){e.meal_types=t.data}))},saveEntry:function(e){e.date=T()(e.date).format("YYYY-MM-DD");var t=new k["a"];t.updateMealPlan(e.id,e).catch((function(e){x["e"].makeStandardToast(x["e"].FAIL_UPDATE)}))},createEntry:function(e){var t=this;e.date=T()(e.date).format("YYYY-MM-DD");var r=new k["a"];r.createMealPlan(e).catch((function(e){x["e"].makeStandardToast(x["e"].FAIL_UPDATE)})).then((function(e){t.plan_entries.push(e.data)}))},buildItem:function(e){var t=T()(e.date).add(e.meal_type.order,"m");return{id:e.id,startDate:t,endDate:t,entry:e}}}},N=D,q=(r("ea4c"),Object(h["a"])(N,i,o,!1,null,null,null)),K=q.exports,$=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:$["a"],render:function(e){return e(K)}}).$mount("#app")},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},ea4c:function(e,t,r){"use strict";r("b07c")},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f347:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-modal",{attrs:{id:e.modal_id,size:"lg",title:e.modal_title,"hide-footer":"","aria-label":""}},[r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-12"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-6 col-lg-9"},[r("b-input-group",[r("b-form-input",{attrs:{id:"TitleInput",placeholder:e.entryEditing.title_placeholder},model:{value:e.entryEditing.title,callback:function(t){e.$set(e.entryEditing,"title",t)},expression:"entryEditing.title"}}),r("b-input-group-append",{staticClass:"d-none d-lg-block"},[r("b-button",{attrs:{variant:"primary"},on:{click:function(t){e.entryEditing.title=""}}},[r("i",{staticClass:"fa fa-eraser"})])],1)],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Title")))])],1),r("div",{staticClass:"col-6 col-lg-3"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.date,expression:"entryEditing.date"}],staticClass:"form-control",attrs:{type:"date",id:"DateInput"},domProps:{value:e.entryEditing.date},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"date",t.target.value)}}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Date")))])])]),r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-12 col-lg-6 col-xl-6"},[r("b-form-group",[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.entryEditing_initial_recipe,label:"name",model:e.Models.RECIPE,placeholder:e.$t("Recipe"),limit:10,multiple:!1},on:{change:e.selectRecipe}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Recipe")))])],1),r("b-form-group",{staticClass:"mt-3"},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{required:"",label:"name",model:e.Models.MEAL_TYPE,placeholder:e.$t("MealType"),limit:10,multiple:!1,initial_selection:e.entryEditing_initial_meal_type},on:{change:e.selectMealType}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("MealType")))])],1),r("b-form-group",{staticClass:"mt-3",attrs:{"label-for":"NoteInput",description:e.$t("Note")}},[r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.note,expression:"entryEditing.note"}],staticClass:"form-control",attrs:{id:"NoteInput",placeholder:e.$t("Note")},domProps:{value:e.entryEditing.note},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"note",t.target.value)}}})]),r("b-input-group",[r("b-form-input",{attrs:{id:"ServingsInput",placeholder:e.$t("Servings")},model:{value:e.entryEditing.servings,callback:function(t){e.$set(e.entryEditing,"servings",t)},expression:"entryEditing.servings"}})],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Servings")))])],1),r("div",{staticClass:"col-lg-6 d-none d-lg-block d-xl-block"},[null!=e.entryEditing.recipe?r("recipe-card",{attrs:{recipe:e.entryEditing.recipe}}):e._e()],1)]),r("div",{staticClass:"row mt-3 mb-3"},[r("div",{staticClass:"col-12"},[e.allow_delete?r("b-button",{attrs:{variant:"danger"},on:{click:e.deleteEntry}},[e._v(e._s(e.$t("Delete"))+" ")]):e._e(),r("b-button",{staticClass:"float-right",attrs:{variant:"primary"},on:{click:e.editEntry}},[e._v(e._s(e.$t("Save")))])],1)])])])])},i=[],o=(r("d3b7"),r("3ca3"),r("ddb0"),r("b0c0"),r("a026")),a=r("5f5b"),s=r("7432"),c=r("fa7d");o["default"].use(a["a"]);var u={name:"MealPlanEditModal",props:{entry:Object,entryEditing_initial_recipe:Array,entryEditing_initial_meal_type:Array,modal_title:String,modal_id:{type:String,default:"edit-modal"},allow_delete:{type:Boolean,default:!0}},mixins:[c["a"]],components:{GenericMultiselect:s["a"],RecipeCard:function(){return r.e("chunk-2d0da313").then(r.bind(null,"6b0a"))}},data:function(){return{entryEditing:{}}},watch:{entry:{handler:function(){this.entryEditing=Object.assign({},this.entry)},deep:!0}},methods:{editEntry:function(){null!=this.entryEditing.meal_type?null!=this.entryEditing.recipe||""!==this.entryEditing.title?(this.$bvModal.hide("edit-modal"),this.$emit("save-entry",this.entryEditing)):alert("Need title or recipe"):alert("Need Meal type")},deleteEntry:function(){this.$bvModal.hide("edit-modal"),this.$emit("delete-entry",this.entryEditing)},selectMealType:function(e){null!=e.val?this.entryEditing.meal_type=e.val:this.entryEditing.meal_type=null},selectRecipe:function(e){null!=e.val?(this.entryEditing.recipe=e.val,this.entryEditing.title_placeholder=this.entryEditing.recipe.name,this.entryEditing.servings=this.entryEditing.recipe.servings):(this.entryEditing.recipe=null,this.entryEditing.title_placeholder="",this.entryEditing.servings=1)}}},d=u,p=r("2877"),l=Object(p["a"])(d,n,i,!1,null,"7564c819",null);t["a"]=l.exports},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return O})),r.d(t,"j",(function(){return j})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return C})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),O={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return j(e,t,r)}}};function j(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:j(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:j(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:j(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:j(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:j(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:j(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:j(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:j(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function C(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return R(e*t)}function R(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n{child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return k}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,l=r("9ab4"),p=r("bc3a"),h=r.n(p),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(l["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r0&&this.state.loaded(),e.current>=e.max&&this.state.complete()}}},methods:{infiniteHandler:function(e,t){var r={query:this.search,page:this.page+1};this.state=e,this.$emit("search",r),this.page+=1}}},m=b,v=r("2877"),g=Object(v["a"])(m,u,d,!1,null,null,null),j=g.exports,O=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{margin:"4px"},attrs:{row:""}},[r("b-card",{class:{"border border-primary":e.over,shake:e.isError},style:{"cursor:grab":e.useDrag},attrs:{"no-body":"","d-flex":"","flex-column":"",draggable:e.useDrag},on:e._d({"useDrag&&`dragenter`":[function(e){e.preventDefault()},function(t){return e.handleDragEnter(t)}]},[e.useDrag&&"dragover",function(e){e.preventDefault()},e.useDrag&&"dragstart",function(t){return e.handleDragStart(t)},e.useDrag&&"dragleave",function(t){return e.handleDragLeave(t)},e.useDrag&&"drop",function(t){return e.handleDragDrop(t)}])},[r("b-row",{attrs:{"no-gutters":""}},[r("b-col",{staticClass:"col-sm-3",attrs:{"no-gutters":""}},[r("b-card-img-lazy",{staticStyle:{"object-fit":"cover",height:"6em"},attrs:{src:e.item_image,alt:e.$t("Recipe_Image")}})],1),r("b-col",{staticClass:"col-sm-9",attrs:{"no-gutters":""}},[r("b-card-body",{staticClass:"m-0 py-0"},[r("b-card-text",{staticClass:" h-100 my-0 d-flex flex-column",staticStyle:{"text-overflow":"ellipsis"}},[r("h5",{staticClass:"m-0 mt-1 text-truncate"},[e._v(e._s(e.item[e.title]))]),r("div",{staticClass:"m-0 text-truncate"},[e._v(e._s(e.item[e.subtitle]))]),e._l(e.itemTags,(function(t){return r("generic-pill",{key:t.field,attrs:{item_list:e.item[t.field],label:t.label,color:t.color}})})),e._l(e.itemOrderedTags,(function(t){return r("generic-ordered-pill",{key:t.field,attrs:{item_list:e.item[t.field],label:t.label,color:t.color,field:t.field,item:e.item},on:{"finish-action":e.finishAction}})})),r("div",{staticClass:"mt-auto mb-1",attrs:{align:"right"}},[e.item[e.child_count]?r("span",{staticClass:"mx-2 btn btn-link btn-sm",staticStyle:{"z-index":"800"},on:{click:function(t){return e.$emit("item-action",{action:"get-children",source:e.item})}}},[e.item.show_children?r("div",[e._v(e._s(e.text.hide_children))]):r("div",[e._v(e._s(e.item[e.child_count])+" "+e._s(e.itemName))])]):e._e(),e.item[e.recipe_count]?r("span",{staticClass:"mx-2 btn btn-link btn-sm",staticStyle:{"z-index":"800"},on:{click:function(t){return e.$emit("item-action",{action:"get-recipes",source:e.item})}}},[e.item.show_recipes?r("div",[e._v(e._s(e.$t("Hide_Recipes")))]):r("div",[e._v(e._s(e.item[e.recipe_count])+" "+e._s(e.$t("Recipes")))])]):e._e()])],2)],1)],1),r("div",{staticClass:"card-img-overlay justify-content-right h-25 m-0 p-0 text-right"},[r("badges",{attrs:{item:e.item,model:e.model}}),r("generic-context-menu",{staticClass:"p-0",attrs:{show_merge:e.useMerge,show_move:e.useMove},on:{"item-action":function(t){return e.$emit("item-action",{action:t,source:e.item})}}})],1)],1)],1),e.item.show_children?r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-10 offset-md-2"},e._l(e.item[e.children],(function(t){return r("generic-horizontal-card",{key:t.id,attrs:{item:t,model:e.model},on:{"item-action":function(t){return e.$emit("item-action",t)}}})})),1)]):e._e(),e.item.show_recipes?r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-10 offset-md-2"},[r("div",{staticStyle:{display:"grid","grid-template-columns":"repeat(auto-fit, minmax(200px, 1fr))","grid-gap":"1rem"}},e._l(e.item[e.recipes],(function(e){return r("recipe-card",{key:e.id,attrs:{recipe:e}})})),1)])]):e._e(),r("b-list-group",{directives:[{name:"show",rawName:"v-show",value:e.show_menu,expression:"show_menu"},{name:"on-clickaway",rawName:"v-on-clickaway",value:e.closeMenu,expression:"closeMenu"}],ref:"tooltip",staticStyle:{"z-index":"9999",cursor:"pointer"},attrs:{variant:"light"}},[e.useMove?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"move",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-expand-arrows-alt fa-fw"}),e._v(" "),r("b",[e._v(e._s(e.$t("Move")))]),e._v(": "),r("span",{domProps:{innerHTML:e._s(e.$t("move_confirmation",{child:e.source.name,parent:e.item.name}))}})]):e._e(),e.useMerge?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"merge",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-compress-arrows-alt fa-fw"}),e._v(" "),r("b",[e._v(e._s(e.$t("Merge")))]),e._v(": "),r("span",{domProps:{innerHTML:e._s(e.$t("merge_confirmation",{source:e.source.name,target:e.item.name}))}})]):e._e(),e.useMerge?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"merge-automate",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-robot fa-fw"}),e._v(" "),r("b",[e._v(e._s(e.$t("Merge"))+" & "+e._s(e.$t("Automate")))]),e._v(": "),r("span",{domProps:{innerHTML:e._s(e.$t("merge_confirmation",{source:e.source.name,target:e.item.name}))}}),e._v(" "+e._s(e.$t("create_rule"))+" "),r("b-badge",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:e.$t("warning_feature_beta")}},[e._v("BETA")])],1):e._e(),r("b-list-group-item",{attrs:{action:""},on:{click:function(t){return e.closeMenu()}}},[r("i",{staticClass:"fas fa-times fa-fw"}),e._v(" "),r("b",[e._v(e._s(e.$t("Cancel")))])])],1)],1)},_=[],y=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[r("b-dropdown",{staticStyle:{boundary:"window"},attrs:{variant:"link","toggle-class":"text-decoration-none",right:"","no-caret":""},scopedSlots:e._u([{key:"button-content",fn:function(){return[r("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[e.show_edit?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","edit")}}},[r("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e.$t("Edit"))+" ")]):e._e(),e.show_delete?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","delete")}}},[r("i",{staticClass:"fas fa-trash-alt fa-fw"}),e._v(" "+e._s(e.$t("Delete"))+" ")]):e._e(),e.show_move?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","move")}}},[r("i",{staticClass:"fas fa-expand-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Move"))+" ")]):e._e(),e.show_merge?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","merge")}}},[r("i",{staticClass:"fas fa-compress-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Merge"))+" ")]):e._e(),e.show_merge?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","merge-automate")}}},[r("i",{staticClass:"fas fa-robot fa-fw"}),e._v(" "+e._s(e.$t("Merge"))+" & "+e._s(e.$t("Automate"))+" "),r("b-badge",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:e.$t("warning_feature_beta")}},[e._v("BETA")])],1):e._e()],1)],1)},S=[],w={name:"GenericContextMenu",props:{show_edit:{type:Boolean,default:!0},show_delete:{type:Boolean,default:!0},show_move:{type:Boolean,default:!1},show_merge:{type:Boolean,default:!1}}},k=w,P=Object(v["a"])(k,y,S,!1,null,null,null),C=P.exports,R=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.linkedRecipe?r("linked-recipe",{attrs:{item:e.item}}):e._e(),e.Icon?r("icon-badge",{attrs:{item:e.item}}):e._e()],1)},U=[],L=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.item.recipe?r("b-button",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:" btn fas fa-book-open p-0 border-0",attrs:{title:e.item.recipe.name,variant:"link",href:e.item.recipe.url}}):e._e()],1)},E=[],T={name:"LinkedRecipeBadge",props:{item:{type:Object}},data:function(){return{}},mounted:function(){},watch:{},methods:{}},I=T,x=Object(v["a"])(I,L,E,!1,null,null,null),A=x.exports,M=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.item.icon?r("b-button",{staticClass:" btn p-0 border-0",attrs:{variant:"link"}},[e._v(" "+e._s(e.item.icon)+" ")]):e._e()],1)},F=[],B={name:"IconBadge",props:{item:{type:Object}},data:function(){return{}},mounted:function(){},watch:{},methods:{}},N=B,D=Object(v["a"])(N,M,F,!1,null,null,null),q=D.exports,$={name:"CardBadges",components:{LinkedRecipe:A,IconBadge:q},props:{item:{type:Object},model:{type:Object}},data:function(){return{}},mounted:function(){},computed:{linkedRecipe:function(){var e,t,r;return null!==(e=null===(t=this.model)||void 0===t||null===(r=t.badges)||void 0===r?void 0:r.linked_recipe)&&void 0!==e&&e},Icon:function(){var e,t,r;return null!==(e=null===(t=this.model)||void 0===t||null===(r=t.badges)||void 0===r?void 0:r.icon)&&void 0!==e&&e}},watch:{},methods:{}},K=$,V=Object(v["a"])(K,R,U,!1,null,null,null),z=V.exports,G=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.itemList?r("div",e._l(e.itemList,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{attrs:{pill:"",variant:e.color}},[e._v(e._s(e.thisLabel(t)))])],1)})),0):e._e()},H=[],Y=(r("1276"),r("159b"),{name:"GenericPill",props:{item_list:{required:!0,type:Array},label:{type:String,default:"name"},color:{type:String,default:"light"}},computed:{itemList:function(){var e;return Array.isArray(this.item_list)?this.item_list:!(null===(e=this.item_list)||void 0===e||!e.id)&&[this.item_list]}},mounted:function(){},methods:{thisLabel:function(e){var t=this.label.split("::"),r=e;return t.forEach((function(e){r=r[e]})),r}}}),W=Y,J=Object(v["a"])(W,G,H,!1,null,null,null),Z=J.exports,X=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.itemList?r("draggable",{attrs:{tag:"span",group:"ordered_items","z-index":"500"},on:{change:e.orderChanged},model:{value:e.this_list,callback:function(t){e.this_list=t},expression:"this_list"}},e._l(e.itemList,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{attrs:{pill:"",variant:e.color}},[e._v(e._s(e.thisLabel(t)))])],1)})),0):e._e()},Q=[],ee=r("b76a"),te=r.n(ee),re={name:"GenericOrderedPill",components:{draggable:te.a},props:{item_list:{required:!0,type:Array},label:{type:String,default:"name"},color:{type:String,default:"light"},field:{type:String,required:!0},item:{type:Object}},data:function(){return{this_list:[]}},computed:{itemList:function(){var e;return Array.isArray(this.this_list)?this.this_list:!(null===(e=this.this_list)||void 0===e||!e.name)&&[this.this_list]}},mounted:function(){this.this_list=this.item_list},watch:{item_list:function(e){this.this_list=e}},methods:{thisLabel:function(e){var t=this.label.split("::"),r=e;return t.forEach((function(e){r=r[e]})),r},orderChanged:function(e){var t=0;this.this_list.forEach((function(e){e["order"]=t,t++}));var r=Object(a["a"])({},this.item);r[this.field]=this.this_list,this.$emit("finish-action",{action:"save",form_data:r})}}},ne=re,ie=Object(v["a"])(ne,X,Q,!1,null,null,null),oe=ie.exports,ae=r("6b0a"),se=r("c7db"),ce=r("39c3"),ue={name:"GenericHorizontalCard",components:{GenericContextMenu:C,RecipeCard:ae["a"],Badges:z,GenericPill:Z,GenericOrderedPill:oe},mixins:[se["mixin"]],props:{item:{type:Object},model:{type:Object},title:{type:String,default:"name"},subtitle:{type:String,default:"description"},child_count:{type:String,default:"numchild"},children:{type:String,default:"children"},recipe_count:{type:String,default:"numrecipe"},recipes:{type:String,default:"recipes"}},data:function(){return{item_image:"",over:!1,show_menu:!1,dragMenu:void 0,isError:!1,source:{id:void 0,name:void 0},target:{id:void 0,name:void 0},text:{hide_children:""}}},mounted:function(){var e,t;this.item_image=null!==(e=null===(t=this.item)||void 0===t?void 0:t.image)&&void 0!==e?e:window.IMAGE_PLACEHOLDER,this.dragMenu=this.$refs.tooltip,this.text.hide_children=this.$t("Hide_"+this.itemName)},computed:{itemName:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.name)&&void 0!==e?e:"You Forgot To Set Model Name in model.js"},useMove:function(){var e,t;return!(null===(e=null===(t=this.model)||void 0===t?void 0:t["move"])||void 0===e||!e)},useMerge:function(){var e,t;return!(null===(e=null===(t=this.model)||void 0===t?void 0:t["merge"])||void 0===e||!e)},useDrag:function(){return this.useMove||this.useMerge},itemTags:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.tags)&&void 0!==e?e:[]},itemOrderedTags:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.ordered_tags)&&void 0!==e?e:[]}},methods:{handleDragStart:function(e){this.isError=!1,e.dataTransfer.setData("source",JSON.stringify(this.item))},handleDragEnter:function(e){e.currentTarget.contains(e.relatedTarget)||null==e.relatedTarget||(this.over=!0)},handleDragLeave:function(e){e.currentTarget.contains(e.relatedTarget)||(this.over=!1)},handleDragDrop:function(e){var t=JSON.parse(e.dataTransfer.getData("source"));if(t.id!=this.item.id){this.source=t;var r={getBoundingClientRect:this.generateLocation(e.clientX,e.clientY)};this.show_menu=!0;var n=Object(ce["a"])(r,this.dragMenu,{placement:"bottom-start",modifiers:[{name:"preventOverflow",options:{rootBoundary:"document"}},{name:"flip",options:{fallbackPlacements:["bottom-end","top-start","top-end","left-start","right-start"],rootBoundary:"document"}}]});n.update(),this.over=!1,this.$emit({action:"drop",target:this.item,source:this.source})}else this.isError=!0},generateLocation:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(){return{width:0,height:0,top:t,right:e,bottom:t,left:e}}},closeMenu:function(){this.show_menu=!1},finishAction:function(e){this.$emit("finish-action",e)}}},de=ue,le=(r("8c77"),Object(v["a"])(de,O,_,!1,null,"51a59cab",null)),pe=le.exports,he=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{attrs:{id:"modal_"+e.id},on:{hidden:e.cancelAction},scopedSlots:e._u([{key:"modal-title",fn:function(){return[r("h4",[e._v(e._s(e.form.title))])]},proxy:!0},{key:"modal-footer",fn:function(){return[r("b-button",{staticClass:"float-right mx-1",attrs:{variant:"secondary"},on:{click:e.cancelAction}},[e._v(e._s(e.$t("Cancel")))]),r("b-button",{staticClass:"float-right mx-1",attrs:{variant:"primary"},on:{click:e.doAction}},[e._v(e._s(e.form.ok_label))])]},proxy:!0}])},e._l(e.form.fields,(function(t,n){return r("div",{key:n},["instruction"==t.type?r("p",[e._v(e._s(t.label))]):e._e(),"lookup"==t.type?r("lookup-input",{attrs:{form:t,model:e.listModel(t.list)},on:{change:e.storeValue}}):e._e(),e._v(" "),"checkbox"==t.type?r("checkbox-input",{attrs:{label:t.label,value:t.value,field:t.field}}):e._e(),"text"==t.type?r("text-input",{attrs:{label:t.label,value:t.value,field:t.field,placeholder:t.placeholder}}):e._e(),"choice"==t.type?r("choice-input",{attrs:{label:t.label,value:t.value,field:t.field,options:t.options,placeholder:t.placeholder}}):e._e(),"emoji"==t.type?r("emoji-input",{attrs:{label:t.label,value:t.value,field:t.field},on:{change:e.storeValue}}):e._e()],1)})),0)],1)},fe=[],be=r("3835"),me=(r("4fad"),r("6369")),ve=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-checkbox",{model:{value:e.new_value,callback:function(t){e.new_value=t},expression:"new_value"}},[e._v(e._s(e.label))])],1)},ge=[],je={name:"CheckboxInput",props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:"Checkbox Field"},value:{type:Boolean,default:!1},show_move:{type:Boolean,default:!1},show_merge:{type:Boolean,default:!1}},data:function(){return{new_value:void 0}},mounted:function(){this.new_value=this.value},watch:{new_value:function(){this.$root.$emit("change",this.field,this.new_value)}},methods:{}},Oe=je,_e=Object(v["a"])(Oe,ve,ge,!1,null,null,null),ye=_e.exports,Se=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.form.label}},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.initialSelection,model:e.model,multiple:e.useMultiple,sticky_options:e.sticky_options,allow_create:e.create_new,create_placeholder:e.createPlaceholder,placeholder:e.modelName},on:{change:function(t){e.new_value=t.val},remove:function(t){e.new_value=void 0},new:e.addNew}})],1)],1)},we=[],ke=r("53ca"),Pe=(r("5319"),r("7432")),Ce={name:"LookupInput",components:{GenericMultiselect:Pe["a"]},mixins:[c["a"]],props:{form:{type:Object,default:function(){}},model:{type:Object,default:function(){}}},data:function(){return{new_value:void 0,field:void 0,label:void 0,sticky_options:void 0,first_run:!0}},mounted:function(){var e,t,r,n,i,o,a;this.new_value=null===(e=this.form)||void 0===e?void 0:e.value,this.field=null!==(t=null===(r=this.form)||void 0===r?void 0:r.field)&&void 0!==t?t:"You Forgot To Set Field Name",this.label=null!==(n=null===(i=this.form)||void 0===i?void 0:i.label)&&void 0!==n?n:"",this.sticky_options=null!==(o=null===(a=this.form)||void 0===a?void 0:a.sticky_options)&&void 0!==o?o:[]},computed:{modelName:function(){var e,t;return null!==(e=null===this||void 0===this||null===(t=this.model)||void 0===t?void 0:t.name)&&void 0!==e?e:this.$t("Search")},useMultiple:function(){var e,t;return(null===(e=this.form)||void 0===e?void 0:e.multiple)||(null===(t=this.form)||void 0===t?void 0:t.ordered)||!1},initialSelection:function(){var e,t=this.form.value,r=void 0;return r=Array.isArray(t)?t:t?"object"===Object(ke["a"])(t)?[t]:[{id:-1,name:t}]:[],null!==(e=this.form)&&void 0!==e&&e.ordered&&this.first_run?this.flattenItems(r):r},createPlaceholder:function(){var e;return this.$t("Create_New_"+(null===this||void 0===this||null===(e=this.model)||void 0===e?void 0:e.name))}},watch:{new_value:function(){var e,t=null===this||void 0===this?void 0:this.new_value;null!==(e=this.form)&&void 0!==e&&e.ordered&&(t["__override__"]=this.unflattenItem(null===this||void 0===this?void 0:this.new_value)),this.$root.$emit("change",this.form.field,t)}},methods:{addNew:function(e){var t=this;this.genericAPI(this.model,this.Actions.CREATE,{name:e}).then((function(e){t.new_value=e.data,c["e"].makeStandardToast(c["e"].SUCCESS_CREATE)})).catch((function(e){console.log(e),c["e"].makeStandardToast(c["e"].FAIL_CREATE)}))},flattenItems:function(e){var t=this,r=[],n=void 0,i=this.form.list_label.split("::");return e.forEach((function(e){n={};for(var o=0,a=Object.entries(e);oe.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),l=r("a026"),p=r("830a"),h=r("118a");l["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:p["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"2338d8bc",null);t["a"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),l=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=l.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},"8c77":function(e,t,r){"use strict";r("e3b3")},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},b05e:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.label}},[r("twemoji-textarea",{ref:"_edit_"+e.id,attrs:{initialContent:e.value,emojiData:e.emojiDataAll,emojiGroups:e.emojiGroups,triggerType:"hover",recentEmojisFeat:"true",recentEmojisStorage:"local"},on:{contentChanged:e.setIcon}})],1)],1)},i=[],o=r("ad23"),a=r("34ef"),s=r("0d08"),c={name:"EmojiInput",components:{TwemojiTextarea:o["a"]},props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:""},value:{type:String,default:""}},data:function(){return{new_value:void 0,id:null}},computed:{emojiDataAll:function(){return a},emojiGroups:function(){return s}},watch:{new_value:function(){var e;this.$root.$emit("change",this.field,null!==(e=this.new_value)&&void 0!==e?e:null)}},mounted:function(){this.id=this._uid},methods:{prepareEmoji:function(){this.$refs["_edit_"+this.id].addText(this.this_item.icon||""),this.$refs["_edit_"+this.id].blur(),document.getElementById("btn-emoji-default").disabled=!0},setIcon:function(e){this.new_value=e}}},u=c,d=r("2877"),l=Object(d["a"])(u,n,i,!1,null,null,null);t["a"]=l.exports},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),l=r("2b2d"),p=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new l["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new l["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,p["e"].makeStandardToast(p["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new l["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),p["e"].makeStandardToast(p["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new l["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),p["e"].makeStandardToast(p["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new l["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},e3b3:function(e,t,r){},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return O})),r.d(t,"e",(function(){return _})),r.d(t,"c",(function(){return y})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return w})),r.d(t,"k",(function(){return k})),r.d(t,"g",(function(){return C})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return I})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),l=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),p=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return O(e,t,r)}}};function O(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new l["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var _=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:O(p["a"].tc("Success"),p["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:O(p["a"].tc("Success"),p["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:O(p["a"].tc("Success"),p["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:O(p["a"].tc("Success"),p["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:O(p["a"].tc("Failure"),p["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:O(p["a"].tc("Failure"),p["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:O(p["a"].tc("Failure"),p["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:O(p["a"].tc("Failure"),p["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(_,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(_,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(_,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(_,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(_,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(_,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(_,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(_,"FAIL_DELETE","FAIL_DELETE");var y={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var w={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return k(e,t)}}};function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function C(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return R(e*t)}function R(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=T(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],l=void 0;u.forEach((function(e,t){if(Array.isArray(e)){l={};for(var n=0,i=Object.entries(r);n{child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return k}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,l=r("9ab4"),p=r("bc3a"),h=r.n(p),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(l["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r0&&this.state.loaded(),e.current>=e.max&&this.state.complete()}}},methods:{infiniteHandler:function(e,t){var r={query:this.search,page:this.page+1};this.state=e,this.$emit("search",r),this.page+=1}}},m=b,v=r("2877"),g=Object(v["a"])(m,u,d,!1,null,null,null),j=g.exports,O=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{margin:"4px"},attrs:{row:""}},[r("b-card",{class:{"border border-primary":e.over,shake:e.isError},style:{"cursor:grab":e.useDrag},attrs:{"no-body":"","d-flex":"","flex-column":"",draggable:e.useDrag},on:e._d({"useDrag&&`dragenter`":[function(e){e.preventDefault()},function(t){return e.handleDragEnter(t)}]},[e.useDrag&&"dragover",function(e){e.preventDefault()},e.useDrag&&"dragstart",function(t){return e.handleDragStart(t)},e.useDrag&&"dragleave",function(t){return e.handleDragLeave(t)},e.useDrag&&"drop",function(t){return e.handleDragDrop(t)}])},[r("b-row",{attrs:{"no-gutters":""}},[r("b-col",{staticClass:"col-sm-3",attrs:{"no-gutters":""}},[r("b-card-img-lazy",{staticStyle:{"object-fit":"cover",height:"6em"},attrs:{src:e.item_image,alt:e.$t("Recipe_Image")}})],1),r("b-col",{staticClass:"col-sm-9",attrs:{"no-gutters":""}},[r("b-card-body",{staticClass:"m-0 py-0"},[r("b-card-text",{staticClass:" h-100 my-0 d-flex flex-column",staticStyle:{"text-overflow":"ellipsis"}},[r("h5",{staticClass:"m-0 mt-1 text-truncate"},[e._v(e._s(e.item[e.title]))]),r("div",{staticClass:"m-0 text-truncate"},[e._v(e._s(e.item[e.subtitle]))]),e._l(e.itemTags,(function(t){return r("generic-pill",{key:t.field,attrs:{item_list:e.item[t.field],label:t.label,color:t.color}})})),e._l(e.itemOrderedTags,(function(t){return r("generic-ordered-pill",{key:t.field,attrs:{item_list:e.item[t.field],label:t.label,color:t.color,field:t.field,item:e.item},on:{"finish-action":e.finishAction}})})),r("div",{staticClass:"mt-auto mb-1",attrs:{align:"right"}},[e.item[e.child_count]?r("span",{staticClass:"mx-2 btn btn-link btn-sm",staticStyle:{"z-index":"800"},on:{click:function(t){return e.$emit("item-action",{action:"get-children",source:e.item})}}},[e.item.show_children?r("div",[e._v(e._s(e.text.hide_children))]):r("div",[e._v(e._s(e.item[e.child_count])+" "+e._s(e.itemName))])]):e._e(),e.item[e.recipe_count]?r("span",{staticClass:"mx-2 btn btn-link btn-sm",staticStyle:{"z-index":"800"},on:{click:function(t){return e.$emit("item-action",{action:"get-recipes",source:e.item})}}},[e.item.show_recipes?r("div",[e._v(e._s(e.$t("Hide_Recipes")))]):r("div",[e._v(e._s(e.item[e.recipe_count])+" "+e._s(e.$t("Recipes")))])]):e._e()])],2)],1)],1),r("div",{staticClass:"card-img-overlay justify-content-right h-25 m-0 p-0 text-right"},[r("badges",{attrs:{item:e.item,model:e.model}}),r("generic-context-menu",{staticClass:"p-0",attrs:{show_merge:e.useMerge,show_move:e.useMove},on:{"item-action":function(t){return e.$emit("item-action",{action:t,source:e.item})}}})],1)],1)],1),e.item.show_children?r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-10 offset-md-2"},e._l(e.item[e.children],(function(t){return r("generic-horizontal-card",{key:t.id,attrs:{item:t,model:e.model},on:{"item-action":function(t){return e.$emit("item-action",t)}}})})),1)]):e._e(),e.item.show_recipes?r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-10 offset-md-2"},[r("div",{staticStyle:{display:"grid","grid-template-columns":"repeat(auto-fit, minmax(200px, 1fr))","grid-gap":"1rem"}},e._l(e.item[e.recipes],(function(e){return r("recipe-card",{key:e.id,attrs:{recipe:e}})})),1)])]):e._e(),r("b-list-group",{directives:[{name:"show",rawName:"v-show",value:e.show_menu,expression:"show_menu"},{name:"on-clickaway",rawName:"v-on-clickaway",value:e.closeMenu,expression:"closeMenu"}],ref:"tooltip",staticStyle:{"z-index":"9999",cursor:"pointer"},attrs:{variant:"light"}},[e.useMove?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"move",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-expand-arrows-alt fa-fw"}),e._v(" "),r("b",[e._v(e._s(e.$t("Move")))]),e._v(": "),r("span",{domProps:{innerHTML:e._s(e.$t("move_confirmation",{child:e.source.name,parent:e.item.name}))}})]):e._e(),e.useMerge?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"merge",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-compress-arrows-alt fa-fw"}),e._v(" "),r("b",[e._v(e._s(e.$t("Merge")))]),e._v(": "),r("span",{domProps:{innerHTML:e._s(e.$t("merge_confirmation",{source:e.source.name,target:e.item.name}))}})]):e._e(),e.useMerge?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"merge-automate",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-robot fa-fw"}),e._v(" "),r("b",[e._v(e._s(e.$t("Merge"))+" & "+e._s(e.$t("Automate")))]),e._v(": "),r("span",{domProps:{innerHTML:e._s(e.$t("merge_confirmation",{source:e.source.name,target:e.item.name}))}}),e._v(" "+e._s(e.$t("create_rule"))+" "),r("b-badge",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:e.$t("warning_feature_beta")}},[e._v("BETA")])],1):e._e(),r("b-list-group-item",{attrs:{action:""},on:{click:function(t){return e.closeMenu()}}},[r("i",{staticClass:"fas fa-times fa-fw"}),e._v(" "),r("b",[e._v(e._s(e.$t("Cancel")))])])],1)],1)},_=[],y=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[r("b-dropdown",{staticStyle:{boundary:"window"},attrs:{variant:"link","toggle-class":"text-decoration-none",right:"","no-caret":""},scopedSlots:e._u([{key:"button-content",fn:function(){return[r("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[e.show_edit?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","edit")}}},[r("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e.$t("Edit"))+" ")]):e._e(),e.show_delete?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","delete")}}},[r("i",{staticClass:"fas fa-trash-alt fa-fw"}),e._v(" "+e._s(e.$t("Delete"))+" ")]):e._e(),e.show_move?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","move")}}},[r("i",{staticClass:"fas fa-expand-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Move"))+" ")]):e._e(),e.show_merge?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","merge")}}},[r("i",{staticClass:"fas fa-compress-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Merge"))+" ")]):e._e(),e.show_merge?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","merge-automate")}}},[r("i",{staticClass:"fas fa-robot fa-fw"}),e._v(" "+e._s(e.$t("Merge"))+" & "+e._s(e.$t("Automate"))+" "),r("b-badge",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],attrs:{title:e.$t("warning_feature_beta")}},[e._v("BETA")])],1):e._e()],1)],1)},S=[],w={name:"GenericContextMenu",props:{show_edit:{type:Boolean,default:!0},show_delete:{type:Boolean,default:!0},show_move:{type:Boolean,default:!1},show_merge:{type:Boolean,default:!1}}},k=w,P=Object(v["a"])(k,y,S,!1,null,null,null),C=P.exports,R=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.linkedRecipe?r("linked-recipe",{attrs:{item:e.item}}):e._e(),e.Icon?r("icon-badge",{attrs:{item:e.item}}):e._e()],1)},U=[],E=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.item.recipe?r("b-button",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:" btn fas fa-book-open p-0 border-0",attrs:{title:e.item.recipe.name,variant:"link",href:e.item.recipe.url}}):e._e()],1)},L=[],T={name:"LinkedRecipeBadge",props:{item:{type:Object}},data:function(){return{}},mounted:function(){},watch:{},methods:{}},I=T,x=Object(v["a"])(I,E,L,!1,null,null,null),A=x.exports,M=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.item.icon?r("b-button",{staticClass:" btn p-0 border-0",attrs:{variant:"link"}},[e._v(" "+e._s(e.item.icon)+" ")]):e._e()],1)},F=[],B={name:"IconBadge",props:{item:{type:Object}},data:function(){return{}},mounted:function(){},watch:{},methods:{}},N=B,D=Object(v["a"])(N,M,F,!1,null,null,null),q=D.exports,$={name:"CardBadges",components:{LinkedRecipe:A,IconBadge:q},props:{item:{type:Object},model:{type:Object}},data:function(){return{}},mounted:function(){},computed:{linkedRecipe:function(){var e,t,r;return null!==(e=null===(t=this.model)||void 0===t||null===(r=t.badges)||void 0===r?void 0:r.linked_recipe)&&void 0!==e&&e},Icon:function(){var e,t,r;return null!==(e=null===(t=this.model)||void 0===t||null===(r=t.badges)||void 0===r?void 0:r.icon)&&void 0!==e&&e}},watch:{},methods:{}},K=$,V=Object(v["a"])(K,R,U,!1,null,null,null),z=V.exports,G=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.itemList?r("div",e._l(e.itemList,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{attrs:{pill:"",variant:e.color}},[e._v(e._s(e.thisLabel(t)))])],1)})),0):e._e()},H=[],Y=(r("1276"),r("159b"),{name:"GenericPill",props:{item_list:{required:!0,type:Array},label:{type:String,default:"name"},color:{type:String,default:"light"}},computed:{itemList:function(){var e;return Array.isArray(this.item_list)?this.item_list:!(null===(e=this.item_list)||void 0===e||!e.id)&&[this.item_list]}},mounted:function(){},methods:{thisLabel:function(e){var t=this.label.split("::"),r=e;return t.forEach((function(e){r=r[e]})),r}}}),W=Y,J=Object(v["a"])(W,G,H,!1,null,null,null),Z=J.exports,X=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.itemList?r("draggable",{attrs:{tag:"span",group:"ordered_items","z-index":"500"},on:{change:e.orderChanged},model:{value:e.this_list,callback:function(t){e.this_list=t},expression:"this_list"}},e._l(e.itemList,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{attrs:{pill:"",variant:e.color}},[e._v(e._s(e.thisLabel(t)))])],1)})),0):e._e()},Q=[],ee=r("b76a"),te=r.n(ee),re={name:"GenericOrderedPill",components:{draggable:te.a},props:{item_list:{required:!0,type:Array},label:{type:String,default:"name"},color:{type:String,default:"light"},field:{type:String,required:!0},item:{type:Object}},data:function(){return{this_list:[]}},computed:{itemList:function(){var e;return Array.isArray(this.this_list)?this.this_list:!(null===(e=this.this_list)||void 0===e||!e.name)&&[this.this_list]}},mounted:function(){this.this_list=this.item_list},watch:{item_list:function(e){this.this_list=e}},methods:{thisLabel:function(e){var t=this.label.split("::"),r=e;return t.forEach((function(e){r=r[e]})),r},orderChanged:function(e){var t=0;this.this_list.forEach((function(e){e["order"]=t,t++}));var r=Object(a["a"])({},this.item);r[this.field]=this.this_list,this.$emit("finish-action",{action:"save",form_data:r})}}},ne=re,ie=Object(v["a"])(ne,X,Q,!1,null,null,null),oe=ie.exports,ae=r("6b0a"),se=r("c7db"),ce=r("39c3"),ue={name:"GenericHorizontalCard",components:{GenericContextMenu:C,RecipeCard:ae["default"],Badges:z,GenericPill:Z,GenericOrderedPill:oe},mixins:[se["mixin"]],props:{item:{type:Object},model:{type:Object},title:{type:String,default:"name"},subtitle:{type:String,default:"description"},child_count:{type:String,default:"numchild"},children:{type:String,default:"children"},recipe_count:{type:String,default:"numrecipe"},recipes:{type:String,default:"recipes"}},data:function(){return{item_image:"",over:!1,show_menu:!1,dragMenu:void 0,isError:!1,source:{id:void 0,name:void 0},target:{id:void 0,name:void 0},text:{hide_children:""}}},mounted:function(){var e,t;this.item_image=null!==(e=null===(t=this.item)||void 0===t?void 0:t.image)&&void 0!==e?e:window.IMAGE_PLACEHOLDER,this.dragMenu=this.$refs.tooltip,this.text.hide_children=this.$t("Hide_"+this.itemName)},computed:{itemName:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.name)&&void 0!==e?e:"You Forgot To Set Model Name in model.js"},useMove:function(){var e,t;return!(null===(e=null===(t=this.model)||void 0===t?void 0:t["move"])||void 0===e||!e)},useMerge:function(){var e,t;return!(null===(e=null===(t=this.model)||void 0===t?void 0:t["merge"])||void 0===e||!e)},useDrag:function(){return this.useMove||this.useMerge},itemTags:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.tags)&&void 0!==e?e:[]},itemOrderedTags:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.ordered_tags)&&void 0!==e?e:[]}},methods:{handleDragStart:function(e){this.isError=!1,e.dataTransfer.setData("source",JSON.stringify(this.item))},handleDragEnter:function(e){e.currentTarget.contains(e.relatedTarget)||null==e.relatedTarget||(this.over=!0)},handleDragLeave:function(e){e.currentTarget.contains(e.relatedTarget)||(this.over=!1)},handleDragDrop:function(e){var t=JSON.parse(e.dataTransfer.getData("source"));if(t.id!=this.item.id){this.source=t;var r={getBoundingClientRect:this.generateLocation(e.clientX,e.clientY)};this.show_menu=!0;var n=Object(ce["a"])(r,this.dragMenu,{placement:"bottom-start",modifiers:[{name:"preventOverflow",options:{rootBoundary:"document"}},{name:"flip",options:{fallbackPlacements:["bottom-end","top-start","top-end","left-start","right-start"],rootBoundary:"document"}}]});n.update(),this.over=!1,this.$emit({action:"drop",target:this.item,source:this.source})}else this.isError=!0},generateLocation:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(){return{width:0,height:0,top:t,right:e,bottom:t,left:e}}},closeMenu:function(){this.show_menu=!1},finishAction:function(e){this.$emit("finish-action",e)}}},de=ue,le=(r("8c77"),Object(v["a"])(de,O,_,!1,null,"51a59cab",null)),pe=le.exports,he=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{attrs:{id:"modal_"+e.id},on:{hidden:e.cancelAction},scopedSlots:e._u([{key:"modal-title",fn:function(){return[r("h4",[e._v(e._s(e.form.title))])]},proxy:!0},{key:"modal-footer",fn:function(){return[r("b-button",{staticClass:"float-right mx-1",attrs:{variant:"secondary"},on:{click:e.cancelAction}},[e._v(e._s(e.$t("Cancel")))]),r("b-button",{staticClass:"float-right mx-1",attrs:{variant:"primary"},on:{click:e.doAction}},[e._v(e._s(e.form.ok_label))])]},proxy:!0}])},e._l(e.form.fields,(function(t,n){return r("div",{key:n},["instruction"==t.type?r("p",[e._v(e._s(t.label))]):e._e(),"lookup"==t.type?r("lookup-input",{attrs:{form:t,model:e.listModel(t.list)},on:{change:e.storeValue}}):e._e(),e._v(" "),"checkbox"==t.type?r("checkbox-input",{attrs:{label:t.label,value:t.value,field:t.field}}):e._e(),"text"==t.type?r("text-input",{attrs:{label:t.label,value:t.value,field:t.field,placeholder:t.placeholder}}):e._e(),"choice"==t.type?r("choice-input",{attrs:{label:t.label,value:t.value,field:t.field,options:t.options,placeholder:t.placeholder}}):e._e(),"emoji"==t.type?r("emoji-input",{attrs:{label:t.label,value:t.value,field:t.field},on:{change:e.storeValue}}):e._e()],1)})),0)],1)},fe=[],be=r("3835"),me=(r("4fad"),r("6369")),ve=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-checkbox",{model:{value:e.new_value,callback:function(t){e.new_value=t},expression:"new_value"}},[e._v(e._s(e.label))])],1)},ge=[],je={name:"CheckboxInput",props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:"Checkbox Field"},value:{type:Boolean,default:!1},show_move:{type:Boolean,default:!1},show_merge:{type:Boolean,default:!1}},data:function(){return{new_value:void 0}},mounted:function(){this.new_value=this.value},watch:{new_value:function(){this.$root.$emit("change",this.field,this.new_value)}},methods:{}},Oe=je,_e=Object(v["a"])(Oe,ve,ge,!1,null,null,null),ye=_e.exports,Se=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.form.label}},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.initialSelection,model:e.model,multiple:e.useMultiple,sticky_options:e.sticky_options,allow_create:e.create_new,create_placeholder:e.createPlaceholder,placeholder:e.modelName},on:{change:function(t){e.new_value=t.val},remove:function(t){e.new_value=void 0},new:e.addNew}})],1)],1)},we=[],ke=r("53ca"),Pe=(r("5319"),r("7432")),Ce={name:"LookupInput",components:{GenericMultiselect:Pe["a"]},mixins:[c["a"]],props:{form:{type:Object,default:function(){}},model:{type:Object,default:function(){}}},data:function(){return{new_value:void 0,field:void 0,label:void 0,sticky_options:void 0,first_run:!0}},mounted:function(){var e,t,r,n,i,o,a;this.new_value=null===(e=this.form)||void 0===e?void 0:e.value,this.field=null!==(t=null===(r=this.form)||void 0===r?void 0:r.field)&&void 0!==t?t:"You Forgot To Set Field Name",this.label=null!==(n=null===(i=this.form)||void 0===i?void 0:i.label)&&void 0!==n?n:"",this.sticky_options=null!==(o=null===(a=this.form)||void 0===a?void 0:a.sticky_options)&&void 0!==o?o:[]},computed:{modelName:function(){var e,t;return null!==(e=null===this||void 0===this||null===(t=this.model)||void 0===t?void 0:t.name)&&void 0!==e?e:this.$t("Search")},useMultiple:function(){var e,t;return(null===(e=this.form)||void 0===e?void 0:e.multiple)||(null===(t=this.form)||void 0===t?void 0:t.ordered)||!1},initialSelection:function(){var e,t=this.form.value,r=void 0;return r=Array.isArray(t)?t:t?"object"===Object(ke["a"])(t)?[t]:[{id:-1,name:t}]:[],null!==(e=this.form)&&void 0!==e&&e.ordered&&this.first_run?this.flattenItems(r):r},createPlaceholder:function(){var e;return this.$t("Create_New_"+(null===this||void 0===this||null===(e=this.model)||void 0===e?void 0:e.name))}},watch:{new_value:function(){var e,t=null===this||void 0===this?void 0:this.new_value;null!==(e=this.form)&&void 0!==e&&e.ordered&&(t["__override__"]=this.unflattenItem(null===this||void 0===this?void 0:this.new_value)),this.$root.$emit("change",this.form.field,t)}},methods:{addNew:function(e){var t=this;this.genericAPI(this.model,this.Actions.CREATE,{name:e}).then((function(e){t.new_value=e.data,c["e"].makeStandardToast(c["e"].SUCCESS_CREATE)})).catch((function(e){console.log(e),c["e"].makeStandardToast(c["e"].FAIL_CREATE)}))},flattenItems:function(e){var t=this,r=[],n=void 0,i=this.form.list_label.split("::");return e.forEach((function(e){n={};for(var o=0,a=Object.entries(e);oe.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),l=r("a026"),p=r("830a"),h=r("118a");l["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:p["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"2338d8bc",null);t["default"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),l=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=l.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},"8c77":function(e,t,r){"use strict";r("e3b3")},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},b05e:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.label}},[r("twemoji-textarea",{ref:"_edit_"+e.id,attrs:{initialContent:e.value,emojiData:e.emojiDataAll,emojiGroups:e.emojiGroups,triggerType:"hover",recentEmojisFeat:"true",recentEmojisStorage:"local"},on:{contentChanged:e.setIcon}})],1)],1)},i=[],o=r("ad23"),a=r("34ef"),s=r("0d08"),c={name:"EmojiInput",components:{TwemojiTextarea:o["a"]},props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:""},value:{type:String,default:""}},data:function(){return{new_value:void 0,id:null}},computed:{emojiDataAll:function(){return a},emojiGroups:function(){return s}},watch:{new_value:function(){var e;this.$root.$emit("change",this.field,null!==(e=this.new_value)&&void 0!==e?e:null)}},mounted:function(){this.id=this._uid},methods:{prepareEmoji:function(){this.$refs["_edit_"+this.id].addText(this.this_item.icon||""),this.$refs["_edit_"+this.id].blur(),document.getElementById("btn-emoji-default").disabled=!0},setIcon:function(e){this.new_value=e}}},u=c,d=r("2877"),l=Object(d["a"])(u,n,i,!1,null,null,null);t["a"]=l.exports},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),l=r("2b2d"),p=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new l["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new l["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,p["e"].makeStandardToast(p["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new l["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),p["e"].makeStandardToast(p["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new l["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),p["e"].makeStandardToast(p["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new l["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},e3b3:function(e,t,r){},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f347:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-modal",{attrs:{id:e.modal_id,size:"lg",title:e.modal_title,"hide-footer":"","aria-label":""}},[r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-12"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-6 col-lg-9"},[r("b-input-group",[r("b-form-input",{attrs:{id:"TitleInput",placeholder:e.entryEditing.title_placeholder},model:{value:e.entryEditing.title,callback:function(t){e.$set(e.entryEditing,"title",t)},expression:"entryEditing.title"}}),r("b-input-group-append",{staticClass:"d-none d-lg-block"},[r("b-button",{attrs:{variant:"primary"},on:{click:function(t){e.entryEditing.title=""}}},[r("i",{staticClass:"fa fa-eraser"})])],1)],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Title")))])],1),r("div",{staticClass:"col-6 col-lg-3"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.date,expression:"entryEditing.date"}],staticClass:"form-control",attrs:{type:"date",id:"DateInput"},domProps:{value:e.entryEditing.date},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"date",t.target.value)}}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Date")))])])]),r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-12 col-lg-6 col-xl-6"},[r("b-form-group",[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.entryEditing_initial_recipe,label:"name",model:e.Models.RECIPE,placeholder:e.$t("Recipe"),limit:10,multiple:!1},on:{change:e.selectRecipe}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Recipe")))])],1),r("b-form-group",{staticClass:"mt-3"},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{required:"",label:"name",model:e.Models.MEAL_TYPE,placeholder:e.$t("MealType"),limit:10,multiple:!1,initial_selection:e.entryEditing_initial_meal_type},on:{change:e.selectMealType}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("MealType")))])],1),r("b-form-group",{staticClass:"mt-3",attrs:{"label-for":"NoteInput",description:e.$t("Note")}},[r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.note,expression:"entryEditing.note"}],staticClass:"form-control",attrs:{id:"NoteInput",placeholder:e.$t("Note")},domProps:{value:e.entryEditing.note},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"note",t.target.value)}}})]),r("b-input-group",[r("b-form-input",{attrs:{id:"ServingsInput",placeholder:e.$t("Servings")},model:{value:e.entryEditing.servings,callback:function(t){e.$set(e.entryEditing,"servings",t)},expression:"entryEditing.servings"}})],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Servings")))])],1),r("div",{staticClass:"col-lg-6 d-none d-lg-block d-xl-block"},[null!=e.entryEditing.recipe?r("recipe-card",{attrs:{recipe:e.entryEditing.recipe}}):e._e()],1)]),r("div",{staticClass:"row mt-3 mb-3"},[r("div",{staticClass:"col-12"},[e.allow_delete?r("b-button",{attrs:{variant:"danger"},on:{click:e.deleteEntry}},[e._v(e._s(e.$t("Delete"))+" ")]):e._e(),r("b-button",{staticClass:"float-right",attrs:{variant:"primary"},on:{click:e.editEntry}},[e._v(e._s(e.$t("Save")))])],1)])])])])},i=[],o=(r("d3b7"),r("3ca3"),r("ddb0"),r("b0c0"),r("a026")),a=r("5f5b"),s=r("7432"),c=r("fa7d");o["default"].use(a["a"]);var u={name:"MealPlanEditModal",props:{entry:Object,entryEditing_initial_recipe:Array,entryEditing_initial_meal_type:Array,modal_title:String,modal_id:{type:String,default:"edit-modal"},allow_delete:{type:Boolean,default:!0}},mixins:[c["a"]],components:{GenericMultiselect:s["a"],RecipeCard:function(){return r.e("chunk-2d0da313").then(r.bind(null,"6b0a"))}},data:function(){return{entryEditing:{}}},watch:{entry:{handler:function(){this.entryEditing=Object.assign({},this.entry)},deep:!0}},methods:{editEntry:function(){null!=this.entryEditing.meal_type?null!=this.entryEditing.recipe||""!==this.entryEditing.title?(this.$bvModal.hide("edit-modal"),this.$emit("save-entry",this.entryEditing)):alert("Need title or recipe"):alert("Need Meal type")},deleteEntry:function(){this.$bvModal.hide("edit-modal"),this.$emit("delete-entry",this.entryEditing)},selectMealType:function(e){null!=e.val?this.entryEditing.meal_type=e.val:this.entryEditing.meal_type=null},selectRecipe:function(e){null!=e.val?(this.entryEditing.recipe=e.val,this.entryEditing.title_placeholder=this.entryEditing.recipe.name,this.entryEditing.servings=this.entryEditing.recipe.servings):(this.entryEditing.recipe=null,this.entryEditing.title_placeholder="",this.entryEditing.servings=1)}}},d=u,l=r("2877"),p=Object(l["a"])(d,n,i,!1,null,"7564c819",null);t["a"]=p.exports},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return O})),r.d(t,"e",(function(){return _})),r.d(t,"c",(function(){return y})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return w})),r.d(t,"k",(function(){return k})),r.d(t,"g",(function(){return C})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return I})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),l=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),p=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return O(e,t,r)}}};function O(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new l["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var _=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:O(p["a"].tc("Success"),p["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:O(p["a"].tc("Success"),p["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:O(p["a"].tc("Success"),p["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:O(p["a"].tc("Success"),p["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:O(p["a"].tc("Failure"),p["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:O(p["a"].tc("Failure"),p["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:O(p["a"].tc("Failure"),p["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:O(p["a"].tc("Failure"),p["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(_,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(_,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(_,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(_,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(_,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(_,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(_,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(_,"FAIL_DELETE","FAIL_DELETE");var y={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var w={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return k(e,t)}}};function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function C(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return R(e*t)}function R(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=T(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],l=void 0;u.forEach((function(e,t){if(Array.isArray(e)){l={};for(var n=0,i=Object.entries(r);n{child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},O=function(e){for(var t=[],r=1;r0},normalizer:function(e){var t=null!==e&&void 0!==e&&e.count?" ("+e.count+")":"";return{id:e.id,label:e.name+t,children:e.children,isDefaultExpanded:e.isDefaultExpanded}},isRecentOrNew:function(e){var t=[this.$t("Recently_Viewed"),"fas fa-eye"],r=[this.$t("New_Recipe"),"fas fa-splotch"];return e.new?r:this.facets.Recent.includes(e.id)?t:[void 0,void 0]}}},_=y,S=(r("60bc"),r("2877")),k=Object(S["a"])(_,i,o,!1,null,null,null),w=k.exports,P=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:P["a"],render:function(e){return e(w)}}).$mount("#app")},6369:function(e,t,r){"use strict";r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return s}));var n=r("d4ec"),i=r("ade3"),o=r("9225"),a=function e(){Object(n["a"])(this,e)};Object(i["a"])(a,"TREE",{list:{params:["query","root","tree","page","pageSize"],config:{root:{default:{function:"CONDITIONAL",check:"query",operator:"not_exist",true:0,false:void 0}},tree:{default:void 0}}},delete:{form:{instruction:{form_field:!0,type:"instruction",function:"translate",phrase:"del_confimation_tree",params:[{token:"source",from:"item1",attribute:"name"}]}}},move:{form:{target:{form_field:!0,type:"lookup",field:"target",list:"self",sticky_options:[{id:0,name:o["a"].t("tree_root")}]}}}}),Object(i["a"])(a,"FOOD",{name:o["a"].t("Food"),apiName:"Food",model_type:a.TREE,paginated:!0,move:!0,merge:!0,badges:{linked_recipe:!0},tags:[{field:"supermarket_category",label:"name",color:"info"}],create:{params:[["name","description","recipe","ignore_shopping","supermarket_category"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},recipe:{form_field:!0,type:"lookup",field:"recipe",list:"RECIPE",label:o["a"].t("Recipe")},shopping:{form_field:!0,type:"checkbox",field:"ignore_shopping",label:o["a"].t("Ignore_Shopping")},shopping_category:{form_field:!0,type:"lookup",field:"supermarket_category",list:"SHOPPING_CATEGORY",label:o["a"].t("Shopping_Category"),allow_create:!0}}}}),Object(i["a"])(a,"KEYWORD",{name:o["a"].t("Keyword"),apiName:"Keyword",model_type:a.TREE,paginated:!0,move:!0,merge:!0,badges:{icon:!0},create:{params:[["name","description","icon"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},icon:{form_field:!0,type:"emoji",field:"icon",label:o["a"].t("Icon")}}}}),Object(i["a"])(a,"UNIT",{name:o["a"].t("Unit"),apiName:"Unit",paginated:!0,create:{params:[["name","description"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}},merge:!0}),Object(i["a"])(a,"SHOPPING_LIST",{}),Object(i["a"])(a,"RECIPE_BOOK",{name:o["a"].t("Recipe_Book"),apiName:"RecipeBook",create:{params:[["name","description","icon"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},icon:{form_field:!0,type:"emoji",field:"icon",label:o["a"].t("Icon")}}}}),Object(i["a"])(a,"SHOPPING_CATEGORY",{name:o["a"].t("Shopping_Category"),apiName:"SupermarketCategory",create:{params:[["name","description"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}}}),Object(i["a"])(a,"SHOPPING_CATEGORY_RELATION",{name:o["a"].t("Shopping_Category_Relation"),apiName:"SupermarketCategoryRelation",create:{params:[["category","supermarket","order"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}}}),Object(i["a"])(a,"SUPERMARKET",{name:o["a"].t("Supermarket"),apiName:"Supermarket",ordered_tags:[{field:"category_to_supermarket",label:"category::name",color:"info"}],create:{params:[["name","description","category_to_supermarket"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},categories:{form_field:!0,type:"lookup",list:"SHOPPING_CATEGORY",list_label:"category::name",ordered:!0,field:"category_to_supermarket",label:o["a"].t("Categories"),placeholder:""}},config:{category_to_supermarket:{function:"handleSuperMarketCategory"}}}}),Object(i["a"])(a,"AUTOMATION",{name:o["a"].t("Automation"),apiName:"Automation",paginated:!0,create:{params:[["name","description","type","param_1","param_2","param_3"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},type:{form_field:!0,type:"choice",options:[{value:"FOOD_ALIAS",text:o["a"].t("Food_Alias")},{value:"UNIT_ALIAS",text:o["a"].t("Unit_Alias")},{value:"KEYWORD_ALIAS",text:o["a"].t("Keyword_Alias")}],field:"type",label:o["a"].t("Type"),placeholder:""},param_1:{form_field:!0,type:"text",field:"param_1",label:o["a"].t("Parameter")+" 1",placeholder:""},param_2:{form_field:!0,type:"text",field:"param_2",label:o["a"].t("Parameter")+" 2",placeholder:""},param_3:{form_field:!0,type:"text",field:"param_3",label:o["a"].t("Parameter")+" 3",placeholder:""}}}}),Object(i["a"])(a,"RECIPE",{name:o["a"].t("Recipe"),apiName:"Recipe",list:{params:["query","keywords","foods","units","rating","books","keywordsOr","foodsOr","booksOr","internal","random","_new","page","pageSize","options"],config:{foods:{type:"string"},keywords:{type:"string"},books:{type:"string"}}}}),Object(i["a"])(a,"USER_NAME",{name:o["a"].t("User"),apiName:"User",list:{params:["filter_list"]}}),Object(i["a"])(a,"MEAL_TYPE",{name:o["a"].t("Meal_Type"),apiName:"MealType",list:{params:["filter_list"]}}),Object(i["a"])(a,"MEAL_PLAN",{name:o["a"].t("Meal_Plan"),apiName:"MealPlan",list:{params:["options"]}});var s=function e(){Object(n["a"])(this,e)};Object(i["a"])(s,"CREATE",{function:"create",form:{title:{function:"translate",phrase:"create_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Save")}}),Object(i["a"])(s,"UPDATE",{function:"partialUpdate",form_title:{function:"translate",phrase:"edit_title",params:[{token:"type",from:"model",attribute:"name"}]}}),Object(i["a"])(s,"DELETE",{function:"destroy",params:["id"],form:{title:{function:"translate",phrase:"delete_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Delete"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"delete_confirmation",params:[{token:"source",from:"item1",attribute:"name"}]}}}}),Object(i["a"])(s,"FETCH",{function:"retrieve",params:["id"]}),Object(i["a"])(s,"LIST",{function:"list",suffix:"s",params:["query","page","pageSize"],config:{query:{default:void 0},page:{default:1},pageSize:{default:25}}}),Object(i["a"])(s,"MERGE",{function:"merge",params:["source","target"],config:{source:{type:"string"},target:{type:"string"}},form:{title:{function:"translate",phrase:"merge_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Merge"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"merge_selection",params:[{token:"source",from:"item1",attribute:"name"},{token:"type",from:"model",attribute:"name"}]}},target:{form_field:!0,type:"lookup",field:"target",list:"self"}}}),Object(i["a"])(s,"MOVE",{function:"move",params:["source","target"],config:{source:{type:"string"},target:{type:"string"}},form:{title:{function:"translate",phrase:"move_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Move"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"move_selection",params:[{token:"source",from:"item1",attribute:"name"},{token:"type",from:"model",attribute:"name"}]}},target:{form_field:!0,type:"lookup",field:"target",list:"self"}}})},"6b0a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("a",{attrs:{href:e.clickUrl()}},[r("b-card-img-lazy",{staticStyle:{height:"15vh","object-fit":"cover"},attrs:{src:e.recipe_image,alt:e.$t("Recipe_Image"),top:""}}),r("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right pt-2 pr-1"},[r("a",[null!==e.recipe?r("recipe-context-menu",{staticClass:"float-right",attrs:{recipe:e.recipe}}):e._e()],1)]),0!==e.recipe.waiting_time?r("div",{staticClass:"card-img-overlay w-50 d-flex flex-column justify-content-left float-left text-left pt-2"},[r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"light"}},[r("i",{staticClass:"fa fa-clock"}),e._v(" "+e._s(e.recipe.working_time)+" "+e._s(e.$t("min"))+" ")]),r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"secondary"}},[r("i",{staticClass:"fa fa-pause"}),e._v(" "+e._s(e.recipe.waiting_time)+" "+e._s(e.$t("min"))+" ")])],1):e._e()],1),r("b-card-body",{staticClass:"p-4"},[r("h6",[r("a",{attrs:{href:e.clickUrl()}},[null!==e.recipe?[e._v(e._s(e.recipe.name))]:[e._v(e._s(e.meal_plan.title))]],2)]),r("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[null!==e.recipe?[r("recipe-rating",{attrs:{recipe:e.recipe}}),null!==e.recipe.description?[e.recipe.description.length>e.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),p=r("a026"),l=r("830a"),h=r("118a");p["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:l["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"2338d8bc",null);t["a"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=p.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"row"},[r("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[r("img",{staticClass:"spinner-tandoor",style:{height:e.size+"vh"},attrs:{alt:"loading spinner",src:""}})])])},i=[],o=(r("a9e3"),{name:"LoadingSpinner",props:{recipe:Object,size:{type:Number,default:30}}}),a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return O})),r.d(t,"j",(function(){return j})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return R})),r.d(t,"a",(function(){return C})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),O={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return j(e,t,r)}}};function j(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:j(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:j(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:j(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:j(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:j(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:j(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:j(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:j(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function R(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return U(e*t)}function U(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var C={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n{child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},O=function(e){for(var t=[],r=1;r0},normalizer:function(e){var t=null!==e&&void 0!==e&&e.count?" ("+e.count+")":"";return{id:e.id,label:e.name+t,children:e.children,isDefaultExpanded:e.isDefaultExpanded}},isRecentOrNew:function(e){var t=[this.$t("Recently_Viewed"),"fas fa-eye"],r=[this.$t("New_Recipe"),"fas fa-splotch"];return e.new?r:this.facets.Recent.includes(e.id)?t:[void 0,void 0]}}},_=y,S=(r("60bc"),r("2877")),k=Object(S["a"])(_,i,o,!1,null,null,null),w=k.exports,P=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:P["a"],render:function(e){return e(w)}}).$mount("#app")},6369:function(e,t,r){"use strict";r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return s}));var n=r("d4ec"),i=r("ade3"),o=r("9225"),a=function e(){Object(n["a"])(this,e)};Object(i["a"])(a,"TREE",{list:{params:["query","root","tree","page","pageSize"],config:{root:{default:{function:"CONDITIONAL",check:"query",operator:"not_exist",true:0,false:void 0}},tree:{default:void 0}}},delete:{form:{instruction:{form_field:!0,type:"instruction",function:"translate",phrase:"del_confimation_tree",params:[{token:"source",from:"item1",attribute:"name"}]}}},move:{form:{target:{form_field:!0,type:"lookup",field:"target",list:"self",sticky_options:[{id:0,name:o["a"].t("tree_root")}]}}}}),Object(i["a"])(a,"FOOD",{name:o["a"].t("Food"),apiName:"Food",model_type:a.TREE,paginated:!0,move:!0,merge:!0,badges:{linked_recipe:!0},tags:[{field:"supermarket_category",label:"name",color:"info"}],create:{params:[["name","description","recipe","ignore_shopping","supermarket_category"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},recipe:{form_field:!0,type:"lookup",field:"recipe",list:"RECIPE",label:o["a"].t("Recipe")},shopping:{form_field:!0,type:"checkbox",field:"ignore_shopping",label:o["a"].t("Ignore_Shopping")},shopping_category:{form_field:!0,type:"lookup",field:"supermarket_category",list:"SHOPPING_CATEGORY",label:o["a"].t("Shopping_Category"),allow_create:!0}}}}),Object(i["a"])(a,"KEYWORD",{name:o["a"].t("Keyword"),apiName:"Keyword",model_type:a.TREE,paginated:!0,move:!0,merge:!0,badges:{icon:!0},create:{params:[["name","description","icon"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},icon:{form_field:!0,type:"emoji",field:"icon",label:o["a"].t("Icon")}}}}),Object(i["a"])(a,"UNIT",{name:o["a"].t("Unit"),apiName:"Unit",paginated:!0,create:{params:[["name","description"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}},merge:!0}),Object(i["a"])(a,"SHOPPING_LIST",{}),Object(i["a"])(a,"RECIPE_BOOK",{name:o["a"].t("Recipe_Book"),apiName:"RecipeBook",create:{params:[["name","description","icon"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},icon:{form_field:!0,type:"emoji",field:"icon",label:o["a"].t("Icon")}}}}),Object(i["a"])(a,"SHOPPING_CATEGORY",{name:o["a"].t("Shopping_Category"),apiName:"SupermarketCategory",create:{params:[["name","description"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}}}),Object(i["a"])(a,"SHOPPING_CATEGORY_RELATION",{name:o["a"].t("Shopping_Category_Relation"),apiName:"SupermarketCategoryRelation",create:{params:[["category","supermarket","order"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}}}),Object(i["a"])(a,"SUPERMARKET",{name:o["a"].t("Supermarket"),apiName:"Supermarket",ordered_tags:[{field:"category_to_supermarket",label:"category::name",color:"info"}],create:{params:[["name","description","category_to_supermarket"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},categories:{form_field:!0,type:"lookup",list:"SHOPPING_CATEGORY",list_label:"category::name",ordered:!0,field:"category_to_supermarket",label:o["a"].t("Categories"),placeholder:""}},config:{category_to_supermarket:{function:"handleSuperMarketCategory"}}}}),Object(i["a"])(a,"AUTOMATION",{name:o["a"].t("Automation"),apiName:"Automation",paginated:!0,create:{params:[["name","description","type","param_1","param_2","param_3"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},type:{form_field:!0,type:"choice",options:[{value:"FOOD_ALIAS",text:o["a"].t("Food_Alias")},{value:"UNIT_ALIAS",text:o["a"].t("Unit_Alias")},{value:"KEYWORD_ALIAS",text:o["a"].t("Keyword_Alias")}],field:"type",label:o["a"].t("Type"),placeholder:""},param_1:{form_field:!0,type:"text",field:"param_1",label:o["a"].t("Parameter")+" 1",placeholder:""},param_2:{form_field:!0,type:"text",field:"param_2",label:o["a"].t("Parameter")+" 2",placeholder:""},param_3:{form_field:!0,type:"text",field:"param_3",label:o["a"].t("Parameter")+" 3",placeholder:""}}}}),Object(i["a"])(a,"RECIPE",{name:o["a"].t("Recipe"),apiName:"Recipe",list:{params:["query","keywords","foods","units","rating","books","keywordsOr","foodsOr","booksOr","internal","random","_new","page","pageSize","options"],config:{foods:{type:"string"},keywords:{type:"string"},books:{type:"string"}}}}),Object(i["a"])(a,"USER_NAME",{name:o["a"].t("User"),apiName:"User",list:{params:["filter_list"]}}),Object(i["a"])(a,"MEAL_TYPE",{name:o["a"].t("Meal_Type"),apiName:"MealType",list:{params:["filter_list"]}}),Object(i["a"])(a,"MEAL_PLAN",{name:o["a"].t("Meal_Plan"),apiName:"MealPlan",list:{params:["options"]}});var s=function e(){Object(n["a"])(this,e)};Object(i["a"])(s,"CREATE",{function:"create",form:{title:{function:"translate",phrase:"create_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Save")}}),Object(i["a"])(s,"UPDATE",{function:"partialUpdate",form_title:{function:"translate",phrase:"edit_title",params:[{token:"type",from:"model",attribute:"name"}]}}),Object(i["a"])(s,"DELETE",{function:"destroy",params:["id"],form:{title:{function:"translate",phrase:"delete_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Delete"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"delete_confirmation",params:[{token:"source",from:"item1",attribute:"name"}]}}}}),Object(i["a"])(s,"FETCH",{function:"retrieve",params:["id"]}),Object(i["a"])(s,"LIST",{function:"list",suffix:"s",params:["query","page","pageSize"],config:{query:{default:void 0},page:{default:1},pageSize:{default:25}}}),Object(i["a"])(s,"MERGE",{function:"merge",params:["source","target"],config:{source:{type:"string"},target:{type:"string"}},form:{title:{function:"translate",phrase:"merge_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Merge"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"merge_selection",params:[{token:"source",from:"item1",attribute:"name"},{token:"type",from:"model",attribute:"name"}]}},target:{form_field:!0,type:"lookup",field:"target",list:"self"}}}),Object(i["a"])(s,"MOVE",{function:"move",params:["source","target"],config:{source:{type:"string"},target:{type:"string"}},form:{title:{function:"translate",phrase:"move_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Move"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"move_selection",params:[{token:"source",from:"item1",attribute:"name"},{token:"type",from:"model",attribute:"name"}]}},target:{form_field:!0,type:"lookup",field:"target",list:"self"}}})},"6b0a":function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("a",{attrs:{href:e.clickUrl()}},[r("b-card-img-lazy",{staticStyle:{height:"15vh","object-fit":"cover"},attrs:{src:e.recipe_image,alt:e.$t("Recipe_Image"),top:""}}),r("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right pt-2 pr-1"},[r("a",[null!==e.recipe?r("recipe-context-menu",{staticClass:"float-right",attrs:{recipe:e.recipe}}):e._e()],1)]),0!==e.recipe.waiting_time?r("div",{staticClass:"card-img-overlay w-50 d-flex flex-column justify-content-left float-left text-left pt-2"},[r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"light"}},[r("i",{staticClass:"fa fa-clock"}),e._v(" "+e._s(e.recipe.working_time)+" "+e._s(e.$t("min"))+" ")]),r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"secondary"}},[r("i",{staticClass:"fa fa-pause"}),e._v(" "+e._s(e.recipe.waiting_time)+" "+e._s(e.$t("min"))+" ")])],1):e._e()],1),r("b-card-body",{staticClass:"p-4"},[r("h6",[r("a",{attrs:{href:e.clickUrl()}},[null!==e.recipe?[e._v(e._s(e.recipe.name))]:[e._v(e._s(e.meal_plan.title))]],2)]),r("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[null!==e.recipe?[r("recipe-rating",{attrs:{recipe:e.recipe}}),null!==e.recipe.description?[e.recipe.description.length>e.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),p=r("a026"),l=r("830a"),h=r("118a");p["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:l["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120},recipe_image:function(){return null==this.recipe||null===this.recipe.image?window.IMAGE_PLACEHOLDER:this.recipe.image}},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"2338d8bc",null);t["default"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=p.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"row"},[r("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[r("img",{staticClass:"spinner-tandoor",style:{height:e.size+"vh"},attrs:{alt:"loading spinner",src:""}})])])},i=[],o=(r("a9e3"),{name:"LoadingSpinner",props:{recipe:Object,size:{type:Number,default:30}}}),a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f347:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-modal",{attrs:{id:e.modal_id,size:"lg",title:e.modal_title,"hide-footer":"","aria-label":""}},[r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-12"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-6 col-lg-9"},[r("b-input-group",[r("b-form-input",{attrs:{id:"TitleInput",placeholder:e.entryEditing.title_placeholder},model:{value:e.entryEditing.title,callback:function(t){e.$set(e.entryEditing,"title",t)},expression:"entryEditing.title"}}),r("b-input-group-append",{staticClass:"d-none d-lg-block"},[r("b-button",{attrs:{variant:"primary"},on:{click:function(t){e.entryEditing.title=""}}},[r("i",{staticClass:"fa fa-eraser"})])],1)],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Title")))])],1),r("div",{staticClass:"col-6 col-lg-3"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.date,expression:"entryEditing.date"}],staticClass:"form-control",attrs:{type:"date",id:"DateInput"},domProps:{value:e.entryEditing.date},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"date",t.target.value)}}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Date")))])])]),r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-12 col-lg-6 col-xl-6"},[r("b-form-group",[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.entryEditing_initial_recipe,label:"name",model:e.Models.RECIPE,placeholder:e.$t("Recipe"),limit:10,multiple:!1},on:{change:e.selectRecipe}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Recipe")))])],1),r("b-form-group",{staticClass:"mt-3"},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{required:"",label:"name",model:e.Models.MEAL_TYPE,placeholder:e.$t("MealType"),limit:10,multiple:!1,initial_selection:e.entryEditing_initial_meal_type},on:{change:e.selectMealType}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("MealType")))])],1),r("b-form-group",{staticClass:"mt-3",attrs:{"label-for":"NoteInput",description:e.$t("Note")}},[r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.note,expression:"entryEditing.note"}],staticClass:"form-control",attrs:{id:"NoteInput",placeholder:e.$t("Note")},domProps:{value:e.entryEditing.note},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"note",t.target.value)}}})]),r("b-input-group",[r("b-form-input",{attrs:{id:"ServingsInput",placeholder:e.$t("Servings")},model:{value:e.entryEditing.servings,callback:function(t){e.$set(e.entryEditing,"servings",t)},expression:"entryEditing.servings"}})],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Servings")))])],1),r("div",{staticClass:"col-lg-6 d-none d-lg-block d-xl-block"},[null!=e.entryEditing.recipe?r("recipe-card",{attrs:{recipe:e.entryEditing.recipe}}):e._e()],1)]),r("div",{staticClass:"row mt-3 mb-3"},[r("div",{staticClass:"col-12"},[e.allow_delete?r("b-button",{attrs:{variant:"danger"},on:{click:e.deleteEntry}},[e._v(e._s(e.$t("Delete"))+" ")]):e._e(),r("b-button",{staticClass:"float-right",attrs:{variant:"primary"},on:{click:e.editEntry}},[e._v(e._s(e.$t("Save")))])],1)])])])])},i=[],o=(r("d3b7"),r("3ca3"),r("ddb0"),r("b0c0"),r("a026")),a=r("5f5b"),s=r("7432"),c=r("fa7d");o["default"].use(a["a"]);var u={name:"MealPlanEditModal",props:{entry:Object,entryEditing_initial_recipe:Array,entryEditing_initial_meal_type:Array,modal_title:String,modal_id:{type:String,default:"edit-modal"},allow_delete:{type:Boolean,default:!0}},mixins:[c["a"]],components:{GenericMultiselect:s["a"],RecipeCard:function(){return r.e("chunk-2d0da313").then(r.bind(null,"6b0a"))}},data:function(){return{entryEditing:{}}},watch:{entry:{handler:function(){this.entryEditing=Object.assign({},this.entry)},deep:!0}},methods:{editEntry:function(){null!=this.entryEditing.meal_type?null!=this.entryEditing.recipe||""!==this.entryEditing.title?(this.$bvModal.hide("edit-modal"),this.$emit("save-entry",this.entryEditing)):alert("Need title or recipe"):alert("Need Meal type")},deleteEntry:function(){this.$bvModal.hide("edit-modal"),this.$emit("delete-entry",this.entryEditing)},selectMealType:function(e){null!=e.val?this.entryEditing.meal_type=e.val:this.entryEditing.meal_type=null},selectRecipe:function(e){null!=e.val?(this.entryEditing.recipe=e.val,this.entryEditing.title_placeholder=this.entryEditing.recipe.name,this.entryEditing.servings=this.entryEditing.recipe.servings):(this.entryEditing.recipe=null,this.entryEditing.title_placeholder="",this.entryEditing.servings=1)}}},d=u,p=r("2877"),l=Object(p["a"])(d,n,i,!1,null,"7564c819",null);t["a"]=l.exports},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return O})),r.d(t,"j",(function(){return j})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return R})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),O={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return j(e,t,r)}}};function j(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:j(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:j(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:j(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:j(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:j(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:j(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:j(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:j(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function R(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return C(e*t)}function C(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n0?r("div",{staticClass:"col-md-6 order-md-1 col-sm-12 order-sm-2 col-12 order-2"},[r("div",{staticClass:"card border-primary"},[r("div",{staticClass:"card-body"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-8"},[r("h4",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))])])]),r("br"),r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-12"},[r("table",{staticClass:"table table-sm"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(t){return[r("Ingredient",{key:t.id,attrs:{ingredient:t,ingredient_factor:e.ingredient_factor},on:{"checked-state-changed":e.updateIngredientCheckedState}})]}))]}))],2)])])])])]):e._e(),r("div",{staticClass:"col-12 order-1 col-sm-12 order-sm-1 col-md-6 order-md-2"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-12"},[null!==e.recipe.image?r("img",{staticClass:"img img-fluid rounded",staticStyle:{"max-height":"30vh"},attrs:{src:e.recipe.image,alt:e.$t("Recipe_Image")}}):e._e()])]),r("div",{staticClass:"row",staticStyle:{"margin-top":"2vh","margin-bottom":"2vh"}},[r("div",{staticClass:"col-12"},[r("Nutrition",{attrs:{recipe:e.recipe,ingredient_factor:e.ingredient_factor}})],1)])])]),e.recipe.internal?e._e():[e.recipe.file_path.includes(".pdf")?r("div",[r("PdfViewer",{attrs:{recipe:e.recipe}})],1):e._e(),e.recipe.file_path.includes(".png")||e.recipe.file_path.includes(".jpg")||e.recipe.file_path.includes(".jpeg")||e.recipe.file_path.includes(".gif")?r("div",[r("ImageViewer",{attrs:{recipe:e.recipe}})],1):e._e()],e._l(e.recipe.steps,(function(t,n){return r("div",{key:t.id,staticStyle:{"margin-top":"1vh"}},[r("Step",{attrs:{recipe:e.recipe,step:t,ingredient_factor:e.ingredient_factor,index:n,start_time:e.start_time},on:{"update-start-time":e.updateStartTime,"checked-state-changed":e.updateIngredientCheckedState}})],1)}))],2),r("add-recipe-to-book",{attrs:{recipe:e.recipe}}),"None"!==e.share_uid?r("div",{staticClass:"row text-center d-print-none",staticStyle:{"margin-top":"3vh","margin-bottom":"3vh"}},[r("div",{staticClass:"col col-md-12"},[r("a",{attrs:{href:e.resolveDjangoUrl("view_report_share_abuse",e.share_uid)}},[e._v(e._s(e.$t("Report Abuse")))])])]):e._e()],2)},o=[function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[r("i",{staticClass:"fas fa-user-clock fa-2x text-primary"})])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[r("i",{staticClass:"far fa-clock fa-2x text-primary"})])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[r("i",{staticClass:"fas fa-pizza-slice fa-2x text-primary"})])}],a=r("b85c"),s=r("5f5b"),c=(r("2dd8"),r("7c15")),u=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("hr"),"TEXT"===e.step.type||"RECIPE"===e.step.type?[e.recipe.steps.length>1?r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-8"},[r("h5",{staticClass:"text-primary"},[e.step.name?[e._v(e._s(e.step.name))]:[e._v(e._s(e.$t("Step"))+" "+e._s(e.index+1))],0!==e.step.time?r("small",{staticClass:"text-muted",staticStyle:{"margin-left":"4px"}},[r("i",{staticClass:"fas fa-user-clock"}),e._v(" "+e._s(e.step.time)+" "+e._s(e.$t("min"))+" ")]):e._e(),""!==e.start_time?r("small",{staticClass:"d-print-none"},[r("b-link",{attrs:{id:"id_reactive_popover_"+e.step.id,href:"#"},on:{click:e.openPopover}},[e._v(" "+e._s(e.moment(e.start_time).add(e.step.time_offset,"minutes").format("HH:mm"))+" ")])],1):e._e()],2)]),r("div",{staticClass:"col col-md-4",staticStyle:{"text-align":"right"}},[r("b-button",{staticClass:"shadow-none d-print-none",class:{"text-primary":e.details_visible,"text-success":!e.details_visible},staticStyle:{border:"none",background:"none"},on:{click:function(t){e.details_visible=!e.details_visible}}},[r("i",{staticClass:"far fa-check-circle"})])],1)]):e._e()]:e._e(),"TEXT"===e.step.type?[r("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[r("div",{staticClass:"row"},[e.step.ingredients.length>0&&(e.recipe.steps.length>1||e.force_ingredients)?r("div",{staticClass:"col col-md-4"},[r("table",{staticClass:"table table-sm"},[e._l(e.step.ingredients,(function(t){return[r("Ingredient",{key:t.id,attrs:{ingredient:t,ingredient_factor:e.ingredient_factor},on:{"checked-state-changed":function(r){return e.$emit("checked-state-changed",t)}}})]}))],2)]):e._e(),r("div",{staticClass:"col",class:{"col-md-8":e.recipe.steps.length>1,"col-md-12":e.recipe.steps.length<=1}},[r("compile-component",{attrs:{code:e.step.ingredients_markdown,ingredient_factor:e.ingredient_factor}})],1)])])]:e._e(),"TIME"===e.step.type||"FILE"===e.step.type?[r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-8 offset-md-2",staticStyle:{"text-align":"center"}},[r("h4",{staticClass:"text-primary"},[e.step.name?[e._v(e._s(e.step.name))]:[e._v(e._s(e.$t("Step"))+" "+e._s(e.index+1))]],2),0!==e.step.time?r("span",{staticClass:"text-muted",staticStyle:{"margin-left":"4px"}},[r("i",{staticClass:"fa fa-stopwatch"}),e._v(" "+e._s(e.step.time)+" "+e._s(e.$t("min")))]):e._e(),""!==e.start_time?r("b-link",{staticClass:"d-print-none",attrs:{id:"id_reactive_popover_"+e.step.id,href:"#"},on:{click:e.openPopover}},[e._v(" "+e._s(e.moment(e.start_time).add(e.step.time_offset,"minutes").format("HH:mm"))+" ")]):e._e()],1),r("div",{staticClass:"col-md-2",staticStyle:{"text-align":"right"}},[r("b-button",{staticClass:"shadow-none d-print-none",class:{"text-primary":e.details_visible,"text-success":!e.details_visible},staticStyle:{border:"none",background:"none"},on:{click:function(t){e.details_visible=!e.details_visible}}},[r("i",{staticClass:"far fa-check-circle"})])],1)]),r("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[""!==e.step.instruction?r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-12",staticStyle:{"text-align":"center"}},[r("compile-component",{attrs:{code:e.step.ingredients_markdown,ingredient_factor:e.ingredient_factor}})],1)]):e._e()])]:e._e(),r("div",{staticClass:"row",staticStyle:{"text-align":"center"}},[r("div",{staticClass:"col col-md-12"},[null!==e.step.file?[e.step.file.file.includes(".png")||e.recipe.file_path.includes(".jpg")||e.recipe.file_path.includes(".jpeg")||e.recipe.file_path.includes(".gif")?r("div",[r("img",{staticStyle:{"max-width":"50vw","max-height":"50vh"},attrs:{src:e.step.file.file}})]):r("div",[r("a",{attrs:{href:e.step.file.file,target:"_blank",rel:"noreferrer nofollow"}},[e._v(e._s(e.$t("Download"))+" "+e._s(e.$t("File")))])])]:e._e()],2)]),"RECIPE"===e.step.type&&null!==e.step.step_recipe_data?r("div",{staticClass:"card"},[r("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[r("div",{staticClass:"card-body"},[r("h2",{staticClass:"card-title"},[r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.step.step_recipe_data.id)}},[e._v(e._s(e.step.step_recipe_data.name))])]),e._l(e.step.step_recipe_data.steps,(function(t,n){return r("div",{key:"substep_"+t.id},[r("Step",{attrs:{recipe:e.step.step_recipe_data,step:t,ingredient_factor:e.ingredient_factor,index:n,start_time:e.start_time,force_ingredients:!0}})],1)}))],2)])],1):e._e(),""!==e.start_time?r("div",[r("b-popover",{ref:"id_reactive_popover_"+e.step.id,attrs:{target:"id_reactive_popover_"+e.step.id,triggers:"click",placement:"bottom",title:e.$t("Step start time")}},[r("div",[r("b-form-group",{staticClass:"mb-1",attrs:{label:"Time","label-for":"popover-input-1","label-cols":"3"}},[r("b-form-input",{attrs:{type:"datetime-local",id:"popover-input-1",size:"sm"},model:{value:e.set_time_input,callback:function(t){e.set_time_input=t},expression:"set_time_input"}})],1)],1),r("div",{staticClass:"row",staticStyle:{"margin-top":"1vh"}},[r("div",{staticClass:"col-12",staticStyle:{"text-align":"right"}},[r("b-button",{staticStyle:{"margin-right":"8px"},attrs:{size:"sm",variant:"secondary"},on:{click:e.closePopover}},[e._v("Cancel")]),r("b-button",{attrs:{size:"sm",variant:"primary"},on:{click:e.updateTime}},[e._v("Ok")])],1)])])],1):e._e()],2)},d=[],p=(r("a9e3"),r("fa7d")),l=r("118a"),h=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r(e.compiled,{tag:"component",attrs:{ingredient_factor:e.ingredient_factor,code:e.code}})],1)},f=[],b=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.number))}})},m=[],v={name:"ScalableNumber",props:{number:Number,factor:{type:Number,default:4}},methods:{calculateAmount:function(e){return Object(p["g"])(e,this.factor)}}},O=v,j=r("2877"),g=Object(j["a"])(O,b,m,!1,null,null,null),y=g.exports,_={name:"CompileComponent",props:["code","ingredient_factor"],data:function(){return{compiled:null}},mounted:function(){this.compiled=n["default"].component("compiled-component",{props:["ingredient_factor","code"],components:{ScalableNumber:y},template:"
".concat(this.code,"
")})}},S=_,k=Object(j["a"])(S,h,f,!1,null,null,null),w=k.exports,P=r("c1df"),C=r.n(P),R=r("81d5");n["default"].prototype.moment=C.a;var U={name:"Step",mixins:[p["c"],p["d"]],components:{Ingredient:l["a"],CompileComponent:w},props:{step:Object,ingredient_factor:Number,index:Number,recipe:Object,start_time:String,force_ingredients:{type:Boolean,default:!1}},data:function(){return{details_visible:!0,set_time_input:""}},mounted:function(){this.set_time_input=C()(this.start_time).add(this.step.time_offset,"minutes").format("yyyy-MM-DDTHH:mm")},methods:{calculateAmount:function(e){return Object(p["g"])(e,this.ingredient_factor)},updateTime:function(){var e=C()(this.set_time_input).add(-1*this.step.time_offset,"minutes").format("yyyy-MM-DDTHH:mm");this.$emit("update-start-time",e),this.closePopover()},closePopover:function(){this.$refs["id_reactive_popover_".concat(this.step.id)].$emit("close")},openPopover:function(){this.$refs["id_reactive_popover_".concat(this.step.id)].$emit("open")}}},L=U,E=Object(j["a"])(L,u,d,!1,null,null,null),I=E.exports,T=r("fc0d"),x=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("iframe",{staticStyle:{border:"none"},attrs:{src:e.pdfUrl,width:"100%",height:"700px"}})])},A=[],F={name:"PdfViewer",mixins:[p["d"]],props:{recipe:Object},computed:{pdfUrl:function(){return"/static/pdfjs/viewer.html?file="+Object(p["k"])("api_get_recipe_file",this.recipe.id)}}},M=F,B=Object(j["a"])(M,x,A,!1,null,null,null),N=B.exports,D=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{"text-align":"center"}},[r("b-img",{attrs:{src:e.pdfUrl,alt:e.$t("External_Recipe_Image")}})],1)},q=[],K={name:"ImageViewer",props:{recipe:Object},computed:{pdfUrl:function(){return Object(p["k"])("api_get_recipe_file",this.recipe.id)}}},V=K,z=Object(j["a"])(V,D,q,!1,null,null,null),H=z.exports,$=function(){var e=this,t=e.$createElement,r=e._self._c||t;return null!==e.recipe.nutrition?r("div",[r("div",{staticClass:"card border-success"},[r("div",{staticClass:"card-body"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-12"},[r("h4",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-carrot"}),e._v(" "+e._s(e.$t("Nutrition")))])])]),r("div",{staticClass:"row"},[r("div",{staticClass:"col-6"},[r("i",{staticClass:"fas fa-fire fa-fw text-primary"}),e._v(" "+e._s(e.$t("Calories"))+" ")]),r("div",{staticClass:"col-6"},[r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.calories))}}),e._v(" kcal ")])]),r("div",{staticClass:"row"},[r("div",{staticClass:"col-6"},[r("i",{staticClass:"fas fa-bread-slice fa-fw text-primary"}),e._v(" "+e._s(e.$t("Carbohydrates"))+" ")]),r("div",{staticClass:"col-6"},[r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.carbohydrates))}}),e._v(" g ")])]),r("div",{staticClass:"row"},[r("div",{staticClass:"col-6"},[r("i",{staticClass:"fas fa-cheese fa-fw text-primary"}),e._v(" "+e._s(e.$t("Fats"))+" ")]),r("div",{staticClass:"col-6"},[r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.fats))}}),e._v(" g ")])]),r("div",{staticClass:"row"},[r("div",{staticClass:"col-6"},[r("i",{staticClass:"fas fa-drumstick-bite fa-fw text-primary"}),e._v(" "+e._s(e.$t("Proteins"))+" ")]),r("div",{staticClass:"col-6"},[r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.proteins))}}),e._v(" g ")])])])])]):e._e()},G=[],W={name:"Nutrition",props:{recipe:Object,ingredient_factor:Number},methods:{calculateAmount:function(e){return Object(p["g"])(e,this.ingredient_factor)}}},J=W,Y=Object(j["a"])(J,$,G,!1,null,null,null),Z=Y.exports,X=r("d76c"),Q=r("d46a"),ee=r("ca5b"),te=r("830a");n["default"].prototype.moment=C.a,n["default"].use(s["a"]);var re={name:"RecipeView",mixins:[p["d"],p["f"]],components:{LastCooked:te["a"],RecipeRating:ee["a"],PdfViewer:N,ImageViewer:H,Ingredient:l["a"],Step:I,RecipeContextMenu:T["a"],Nutrition:Z,Keywords:R["a"],LoadingSpinner:X["a"],AddRecipeToBook:Q["a"]},computed:{ingredient_factor:function(){return this.servings/this.recipe.servings}},data:function(){return{loading:!0,recipe:void 0,ingredient_count:0,servings:1,start_time:"",share_uid:window.SHARE_UID}},mounted:function(){this.loadRecipe(window.RECIPE_ID),this.$i18n.locale=window.CUSTOM_LOCALE},methods:{loadRecipe:function(e){var t=this;Object(c["a"])(e).then((function(e){0!==window.USER_SERVINGS&&(e.servings=window.USER_SERVINGS),t.servings=e.servings;var r,n=0,i=Object(a["a"])(e.steps);try{for(i.s();!(r=i.n()).done;){var o=r.value;t.ingredient_count+=o.ingredients.length;var s,c=Object(a["a"])(o.ingredients);try{for(c.s();!(s=c.n()).done;){var u=s.value;t.$set(u,"checked",!1)}}catch(d){c.e(d)}finally{c.f()}o.time_offset=n,n+=o.time}}catch(d){i.e(d)}finally{i.f()}n>0&&(t.start_time=C()().format("yyyy-MM-DDTHH:mm")),t.recipe=e,t.loading=!1}))},updateStartTime:function(e){this.start_time=e},updateIngredientCheckedState:function(e){var t,r=Object(a["a"])(this.recipe.steps);try{for(r.s();!(t=r.n()).done;){var n,i=t.value,o=Object(a["a"])(i.ingredients);try{for(o.s();!(n=o.n()).done;){var s=n.value;s.id===e.id&&this.$set(s,"checked",!s.checked)}}catch(c){o.e(c)}finally{o.f()}}}catch(c){r.e(c)}finally{r.f()}}}},ne=re,ie=Object(j["a"])(ne,i,o,!1,null,null,null),oe=ie.exports,ae=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:ae["a"],render:function(e){return e(oe)}}).$mount("#app")},"0825":function(e){e.exports=JSON.parse('{"err_fetching_resource":"Si è verificato un errore nel recupero della risorsa!","err_creating_resource":"Si è verificato un errore durante la creazione di una risorsa!","err_updating_resource":"Si è verificato un errore nell\'aggiornamento della risorsa!","err_deleting_resource":"Si è verificato un errore nella cancellazione della risorsa!","success_fetching_resource":"Risorsa recuperata con successo!","success_creating_resource":"Risorsa creata con successo!","success_updating_resource":"Risorsa aggiornata con successo!","success_deleting_resource":"Risorsa eliminata con successo!","import_running":"Importazione in corso, attendere prego!","all_fields_optional":"Tutti i campi sono opzionali e possono essere lasciati vuoti.","convert_internal":"Converti come ricetta interna","show_only_internal":"Mostra solo ricette interne","show_split_screen":"Vista divisa","Log_Recipe_Cooking":"Aggiungi a ricette cucinate","External_Recipe_Image":"Immagine ricetta esterna","Add_to_Shopping":"Aggiunti a lista della spesa","Add_to_Plan":"Aggiungi a Piano","Step_start_time":"Ora di inizio dello Step","Sort_by_new":"Prima i nuovi","Recipes_per_page":"Ricette per pagina","Manage_Books":"Gestisci Libri","Meal_Plan":"Piano alimentare","Select_Book":"Seleziona Libro","Recipe_Image":"Immagine ricetta","Import_finished":"Importazione completata","View_Recipes":"Mostra ricette","Log_Cooking":"Registro ricette cucinate","New_Recipe":"Nuova Ricetta","Url_Import":"Importa da URL","Reset_Search":"Ripristina Ricerca","Recently_Viewed":"Visualizzati di recente","Load_More":"Carica di più","New_Keyword":"Nuova parola chiave","Delete_Keyword":"Elimina parola chiave","Edit_Keyword":"Modifica parola chiave","Move_Keyword":"Sposta parola chiave","Merge_Keyword":"Unisci parola chiave","Hide_Keywords":"Nascondi parola chiave","Hide_Recipes":"Nascondi Ricette","Keywords":"Parole chiave","Books":"Libri","Proteins":"Proteine","Fats":"Grassi","Carbohydrates":"Carboidrati","Calories":"Calorie","Nutrition":"Nutrienti","Date":"Data","Share":"Condividi","Export":"Esporta","Copy":"Copia","Rating":"Valutazione","Close":"Chiudi","Cancel":"Annulla","Link":"Link","Add":"Aggiungi","New":"Nuovo","Success":"Riuscito","Failure":"Errore","Ingredients":"Ingredienti","Supermarket":"Supermercato","Categories":"Categorie","Category":"Categoria","Selected":"Selezionato","min":"min","Servings":"Porzioni","Waiting":"Attesa","Preparation":"Preparazione","External":"Esterna","Size":"Dimensione","Files":"File","File":"File","Edit":"Modifica","Delete":"Elimina","Open":"Apri","Ok":"Apri","Save":"Salva","Step":"Step","Search":"Cerca","Import":"Importa","Print":"Stampa","Settings":"Impostazioni","or":"o","and":"e","Information":"Informazioni","Download":"Scarica","Create":"Crea","Advanced Search Settings":"Impostazioni avanzate di ricerca","View":"Mostra","Recipes":"Ricette","Move":"Sposta","Merge":"Unisci","Parent":"Principale","delete_confimation":"Sei sicuro di voler eliminare {kw} e tutti gli elementi dipendenti?","move_confirmation":"Sposta {child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},1:function(e,t,r){e.exports=r("0671")},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",O=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"row"},[r("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[r("img",{staticClass:"spinner-tandoor",style:{height:e.size+"vh"},attrs:{alt:"loading spinner",src:""}})])])},i=[],o=(r("a9e3"),{name:"LoadingSpinner",props:{recipe:Object,size:{type:Number,default:30}}}),a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return g})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return C})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),O=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return g(e,t,r)}}};function g(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:g(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:g(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:g(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:g(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:g(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:g(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:g(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:g(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function C(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return R(e*t)}function R(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n0?r("div",{staticClass:"col-md-6 order-md-1 col-sm-12 order-sm-2 col-12 order-2"},[r("div",{staticClass:"card border-primary"},[r("div",{staticClass:"card-body"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-8"},[r("h4",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))])])]),r("br"),r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-12"},[r("table",{staticClass:"table table-sm"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(t){return[r("Ingredient",{key:t.id,attrs:{ingredient:t,ingredient_factor:e.ingredient_factor},on:{"checked-state-changed":e.updateIngredientCheckedState}})]}))]}))],2)])])])])]):e._e(),r("div",{staticClass:"col-12 order-1 col-sm-12 order-sm-1 col-md-6 order-md-2"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-12"},[null!==e.recipe.image?r("img",{staticClass:"img img-fluid rounded",staticStyle:{"max-height":"30vh"},attrs:{src:e.recipe.image,alt:e.$t("Recipe_Image")}}):e._e()])]),r("div",{staticClass:"row",staticStyle:{"margin-top":"2vh","margin-bottom":"2vh"}},[r("div",{staticClass:"col-12"},[r("Nutrition",{attrs:{recipe:e.recipe,ingredient_factor:e.ingredient_factor}})],1)])])]),e.recipe.internal?e._e():[e.recipe.file_path.includes(".pdf")?r("div",[r("PdfViewer",{attrs:{recipe:e.recipe}})],1):e._e(),e.recipe.file_path.includes(".png")||e.recipe.file_path.includes(".jpg")||e.recipe.file_path.includes(".jpeg")||e.recipe.file_path.includes(".gif")?r("div",[r("ImageViewer",{attrs:{recipe:e.recipe}})],1):e._e()],e._l(e.recipe.steps,(function(t,n){return r("div",{key:t.id,staticStyle:{"margin-top":"1vh"}},[r("Step",{attrs:{recipe:e.recipe,step:t,ingredient_factor:e.ingredient_factor,index:n,start_time:e.start_time},on:{"update-start-time":e.updateStartTime,"checked-state-changed":e.updateIngredientCheckedState}})],1)}))],2),r("add-recipe-to-book",{attrs:{recipe:e.recipe}}),"None"!==e.share_uid?r("div",{staticClass:"row text-center d-print-none",staticStyle:{"margin-top":"3vh","margin-bottom":"3vh"}},[r("div",{staticClass:"col col-md-12"},[r("a",{attrs:{href:e.resolveDjangoUrl("view_report_share_abuse",e.share_uid)}},[e._v(e._s(e.$t("Report Abuse")))])])]):e._e()],2)},a=[function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[r("i",{staticClass:"fas fa-user-clock fa-2x text-primary"})])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[r("i",{staticClass:"far fa-clock fa-2x text-primary"})])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[r("i",{staticClass:"fas fa-pizza-slice fa-2x text-primary"})])}],o=r("b85c"),s=r("5f5b"),c=(r("2dd8"),r("7c15")),u=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("hr"),"TEXT"===e.step.type||"RECIPE"===e.step.type?[e.recipe.steps.length>1?r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-8"},[r("h5",{staticClass:"text-primary"},[e.step.name?[e._v(e._s(e.step.name))]:[e._v(e._s(e.$t("Step"))+" "+e._s(e.index+1))],0!==e.step.time?r("small",{staticClass:"text-muted",staticStyle:{"margin-left":"4px"}},[r("i",{staticClass:"fas fa-user-clock"}),e._v(" "+e._s(e.step.time)+" "+e._s(e.$t("min"))+" ")]):e._e(),""!==e.start_time?r("small",{staticClass:"d-print-none"},[r("b-link",{attrs:{id:"id_reactive_popover_"+e.step.id,href:"#"},on:{click:e.openPopover}},[e._v(" "+e._s(e.moment(e.start_time).add(e.step.time_offset,"minutes").format("HH:mm"))+" ")])],1):e._e()],2)]),r("div",{staticClass:"col col-md-4",staticStyle:{"text-align":"right"}},[r("b-button",{staticClass:"shadow-none d-print-none",class:{"text-primary":e.details_visible,"text-success":!e.details_visible},staticStyle:{border:"none",background:"none"},on:{click:function(t){e.details_visible=!e.details_visible}}},[r("i",{staticClass:"far fa-check-circle"})])],1)]):e._e()]:e._e(),"TEXT"===e.step.type?[r("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[r("div",{staticClass:"row"},[e.step.ingredients.length>0&&(e.recipe.steps.length>1||e.force_ingredients)?r("div",{staticClass:"col col-md-4"},[r("table",{staticClass:"table table-sm"},[e._l(e.step.ingredients,(function(t){return[r("Ingredient",{key:t.id,attrs:{ingredient:t,ingredient_factor:e.ingredient_factor},on:{"checked-state-changed":function(r){return e.$emit("checked-state-changed",t)}}})]}))],2)]):e._e(),r("div",{staticClass:"col",class:{"col-md-8":e.recipe.steps.length>1,"col-md-12":e.recipe.steps.length<=1}},[r("compile-component",{attrs:{code:e.step.ingredients_markdown,ingredient_factor:e.ingredient_factor}})],1)])])]:e._e(),"TIME"===e.step.type||"FILE"===e.step.type?[r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-8 offset-md-2",staticStyle:{"text-align":"center"}},[r("h4",{staticClass:"text-primary"},[e.step.name?[e._v(e._s(e.step.name))]:[e._v(e._s(e.$t("Step"))+" "+e._s(e.index+1))]],2),0!==e.step.time?r("span",{staticClass:"text-muted",staticStyle:{"margin-left":"4px"}},[r("i",{staticClass:"fa fa-stopwatch"}),e._v(" "+e._s(e.step.time)+" "+e._s(e.$t("min")))]):e._e(),""!==e.start_time?r("b-link",{staticClass:"d-print-none",attrs:{id:"id_reactive_popover_"+e.step.id,href:"#"},on:{click:e.openPopover}},[e._v(" "+e._s(e.moment(e.start_time).add(e.step.time_offset,"minutes").format("HH:mm"))+" ")]):e._e()],1),r("div",{staticClass:"col-md-2",staticStyle:{"text-align":"right"}},[r("b-button",{staticClass:"shadow-none d-print-none",class:{"text-primary":e.details_visible,"text-success":!e.details_visible},staticStyle:{border:"none",background:"none"},on:{click:function(t){e.details_visible=!e.details_visible}}},[r("i",{staticClass:"far fa-check-circle"})])],1)]),r("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[""!==e.step.instruction?r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-12",staticStyle:{"text-align":"center"}},[r("compile-component",{attrs:{code:e.step.ingredients_markdown,ingredient_factor:e.ingredient_factor}})],1)]):e._e()])]:e._e(),r("div",{staticClass:"row",staticStyle:{"text-align":"center"}},[r("div",{staticClass:"col col-md-12"},[null!==e.step.file?[e.step.file.file.includes(".png")||e.recipe.file_path.includes(".jpg")||e.recipe.file_path.includes(".jpeg")||e.recipe.file_path.includes(".gif")?r("div",[r("img",{staticStyle:{"max-width":"50vw","max-height":"50vh"},attrs:{src:e.step.file.file}})]):r("div",[r("a",{attrs:{href:e.step.file.file,target:"_blank",rel:"noreferrer nofollow"}},[e._v(e._s(e.$t("Download"))+" "+e._s(e.$t("File")))])])]:e._e()],2)]),"RECIPE"===e.step.type&&null!==e.step.step_recipe_data?r("div",{staticClass:"card"},[r("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[r("div",{staticClass:"card-body"},[r("h2",{staticClass:"card-title"},[r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.step.step_recipe_data.id)}},[e._v(e._s(e.step.step_recipe_data.name))])]),e._l(e.step.step_recipe_data.steps,(function(t,n){return r("div",{key:"substep_"+t.id},[r("Step",{attrs:{recipe:e.step.step_recipe_data,step:t,ingredient_factor:e.ingredient_factor,index:n,start_time:e.start_time,force_ingredients:!0}})],1)}))],2)])],1):e._e(),""!==e.start_time?r("div",[r("b-popover",{ref:"id_reactive_popover_"+e.step.id,attrs:{target:"id_reactive_popover_"+e.step.id,triggers:"click",placement:"bottom",title:e.$t("Step start time")}},[r("div",[r("b-form-group",{staticClass:"mb-1",attrs:{label:"Time","label-for":"popover-input-1","label-cols":"3"}},[r("b-form-input",{attrs:{type:"datetime-local",id:"popover-input-1",size:"sm"},model:{value:e.set_time_input,callback:function(t){e.set_time_input=t},expression:"set_time_input"}})],1)],1),r("div",{staticClass:"row",staticStyle:{"margin-top":"1vh"}},[r("div",{staticClass:"col-12",staticStyle:{"text-align":"right"}},[r("b-button",{staticStyle:{"margin-right":"8px"},attrs:{size:"sm",variant:"secondary"},on:{click:e.closePopover}},[e._v("Cancel")]),r("b-button",{attrs:{size:"sm",variant:"primary"},on:{click:e.updateTime}},[e._v("Ok")])],1)])])],1):e._e()],2)},d=[],p=(r("a9e3"),r("fa7d")),l=r("118a"),h=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r(e.compiled,{tag:"component",attrs:{ingredient_factor:e.ingredient_factor,code:e.code}})],1)},f=[],b=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.number))}})},m=[],v={name:"ScalableNumber",props:{number:Number,factor:{type:Number,default:4}},methods:{calculateAmount:function(e){return Object(p["g"])(e,this.factor)}}},g=v,j=r("2877"),O=Object(j["a"])(g,b,m,!1,null,null,null),y=O.exports,_={name:"CompileComponent",props:["code","ingredient_factor"],data:function(){return{compiled:null}},mounted:function(){this.compiled=n["default"].component("compiled-component",{props:["ingredient_factor","code"],components:{ScalableNumber:y},template:"
".concat(this.code,"
")})}},S=_,k=Object(j["a"])(S,h,f,!1,null,null,null),w=k.exports,P=r("c1df"),C=r.n(P),R=r("81d5");n["default"].prototype.moment=C.a;var U={name:"Step",mixins:[p["c"],p["d"]],components:{Ingredient:l["a"],CompileComponent:w},props:{step:Object,ingredient_factor:Number,index:Number,recipe:Object,start_time:String,force_ingredients:{type:Boolean,default:!1}},data:function(){return{details_visible:!0,set_time_input:""}},mounted:function(){this.set_time_input=C()(this.start_time).add(this.step.time_offset,"minutes").format("yyyy-MM-DDTHH:mm")},methods:{calculateAmount:function(e){return Object(p["g"])(e,this.ingredient_factor)},updateTime:function(){var e=C()(this.set_time_input).add(-1*this.step.time_offset,"minutes").format("yyyy-MM-DDTHH:mm");this.$emit("update-start-time",e),this.closePopover()},closePopover:function(){this.$refs["id_reactive_popover_".concat(this.step.id)].$emit("close")},openPopover:function(){this.$refs["id_reactive_popover_".concat(this.step.id)].$emit("open")}}},L=U,E=Object(j["a"])(L,u,d,!1,null,null,null),I=E.exports,T=r("fc0d"),x=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("iframe",{staticStyle:{border:"none"},attrs:{src:e.pdfUrl,width:"100%",height:"700px"}})])},A=[],M={name:"PdfViewer",mixins:[p["d"]],props:{recipe:Object},computed:{pdfUrl:function(){return"/static/pdfjs/viewer.html?file="+Object(p["k"])("api_get_recipe_file",this.recipe.id)}}},F=M,B=Object(j["a"])(F,x,A,!1,null,null,null),N=B.exports,D=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{"text-align":"center"}},[r("b-img",{attrs:{src:e.pdfUrl,alt:e.$t("External_Recipe_Image")}})],1)},q=[],K={name:"ImageViewer",props:{recipe:Object},computed:{pdfUrl:function(){return Object(p["k"])("api_get_recipe_file",this.recipe.id)}}},V=K,$=Object(j["a"])(V,D,q,!1,null,null,null),z=$.exports,H=function(){var e=this,t=e.$createElement,r=e._self._c||t;return null!==e.recipe.nutrition?r("div",[r("div",{staticClass:"card border-success"},[r("div",{staticClass:"card-body"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-12"},[r("h4",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-carrot"}),e._v(" "+e._s(e.$t("Nutrition")))])])]),r("div",{staticClass:"row"},[r("div",{staticClass:"col-6"},[r("i",{staticClass:"fas fa-fire fa-fw text-primary"}),e._v(" "+e._s(e.$t("Calories"))+" ")]),r("div",{staticClass:"col-6"},[r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.calories))}}),e._v(" kcal ")])]),r("div",{staticClass:"row"},[r("div",{staticClass:"col-6"},[r("i",{staticClass:"fas fa-bread-slice fa-fw text-primary"}),e._v(" "+e._s(e.$t("Carbohydrates"))+" ")]),r("div",{staticClass:"col-6"},[r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.carbohydrates))}}),e._v(" g ")])]),r("div",{staticClass:"row"},[r("div",{staticClass:"col-6"},[r("i",{staticClass:"fas fa-cheese fa-fw text-primary"}),e._v(" "+e._s(e.$t("Fats"))+" ")]),r("div",{staticClass:"col-6"},[r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.fats))}}),e._v(" g ")])]),r("div",{staticClass:"row"},[r("div",{staticClass:"col-6"},[r("i",{staticClass:"fas fa-drumstick-bite fa-fw text-primary"}),e._v(" "+e._s(e.$t("Proteins"))+" ")]),r("div",{staticClass:"col-6"},[r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.proteins))}}),e._v(" g ")])])])])]):e._e()},G=[],Y={name:"Nutrition",props:{recipe:Object,ingredient_factor:Number},methods:{calculateAmount:function(e){return Object(p["g"])(e,this.ingredient_factor)}}},W=Y,J=Object(j["a"])(W,H,G,!1,null,null,null),Z=J.exports,X=r("d76c"),Q=r("d46a"),ee=r("ca5b"),te=r("830a");n["default"].prototype.moment=C.a,n["default"].use(s["a"]);var re={name:"RecipeView",mixins:[p["d"],p["f"]],components:{LastCooked:te["a"],RecipeRating:ee["a"],PdfViewer:N,ImageViewer:z,Ingredient:l["a"],Step:I,RecipeContextMenu:T["a"],Nutrition:Z,Keywords:R["a"],LoadingSpinner:X["a"],AddRecipeToBook:Q["a"]},computed:{ingredient_factor:function(){return this.servings/this.recipe.servings}},data:function(){return{loading:!0,recipe:void 0,ingredient_count:0,servings:1,start_time:"",share_uid:window.SHARE_UID}},mounted:function(){this.loadRecipe(window.RECIPE_ID),this.$i18n.locale=window.CUSTOM_LOCALE},methods:{loadRecipe:function(e){var t=this;Object(c["a"])(e).then((function(e){0!==window.USER_SERVINGS&&(e.servings=window.USER_SERVINGS),t.servings=e.servings;var r,n=0,i=Object(o["a"])(e.steps);try{for(i.s();!(r=i.n()).done;){var a=r.value;t.ingredient_count+=a.ingredients.length;var s,c=Object(o["a"])(a.ingredients);try{for(c.s();!(s=c.n()).done;){var u=s.value;t.$set(u,"checked",!1)}}catch(d){c.e(d)}finally{c.f()}a.time_offset=n,n+=a.time}}catch(d){i.e(d)}finally{i.f()}n>0&&(t.start_time=C()().format("yyyy-MM-DDTHH:mm")),t.recipe=e,t.loading=!1}))},updateStartTime:function(e){this.start_time=e},updateIngredientCheckedState:function(e){var t,r=Object(o["a"])(this.recipe.steps);try{for(r.s();!(t=r.n()).done;){var n,i=t.value,a=Object(o["a"])(i.ingredients);try{for(a.s();!(n=a.n()).done;){var s=n.value;s.id===e.id&&this.$set(s,"checked",!s.checked)}}catch(c){a.e(c)}finally{a.f()}}}catch(c){r.e(c)}finally{r.f()}}}},ne=re,ie=Object(j["a"])(ne,i,a,!1,null,null,null),ae=ie.exports,oe=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:oe["a"],render:function(e){return e(ae)}}).$mount("#app")},"0825":function(e){e.exports=JSON.parse('{"err_fetching_resource":"Si è verificato un errore nel recupero della risorsa!","err_creating_resource":"Si è verificato un errore durante la creazione di una risorsa!","err_updating_resource":"Si è verificato un errore nell\'aggiornamento della risorsa!","err_deleting_resource":"Si è verificato un errore nella cancellazione della risorsa!","success_fetching_resource":"Risorsa recuperata con successo!","success_creating_resource":"Risorsa creata con successo!","success_updating_resource":"Risorsa aggiornata con successo!","success_deleting_resource":"Risorsa eliminata con successo!","import_running":"Importazione in corso, attendere prego!","all_fields_optional":"Tutti i campi sono opzionali e possono essere lasciati vuoti.","convert_internal":"Converti come ricetta interna","show_only_internal":"Mostra solo ricette interne","show_split_screen":"Vista divisa","Log_Recipe_Cooking":"Aggiungi a ricette cucinate","External_Recipe_Image":"Immagine ricetta esterna","Add_to_Shopping":"Aggiunti a lista della spesa","Add_to_Plan":"Aggiungi a Piano","Step_start_time":"Ora di inizio dello Step","Sort_by_new":"Prima i nuovi","Recipes_per_page":"Ricette per pagina","Manage_Books":"Gestisci Libri","Meal_Plan":"Piano alimentare","Select_Book":"Seleziona Libro","Recipe_Image":"Immagine ricetta","Import_finished":"Importazione completata","View_Recipes":"Mostra ricette","Log_Cooking":"Registro ricette cucinate","New_Recipe":"Nuova Ricetta","Url_Import":"Importa da URL","Reset_Search":"Ripristina Ricerca","Recently_Viewed":"Visualizzati di recente","Load_More":"Carica di più","New_Keyword":"Nuova parola chiave","Delete_Keyword":"Elimina parola chiave","Edit_Keyword":"Modifica parola chiave","Move_Keyword":"Sposta parola chiave","Merge_Keyword":"Unisci parola chiave","Hide_Keywords":"Nascondi parola chiave","Hide_Recipes":"Nascondi Ricette","Keywords":"Parole chiave","Books":"Libri","Proteins":"Proteine","Fats":"Grassi","Carbohydrates":"Carboidrati","Calories":"Calorie","Nutrition":"Nutrienti","Date":"Data","Share":"Condividi","Export":"Esporta","Copy":"Copia","Rating":"Valutazione","Close":"Chiudi","Cancel":"Annulla","Link":"Link","Add":"Aggiungi","New":"Nuovo","Success":"Riuscito","Failure":"Errore","Ingredients":"Ingredienti","Supermarket":"Supermercato","Categories":"Categorie","Category":"Categoria","Selected":"Selezionato","min":"min","Servings":"Porzioni","Waiting":"Attesa","Preparation":"Preparazione","External":"Esterna","Size":"Dimensione","Files":"File","File":"File","Edit":"Modifica","Delete":"Elimina","Open":"Apri","Ok":"Apri","Save":"Salva","Step":"Step","Search":"Cerca","Import":"Importa","Print":"Stampa","Settings":"Impostazioni","or":"o","and":"e","Information":"Informazioni","Download":"Scarica","Create":"Crea","Advanced Search Settings":"Impostazioni avanzate di ricerca","View":"Mostra","Recipes":"Ricette","Move":"Sposta","Merge":"Unisci","Parent":"Principale","delete_confimation":"Sei sicuro di voler eliminare {kw} e tutti gli elementi dipendenti?","move_confirmation":"Sposta {child} al primario {parent}","merge_confirmation":"Sostituisci {source} con {target}","move_selection":"Scegli un primario {type} dove spostare {source}.","merge_selection":"Sostituisci tutte le voci di {source} con il {type} selezionato.","Root":"Radice","Ignore_Shopping":"Ignora lista della spesa","delete_confirmation":"Sei sicuro di voler eliminare {source}?","Description":"Descrizione","Icon":"Icona","Unit":"Unità","No_ID":"ID non trovato, non è possibile eliminare.","Recipe_Book":"Libro di Ricette","create_title":"Nuovo {type}","edit_title":"Modifica {type}","Name":"Nome","Recipe":"Ricetta","delete_title":"Elimina {type}","Unrated":"Senza valutazione","New_Unit":"Nuova unità di misura","move_title":"Sposta {type}","Food":"Alimento","Delete_Food":"Elimina alimento","Edit_Food":"Modifica alimento","Move_Food":"Sposta alimento","New_Food":"Nuovo alimento","Hide_Food":"Nascondi alimento","merge_title":"Unisci {type}","Key_Shift":"Maiusc","del_confirmation_tree":"Sei sicuro di voler eliminare {source} e tutti gli elementi dipendenti?","Disable_Amount":"Disabilita Quantità","Key_Ctrl":"Ctrl","No_Results":"Nessun risultato","Create_New_Shopping Category":"Crea nuova categoria di spesa","Create_New_Keyword":"Aggiungi nuova parola chiave","and_up":"& Su","step_time_minutes":"Tempo dello step in minuti","confirm_delete":"Sei sicuro di voler eliminare questo {object}?","Show_as_header":"Mostra come intestazione","Hide_as_header":"Nascondi come intestazione","Copy_template_reference":"Copia riferimento template","Save_and_View":"Salva & Mostra","Text":"Testo","Edit_Recipe":"Modifica Ricetta","Move_Up":"Sposta Sopra","Move_Down":"Sposta Sotto","Step_Name":"Nome dello Step","Step_Type":"Tipo di Step","Enable_Amount":"Abilita Quantità","Add_Step":"Aggiungi Step","Note":"Nota","Create_New_Food":"Aggiungi nuovo alimento","Make_Header":"Crea Intestazione","Make_Ingredient":"Crea Ingrediente","Create_New_Unit":"Aggiungi nuova unità","Instructions":"Istruzioni","Time":"Tempo","Shopping_Category":"Categoria di spesa","Meal_Plan_Days":"Piani alimentari futuri","tree_root":"Radice dell\'albero","Automation":"Automazione","Parameter":"Parametro","Type":"Tipo","Automate":"Automatizza","create_rule":"e crea automazione"}')},1:function(e,t,r){e.exports=r("0671")},"118a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[r("td",{attrs:{colspan:"5"}},[r("b",[e._v(e._s(e.ingredient.note))])])]:[e.detailed?r("td",{staticClass:"d-print-non"},[e.ingredient.checked?r("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():r("i",{staticClass:"far fa-check-circle text-primary"})]):e._e(),r("td",[0!==e.ingredient.amount?r("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),r("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():r("span",[e._v(e._s(e.ingredient.unit.name))])]),r("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?r("a",{attrs:{href:e.resolveDjangoUrl("view_recipe",e.ingredient.food.recipe),target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.ingredient.food.name))]):e._e(),null===e.ingredient.food.recipe?r("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),e.detailed?r("td",[e.ingredient.note?r("div",[e.ingredient.note.length>15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],a=(r("a9e3"),r("fa7d")),o={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[a["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(a["g"])(e,this.ingredient_factor)}}},s=o,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,a,o,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],a={name:"Keywords",props:{recipe:Object}},o=a,s=r("2877"),c=Object(s["a"])(o,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],a=r("c1df"),o=r.n(a),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return o.a.locale(window.navigator.language),o()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function a(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:a()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],a={name:"RecipeRating",props:{recipe:Object}},o=a,s=r("2877"),c=Object(s["a"])(o,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],a=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),o=r.n(a),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:o.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"row"},[r("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[r("img",{staticClass:"spinner-tandoor",style:{height:e.size+"vh"},attrs:{alt:"loading spinner",src:""}})])])},i=[],a=(r("a9e3"),{name:"LoadingSpinner",props:{recipe:Object,size:{type:Number,default:30}}}),o=a,s=r("2877"),c=Object(s["a"])(o,n,i,!1,null,null,null);t["a"]=c.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},edd4:function(e){e.exports=JSON.parse('{"warning_feature_beta":"This feature is currently in a BETA (testing) state. Please expect bugs and possibly breaking changes in the future (possibly loosing feature related data) when using this feature.","err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","create_rule":"and create automation","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Automate":"Automate","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f347:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-modal",{attrs:{id:e.modal_id,size:"lg",title:e.modal_title,"hide-footer":"","aria-label":""}},[r("div",{staticClass:"row"},[r("div",{staticClass:"col col-md-12"},[r("div",{staticClass:"row"},[r("div",{staticClass:"col-6 col-lg-9"},[r("b-input-group",[r("b-form-input",{attrs:{id:"TitleInput",placeholder:e.entryEditing.title_placeholder},model:{value:e.entryEditing.title,callback:function(t){e.$set(e.entryEditing,"title",t)},expression:"entryEditing.title"}}),r("b-input-group-append",{staticClass:"d-none d-lg-block"},[r("b-button",{attrs:{variant:"primary"},on:{click:function(t){e.entryEditing.title=""}}},[r("i",{staticClass:"fa fa-eraser"})])],1)],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Title")))])],1),r("div",{staticClass:"col-6 col-lg-3"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.date,expression:"entryEditing.date"}],staticClass:"form-control",attrs:{type:"date",id:"DateInput"},domProps:{value:e.entryEditing.date},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"date",t.target.value)}}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Date")))])])]),r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-12 col-lg-6 col-xl-6"},[r("b-form-group",[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.entryEditing_initial_recipe,label:"name",model:e.Models.RECIPE,placeholder:e.$t("Recipe"),limit:10,multiple:!1},on:{change:e.selectRecipe}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Recipe")))])],1),r("b-form-group",{staticClass:"mt-3"},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{required:"",label:"name",model:e.Models.MEAL_TYPE,placeholder:e.$t("MealType"),limit:10,multiple:!1,initial_selection:e.entryEditing_initial_meal_type},on:{change:e.selectMealType}}),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("MealType")))])],1),r("b-form-group",{staticClass:"mt-3",attrs:{"label-for":"NoteInput",description:e.$t("Note")}},[r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.entryEditing.note,expression:"entryEditing.note"}],staticClass:"form-control",attrs:{id:"NoteInput",placeholder:e.$t("Note")},domProps:{value:e.entryEditing.note},on:{input:function(t){t.target.composing||e.$set(e.entryEditing,"note",t.target.value)}}})]),r("b-input-group",[r("b-form-input",{attrs:{id:"ServingsInput",placeholder:e.$t("Servings")},model:{value:e.entryEditing.servings,callback:function(t){e.$set(e.entryEditing,"servings",t)},expression:"entryEditing.servings"}})],1),r("small",{staticClass:"form-text text-muted",attrs:{tabindex:"-1"}},[e._v(e._s(e.$t("Servings")))])],1),r("div",{staticClass:"col-lg-6 d-none d-lg-block d-xl-block"},[null!=e.entryEditing.recipe?r("recipe-card",{attrs:{recipe:e.entryEditing.recipe}}):e._e()],1)]),r("div",{staticClass:"row mt-3 mb-3"},[r("div",{staticClass:"col-12"},[e.allow_delete?r("b-button",{attrs:{variant:"danger"},on:{click:e.deleteEntry}},[e._v(e._s(e.$t("Delete"))+" ")]):e._e(),r("b-button",{staticClass:"float-right",attrs:{variant:"primary"},on:{click:e.editEntry}},[e._v(e._s(e.$t("Save")))])],1)])])])])},i=[],a=(r("d3b7"),r("3ca3"),r("ddb0"),r("b0c0"),r("a026")),o=r("5f5b"),s=r("7432"),c=r("fa7d");a["default"].use(o["a"]);var u={name:"MealPlanEditModal",props:{entry:Object,entryEditing_initial_recipe:Array,entryEditing_initial_meal_type:Array,modal_title:String,modal_id:{type:String,default:"edit-modal"},allow_delete:{type:Boolean,default:!0}},mixins:[c["a"]],components:{GenericMultiselect:s["a"],RecipeCard:function(){return r.e("chunk-2d0da313").then(r.bind(null,"6b0a"))}},data:function(){return{entryEditing:{}}},watch:{entry:{handler:function(){this.entryEditing=Object.assign({},this.entry)},deep:!0}},methods:{editEntry:function(){null!=this.entryEditing.meal_type?null!=this.entryEditing.recipe||""!==this.entryEditing.title?(this.$bvModal.hide("edit-modal"),this.$emit("save-entry",this.entryEditing)):alert("Need title or recipe"):alert("Need Meal type")},deleteEntry:function(){this.$bvModal.hide("edit-modal"),this.$emit("delete-entry",this.entryEditing)},selectMealType:function(e){null!=e.val?this.entryEditing.meal_type=e.val:this.entryEditing.meal_type=null},selectRecipe:function(e){null!=e.val?(this.entryEditing.recipe=e.val,this.entryEditing.title_placeholder=this.entryEditing.recipe.name,this.entryEditing.servings=this.entryEditing.recipe.servings):(this.entryEditing.recipe=null,this.entryEditing.title_placeholder="",this.entryEditing.servings=1)}}},d=u,p=r("2877"),l=Object(p["a"])(d,n,i,!1,null,"7564c819",null);t["a"]=l.exports},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return O})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return C})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),a=r("2909"),o=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,a=n+1,o=1;if(e!==n)while(i<=t&&o<=t){var s=(n+a)/(i+o);if(e===s){i+o<=t?(i+=o,n+=a,o=t+1):i>o?o=t+1:i=t+1;break}et&&(i=o,n=a),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return O(e,t,r)}}};function O(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-bottom-right",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:O(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:O(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:O(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:O(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:O(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:O(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:O(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:O(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function C(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return R(e*t)}function R(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,a=I(e,t),s=a.function,c=null!==(n=null===a||void 0===a?void 0:a.config)&&void 0!==n?n:{},u=null!==(i=null===a||void 0===a?void 0:a.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);nVue App
\ No newline at end of file +Vue App
\ No newline at end of file diff --git a/cookbook/static/vue/model_list_view.html b/cookbook/static/vue/model_list_view.html index a4ca559f..240434a9 100644 --- a/cookbook/static/vue/model_list_view.html +++ b/cookbook/static/vue/model_list_view.html @@ -1 +1 @@ -Vue App
\ No newline at end of file +Vue App
\ No newline at end of file diff --git a/cookbook/static/vue/recipe_search_view.html b/cookbook/static/vue/recipe_search_view.html index f49e5b13..ca09e02e 100644 --- a/cookbook/static/vue/recipe_search_view.html +++ b/cookbook/static/vue/recipe_search_view.html @@ -1 +1 @@ -Vue App
\ No newline at end of file +Vue App
\ No newline at end of file diff --git a/cookbook/static/vue/recipe_view.html b/cookbook/static/vue/recipe_view.html index f4f39da8..4b1b1378 100644 --- a/cookbook/static/vue/recipe_view.html +++ b/cookbook/static/vue/recipe_view.html @@ -1 +1 @@ -Vue App
\ No newline at end of file +Vue App
\ No newline at end of file diff --git a/cookbook/templates/sw.js b/cookbook/templates/sw.js index 250670e2..2a578e3e 100644 --- a/cookbook/templates/sw.js +++ b/cookbook/templates/sw.js @@ -1 +1 @@ -(function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="249e")})({"00ee":function(e,t,n){var r=n("b622"),o=r("toStringTag"),i={};i[o]="z",e.exports="[object z]"===String(i)},"06cf":function(e,t,n){var r=n("83ab"),o=n("d1e7"),i=n("5c6c"),a=n("fc6a"),c=n("a04b"),s=n("5135"),u=n("0cfb"),l=Object.getOwnPropertyDescriptor;t.f=r?l:function(e,t){if(e=a(e),t=c(t),u)try{return l(e,t)}catch(n){}if(s(e,t))return i(!o.f.call(e,t),e[t])}},"0719":function(e,t,n){"use strict";try{self["workbox:core:6.2.4"]&&_()}catch(r){}},"0cfb":function(e,t,n){var r=n("83ab"),o=n("d039"),i=n("cc12");e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},"107c":function(e,t,n){var r=n("d039"),o=n("da84"),i=o.RegExp;e.exports=r((function(){var e=i("(?b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$c")}))},"14c3":function(e,t,n){var r=n("c6b6"),o=n("9263");e.exports=function(e,t){var n=e.exec;if("function"===typeof n){var i=n.call(e,t);if("object"!==typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},"1be4":function(e,t,n){var r=n("d066");e.exports=r("document","documentElement")},"1d80":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"23cb":function(e,t,n){var r=n("a691"),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},"23e7":function(e,t,n){var r=n("da84"),o=n("06cf").f,i=n("9112"),a=n("6eeb"),c=n("ce4e"),s=n("e893"),u=n("94ca");e.exports=function(e,t){var n,l,f,h,d,p,g=e.target,v=e.global,y=e.stat;if(l=v?r:y?r[g]||c(g,{}):(r[g]||{}).prototype,l)for(f in t){if(d=t[f],e.noTargetGet?(p=o(l,f),h=p&&p.value):h=l[f],n=u(v?f:g+(y?".":"#")+f,e.forced),!n&&void 0!==h){if(typeof d===typeof h)continue;s(d,h)}(e.sham||h&&h.sham)&&i(d,"sham",!0),a(l,f,d,e)}}},"241c":function(e,t,n){var r=n("ca84"),o=n("7839"),i=o.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},"249e":function(e,t,n){"use strict";n.r(t);n("d3b7");function r(e,t,n,r,o,i,a){try{var c=e[i](a),s=c.value}catch(u){return void n(u)}c.done?t(s):Promise.resolve(s).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function c(e){r(a,o,i,c,s,"next",e)}function s(e){r(a,o,i,c,s,"throw",e)}c(void 0)}))}}n("ac1f"),n("466d"),n("4d63"),n("25f0"),n("96cf"),n("0719");const i=(e,...t)=>{let n=e;return t.length>0&&(n+=" :: "+JSON.stringify(t)),n},a=i;class c extends Error{constructor(e,t){const n=a(e,t);super(n),this.name=e,this.details=t}}const s={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!==typeof registration?registration.scope:""},u=e=>[s.prefix,e,s.suffix].filter(e=>e&&e.length>0).join("-"),l=e=>{for(const t of Object.keys(s))e(t)},f={updateDetails:e=>{l(t=>{"string"===typeof e[t]&&(s[t]=e[t])})},getGoogleAnalyticsName:e=>e||u(s.googleAnalytics),getPrecacheName:e=>e||u(s.precache),getPrefix:()=>s.prefix,getRuntimeName:e=>e||u(s.runtime),getSuffix:()=>s.suffix};n("c700");let h;function d(){if(void 0===h){const t=new Response("");if("body"in t)try{new Response(t.body),h=!0}catch(e){h=!1}h=!1}return h}async function p(e,t){let n=null;if(e.url){const t=new URL(e.url);n=t.origin}if(n!==self.location.origin)throw new c("cross-origin-copy-response",{origin:n});const r=e.clone(),o={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},i=t?t(o):o,a=d()?r.body:await r.blob();return new Response(a,i)}const g=e=>{const t=new URL(String(e),location.href);return t.href.replace(new RegExp("^"+location.origin),"")};function v(e,t){const n=new URL(e);for(const r of t)n.searchParams.delete(r);return n.href}async function y(e,t,n,r){const o=v(t.url,n);if(t.url===o)return e.match(t,r);const i=Object.assign(Object.assign({},r),{ignoreSearch:!0}),a=await e.keys(t,i);for(const c of a){const t=v(c.url,n);if(o===t)return e.match(c,r)}}class m{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const w=new Set;async function b(){for(const e of w)await e()}function x(e){return new Promise(t=>setTimeout(t,e))}n("6aa8");function _(e){return"string"===typeof e?new Request(e):e}class E{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new m,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=_(e);if("navigate"===n.mode&&t instanceof FetchEvent&&t.preloadResponse){const e=await t.preloadResponse;if(e)return e}const r=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))n=await e({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new c("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const o=n.clone();try{let e;e=await fetch(n,"navigate"===n.mode?void 0:this._strategy.fetchOptions);for(const n of this.iterateCallbacks("fetchDidSucceed"))e=await n({event:t,request:o,response:e});return e}catch(a){throw r&&await this.runCallbacks("fetchDidFail",{error:a,event:t,originalRequest:r.clone(),request:o.clone()}),a}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=_(e);let n;const{cacheName:r,matchOptions:o}=this._strategy,i=await this.getCacheKey(t,"read"),a=Object.assign(Object.assign({},o),{cacheName:r});n=await caches.match(i,a);for(const c of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await c({cacheName:r,matchOptions:o,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=_(e);await x(0);const r=await this.getCacheKey(n,"write");if(!t)throw new c("cache-put-with-no-response",{url:g(r.url)});const o=await this._ensureResponseSafeToCache(t);if(!o)return!1;const{cacheName:i,matchOptions:a}=this._strategy,s=await self.caches.open(i),u=this.hasCallback("cacheDidUpdate"),l=u?await y(s,r.clone(),["__WB_REVISION__"],a):null;try{await s.put(r,u?o.clone():o)}catch(f){if(f instanceof Error)throw"QuotaExceededError"===f.name&&await b(),f}for(const c of this.iterateCallbacks("cacheDidUpdate"))await c({cacheName:i,oldResponse:l,newResponse:o.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){if(!this._cacheKeys[t]){let n=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))n=_(await e({mode:t,request:n,event:this.event,params:this.params}));this._cacheKeys[t]=n}return this._cacheKeys[t]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"===typeof t[e]){const n=this._pluginStateMap.get(t),r=r=>{const o=Object.assign(Object.assign({},r),{state:n});return t[e](o)};yield r}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;while(e=this._extendLifetimePromises.shift())await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const r of this.iterateCallbacks("cacheWillUpdate"))if(t=await r({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&200!==t.status&&(t=void 0),t}}class O{constructor(e={}){this.cacheName=f.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n="string"===typeof e.request?new Request(e.request):e.request,r="params"in e?e.params:void 0,o=new E(this,{event:t,request:n,params:r}),i=this._getResponse(o,n,t),a=this._awaitComplete(i,o,n,t);return[i,a]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let r=void 0;try{if(r=await this._handle(t,e),!r||"error"===r.type)throw new c("no-response",{url:t.url})}catch(o){if(o instanceof Error)for(const i of e.iterateCallbacks("handlerDidError"))if(r=await i({error:o,event:n,request:t}),r)break;if(!r)throw o}for(const i of e.iterateCallbacks("handlerWillRespond"))r=await i({event:n,request:t,response:r});return r}async _awaitComplete(e,t,n,r){let o,i;try{o=await e}catch(i){}try{await t.runCallbacks("handlerDidRespond",{event:r,request:n,response:o}),await t.doneWaiting()}catch(a){a instanceof Error&&(i=a)}if(await t.runCallbacks("handlerDidComplete",{event:r,request:n,response:o,error:i}),t.destroy(),i)throw i}}class R extends O{constructor(e={}){e.cacheName=f.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(R.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const r=t.params||{};if(!this._fallbackToNetwork)throw new c("missing-precache-entry",{cacheName:this.cacheName,url:e.url});{0;const o=r.integrity,i=e.integrity,a=!i||i===o;if(n=await t.fetch(new Request(e,{integrity:i||o})),o&&a){this._useDefaultCacheabilityPluginIfNeeded();await t.cachePut(e,n.clone());0}}return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e),r=await t.cachePut(e,n.clone());if(!r)throw new c("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,r]of this.plugins.entries())r!==R.copyRedirectedCacheableResponsesPlugin&&(r===R.defaultPrecacheCacheabilityPlugin&&(e=n),r.cacheWillUpdate&&t++);0===t?this.plugins.push(R.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}R.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:e}){return!e||e.status>=400?null:e}},R.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:e}){return e.redirected?await p(e):e}};n("e6d2");const S="GET",j=e=>e&&"object"===typeof e?e:{handle:e};class P{constructor(e,t,n=S){this.handler=j(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=j(e)}}class N extends P{constructor(e,t,n){const r=({url:t})=>{const n=e.exec(t.href);if(n&&(t.origin===location.origin||0===n.index))return n.slice(1)};super(r,t,n)}}class k{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&"CACHE_URLS"===e.data.type){const{payload:t}=e.data;0;const n=Promise.all(t.urlsToCache.map(t=>{"string"===typeof t&&(t=[t]);const n=new Request(...t);return this.handleRequest({request:n,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return void 0;const r=n.origin===location.origin,{params:o,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:n});let a=i&&i.handler;const c=e.method;if(!a&&this._defaultHandlerMap.has(c)&&(a=this._defaultHandlerMap.get(c)),!a)return void 0;let s;try{s=a.handle({url:n,request:e,event:t,params:o})}catch(l){s=Promise.reject(l)}const u=i&&i.catchHandler;return s instanceof Promise&&(this._catchHandler||u)&&(s=s.catch(async r=>{if(u){0;try{return await u.handle({url:n,request:e,event:t,params:o})}catch(i){i instanceof Error&&(r=i)}}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw r})),s}findMatchingRoute({url:e,sameOrigin:t,request:n,event:r}){const o=this._routes.get(n.method)||[];for(const i of o){let o;const a=i.match({url:e,sameOrigin:t,request:n,event:r});if(a)return o=a,(Array.isArray(o)&&0===o.length||a.constructor===Object&&0===Object.keys(a).length||"boolean"===typeof a)&&(o=void 0),{route:i,params:o}}return{}}setDefaultHandler(e,t=S){this._defaultHandlerMap.set(t,j(e))}setCatchHandler(e){this._catchHandler=j(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new c("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(!(t>-1))throw new c("unregister-route-route-not-registered");this._routes.get(e.method).splice(t,1)}}let C;const T=()=>(C||(C=new k,C.addFetchListener(),C.addCacheListener()),C);function D(e,t,n){let r;if("string"===typeof e){const o=new URL(e,location.href);0;const i=({url:e})=>e.href===o.href;r=new P(i,t,n)}else if(e instanceof RegExp)r=new N(e,t,n);else if("function"===typeof e)r=new P(e,t,n);else{if(!(e instanceof P))throw new c("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});r=e}const o=T();return o.registerRoute(r),r}function I(e){const t=T();t.setCatchHandler(e)}class L extends O{async _handle(e,t){let n=await t.cacheMatch(e),r=void 0;if(n)0;else{0;try{n=await t.fetchAndCachePut(e)}catch(o){o instanceof Error&&(r=o)}0}if(!n)throw new c("no-response",{url:e.url,error:r});return n}}const A={cacheWillUpdate:async({response:e})=>200===e.status||0===e.status?e:null};class q extends O{constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(A),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){const n=[];const r=[];let o;if(this._networkTimeoutSeconds){const{id:i,promise:a}=this._getTimeoutPromise({request:e,logs:n,handler:t});o=i,r.push(a)}const i=this._getNetworkPromise({timeoutId:o,request:e,logs:n,handler:t});r.push(i);const a=await t.waitUntil((async()=>await t.waitUntil(Promise.race(r))||await i)());if(!a)throw new c("no-response",{url:e.url});return a}_getTimeoutPromise({request:e,logs:t,handler:n}){let r;const o=new Promise(t=>{const o=async()=>{t(await n.cacheMatch(e))};r=setTimeout(o,1e3*this._networkTimeoutSeconds)});return{promise:o,id:r}}async _getNetworkPromise({timeoutId:e,request:t,logs:n,handler:r}){let o,i;try{i=await r.fetchAndCachePut(t)}catch(a){a instanceof Error&&(o=a)}return e&&clearTimeout(e),!o&&i||(i=await r.cacheMatch(t)),i}}class M extends O{constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(A)}async _handle(e,t){const n=t.fetchAndCachePut(e).catch(()=>{});let r,o=await t.cacheMatch(e);if(o)0;else{0;try{o=await n}catch(i){i instanceof Error&&(r=i)}}if(!o)throw new c("no-response",{url:e.url,error:r});return o}}function U(e){e.then(()=>{})}const W=(e,t)=>t.some(t=>e instanceof t);let B,F;function H(){return B||(B=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function K(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const G=new WeakMap,z=new WeakMap,Y=new WeakMap,V=new WeakMap,$=new WeakMap;function Q(e){const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("success",o),e.removeEventListener("error",i)},o=()=>{t(ne(e.result)),r()},i=()=>{n(e.error),r()};e.addEventListener("success",o),e.addEventListener("error",i)});return t.then(t=>{t instanceof IDBCursor&&G.set(t,e)}).catch(()=>{}),$.set(t,e),t}function J(e){if(z.has(e))return;const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=()=>{t(),r()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)});z.set(e,t)}let X={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return z.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Y.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return ne(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function Z(e){X=e(X)}function ee(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?K().includes(e)?function(...t){return e.apply(re(this),t),ne(G.get(this))}:function(...t){return ne(e.apply(re(this),t))}:function(t,...n){const r=e.call(re(this),t,...n);return Y.set(r,t.sort?t.sort():[t]),ne(r)}}function te(e){return"function"===typeof e?ee(e):(e instanceof IDBTransaction&&J(e),W(e,H())?new Proxy(e,X):e)}function ne(e){if(e instanceof IDBRequest)return Q(e);if(V.has(e))return V.get(e);const t=te(e);return t!==e&&(V.set(e,t),$.set(t,e)),t}const re=e=>$.get(e);function oe(e,t,{blocked:n,upgrade:r,blocking:o,terminated:i}={}){const a=indexedDB.open(e,t),c=ne(a);return r&&a.addEventListener("upgradeneeded",e=>{r(ne(a.result),e.oldVersion,e.newVersion,ne(a.transaction))}),n&&a.addEventListener("blocked",()=>n()),c.then(e=>{i&&e.addEventListener("close",()=>i()),o&&e.addEventListener("versionchange",()=>o())}).catch(()=>{}),c}function ie(e,{blocked:t}={}){const n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",()=>t()),ne(n).then(()=>{})}const ae=["get","getKey","getAll","getAllKeys","count"],ce=["put","add","delete","clear"],se=new Map;function ue(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!==typeof t)return;if(se.get(t))return se.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,o=ce.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!o&&!ae.includes(n))return;const i=async function(e,...t){const i=this.transaction(e,o?"readwrite":"readonly");let a=i.store;return r&&(a=a.index(t.shift())),(await Promise.all([a[n](...t),o&&i.done]))[0]};return se.set(t,i),i}Z(e=>({...e,get:(t,n,r)=>ue(t,n)||e.get(t,n,r),has:(t,n)=>!!ue(t,n)||e.has(t,n)}));n("d8a5");const le="workbox-expiration",fe="cache-entries",he=e=>{const t=new URL(e,location.href);return t.hash="",t.href};class de{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(fe,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&ie(this._cacheName)}async setTimestamp(e,t){e=he(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=await this.getDb(),o=r.transaction(fe,"readwrite",{durability:"relaxed"});await o.store.put(n),await o.done}async getTimestamp(e){const t=await this.getDb(),n=await t.get(fe,this._getId(e));return null===n||void 0===n?void 0:n.timestamp}async expireEntries(e,t){const n=await this.getDb();let r=await n.transaction(fe).store.index("timestamp").openCursor(null,"prev");const o=[];let i=0;while(r){const n=r.value;n.cacheName===this._cacheName&&(e&&n.timestamp=t?o.push(r.value):i++),r=await r.continue()}const a=[];for(const c of o)await n.delete(fe,c.id),a.push(c.url);return a}_getId(e){return this._cacheName+"|"+he(e)}async getDb(){return this._db||(this._db=await oe(le,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class pe{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new de(e)}async expireEntries(){if(this._isRunning)return void(this._rerunRequested=!0);this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const r of t)await n.delete(r,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,U(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t{if(!r)return null;const o=this._isResponseDateFresh(r),i=this._getCacheExpiration(n);U(i.expireEntries());const a=i.updateTimestamp(t.url);if(e)try{e.waitUntil(a)}catch(c){0}return o?r:null},this.cacheDidUpdate=async({cacheName:e,request:t})=>{const n=this._getCacheExpiration(e);await n.updateTimestamp(t.url),await n.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&ge(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===f.getRuntimeName())throw new c("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new pe(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(null===t)return!0;const n=Date.now();return t>=n-1e3*this._maxAgeSeconds}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),n=new Date(t),r=n.getTime();return isNaN(r)?null:r}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}var ye="offline-html",me="undefined"!==typeof window?localStorage.getItem("SCRIPT_NAME"):"/",we=me+"offline/";self.addEventListener("install",function(){var e=o(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t.waitUntil(caches.open(ye).then((function(e){return e.add(new Request(we,{cache:"reload"}))})));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),[{'url':'static/vue/cookbook_view.html'},{'url':'static/vue/css/chunk-vendors.css'},{'url':'static/vue/css/cookbook_view.css'},{'url':'static/vue/css/edit_internal_recipe.css'},{'url':'static/vue/css/meal_plan_view.css'},{'url':'static/vue/css/model_list_view.css'},{'url':'static/vue/css/recipe_search_view.css'},{'url':'static/vue/css/recipe_view.css'},{'url':'static/vue/edit_internal_recipe.html'},{'url':'static/vue/import_response_view.html'},{'url':'static/vue/js/chunk-vendors.js'},{'url':'static/vue/js/cookbook_view.js'},{'url':'static/vue/js/edit_internal_recipe.js'},{'url':'static/vue/js/import_response_view.js'},{'url':'static/vue/js/meal_plan_view.js'},{'url':'static/vue/js/model_list_view.js'},{'url':'static/vue/js/offline_view.js'},{'url':'static/vue/js/recipe_search_view.js'},{'url':'static/vue/js/recipe_view.js'},{'url':'static/vue/js/supermarket_view.js'},{'url':'static/vue/js/user_file_view.js'},{'url':'static/vue/manifest.json'},{'url':'static/vue/meal_plan_view.html'},{'url':'static/vue/model_list_view.html'},{'url':'static/vue/offline_view.html'},{'url':'static/vue/recipe_search_view.html'},{'url':'static/vue/recipe_view.html'},{'url':'static/vue/supermarket_view.html'},{'url':'static/vue/user_file_view.html'}],I((function(e){var t=e.event;switch(t.request.destination){case"document":return console.log("Triggered fallback HTML"),caches.open(ye).then((function(e){return e.match(we)}));default:return console.log("Triggered response ERROR"),Response.error()}})),D((function(e){var t=e.request;return"image"===t.destination}),new L({cacheName:"images",plugins:[new ve({maxEntries:20})]})),D((function(e){var t=e.request;return"script"===t.destination||"style"===t.destination}),new M({cacheName:"assets"})),D(new RegExp("jsreverse"),new M({cacheName:"assets"})),D(new RegExp("jsi18n"),new M({cacheName:"assets"})),D(new RegExp("api/recipe/([0-9]+)"),new q({cacheName:"api-recipe",plugins:[new ve({maxEntries:50})]})),D(new RegExp("api/*"),new q({cacheName:"api",plugins:[new ve({maxEntries:50})]})),D((function(e){var t=e.request;return"document"===t.destination}),new q({cacheName:"html",plugins:[new ve({maxAgeSeconds:2592e3,maxEntries:50})]}))},"25f0":function(e,t,n){"use strict";var r=n("6eeb"),o=n("825a"),i=n("577e"),a=n("d039"),c=n("ad6d"),s="toString",u=RegExp.prototype,l=u[s],f=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),h=l.name!=s;(f||h)&&r(RegExp.prototype,s,(function(){var e=o(this),t=i(e.source),n=e.flags,r=i(void 0===n&&e instanceof RegExp&&!("flags"in u)?c.call(e):n);return"/"+t+"/"+r}),{unsafe:!0})},2626:function(e,t,n){"use strict";var r=n("d066"),o=n("9bf2"),i=n("b622"),a=n("83ab"),c=i("species");e.exports=function(e){var t=r(e),n=o.f;a&&t&&!t[c]&&n(t,c,{configurable:!0,get:function(){return this}})}},"2d00":function(e,t,n){var r,o,i=n("da84"),a=n("342f"),c=i.process,s=i.Deno,u=c&&c.versions||s&&s.version,l=u&&u.v8;l?(r=l.split("."),o=r[0]<4?1:r[0]+r[1]):a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(o=r[1]))),e.exports=o&&+o},"342f":function(e,t,n){var r=n("d066");e.exports=r("navigator","userAgent")||""},"37e8":function(e,t,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),a=n("df75");e.exports=r?Object.defineProperties:function(e,t){i(e);var n,r=a(t),c=r.length,s=0;while(c>s)o.f(e,n=r[s++],t[n]);return e}},"3bbe":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},"44ad":function(e,t,n){var r=n("d039"),o=n("c6b6"),i="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},"44e7":function(e,t,n){var r=n("861d"),o=n("c6b6"),i=n("b622"),a=i("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==o(e))}},"466d":function(e,t,n){"use strict";var r=n("d784"),o=n("825a"),i=n("50c4"),a=n("577e"),c=n("1d80"),s=n("8aa5"),u=n("14c3");r("match",(function(e,t,n){return[function(t){var n=c(this),r=void 0==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](a(n))},function(e){var r=o(this),c=a(e),l=n(t,r,c);if(l.done)return l.value;if(!r.global)return u(r,c);var f=r.unicode;r.lastIndex=0;var h,d=[],p=0;while(null!==(h=u(r,c))){var g=a(h[0]);d[p]=g,""===g&&(r.lastIndex=s(c,i(r.lastIndex),f)),p++}return 0===p?null:d}]}))},"485a":function(e,t,n){var r=n("861d");e.exports=function(e,t){var n,o;if("string"===t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if("string"!==t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},4930:function(e,t,n){var r=n("2d00"),o=n("d039");e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},"4d63":function(e,t,n){var r=n("83ab"),o=n("da84"),i=n("94ca"),a=n("7156"),c=n("9112"),s=n("9bf2").f,u=n("241c").f,l=n("44e7"),f=n("577e"),h=n("ad6d"),d=n("9f7f"),p=n("6eeb"),g=n("d039"),v=n("5135"),y=n("69f3").enforce,m=n("2626"),w=n("b622"),b=n("fce3"),x=n("107c"),_=w("match"),E=o.RegExp,O=E.prototype,R=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,S=/a/g,j=/a/g,P=new E(S)!==S,N=d.UNSUPPORTED_Y,k=r&&(!P||N||b||x||g((function(){return j[_]=!1,E(S)!=S||E(j)==j||"/a/i"!=E(S,"i")}))),C=function(e){for(var t,n=e.length,r=0,o="",i=!1;r<=n;r++)t=e.charAt(r),"\\"!==t?i||"."!==t?("["===t?i=!0:"]"===t&&(i=!1),o+=t):o+="[\\s\\S]":o+=t+e.charAt(++r);return o},T=function(e){for(var t,n=e.length,r=0,o="",i=[],a={},c=!1,s=!1,u=0,l="";r<=n;r++){if(t=e.charAt(r),"\\"===t)t+=e.charAt(++r);else if("]"===t)c=!1;else if(!c)switch(!0){case"["===t:c=!0;break;case"("===t:R.test(e.slice(r+1))&&(r+=2,s=!0),o+=t,u++;continue;case">"===t&&s:if(""===l||v(a,l))throw new SyntaxError("Invalid capture group name");a[l]=!0,i.push([l,u]),s=!1,l="";continue}s?l+=t:o+=t}return[o,i]};if(i("RegExp",k)){for(var D=function(e,t){var n,r,o,i,s,u,d=this instanceof D,p=l(e),g=void 0===t,v=[],m=e;if(!d&&p&&g&&e.constructor===D)return e;if((p||e instanceof D)&&(e=e.source,g&&(t="flags"in m?m.flags:h.call(m))),e=void 0===e?"":f(e),t=void 0===t?"":f(t),m=e,b&&"dotAll"in S&&(r=!!t&&t.indexOf("s")>-1,r&&(t=t.replace(/s/g,""))),n=t,N&&"sticky"in S&&(o=!!t&&t.indexOf("y")>-1,o&&(t=t.replace(/y/g,""))),x&&(i=T(e),e=i[0],v=i[1]),s=a(E(e,t),d?this:O,D),(r||o||v.length)&&(u=y(s),r&&(u.dotAll=!0,u.raw=D(C(e),n)),o&&(u.sticky=!0),v.length&&(u.groups=v)),e!==m)try{c(s,"source",""===m?"(?:)":m)}catch(w){}return s},I=function(e){e in D||s(D,e,{configurable:!0,get:function(){return E[e]},set:function(t){E[e]=t}})},L=u(E),A=0;L.length>A;)I(L[A++]);O.constructor=D,D.prototype=O,p(o,"RegExp",D)}m("RegExp")},"4d64":function(e,t,n){var r=n("fc6a"),o=n("50c4"),i=n("23cb"),a=function(e){return function(t,n,a){var c,s=r(t),u=o(s.length),l=i(a,u);if(e&&n!=n){while(u>l)if(c=s[l++],c!=c)return!0}else for(;u>l;l++)if((e||l in s)&&s[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},"50c4":function(e,t,n){var r=n("a691"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},5135:function(e,t,n){var r=n("7b0b"),o={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return o.call(r(e),t)}},5692:function(e,t,n){var r=n("c430"),o=n("c6cd");(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.17.3",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,t,n){var r=n("d066"),o=n("241c"),i=n("7418"),a=n("825a");e.exports=r("Reflect","ownKeys")||function(e){var t=o.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},"577e":function(e,t,n){var r=n("d9b5");e.exports=function(e){if(r(e))throw TypeError("Cannot convert a Symbol value to a string");return String(e)}},"5c6c":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},6547:function(e,t,n){var r=n("a691"),o=n("577e"),i=n("1d80"),a=function(e){return function(t,n){var a,c,s=o(i(t)),u=r(n),l=s.length;return u<0||u>=l?e?"":void 0:(a=s.charCodeAt(u),a<55296||a>56319||u+1===l||(c=s.charCodeAt(u+1))<56320||c>57343?e?s.charAt(u):a:e?s.slice(u,u+2):c-56320+(a-55296<<10)+65536)}};e.exports={codeAt:a(!1),charAt:a(!0)}},"69f3":function(e,t,n){var r,o,i,a=n("7f9a"),c=n("da84"),s=n("861d"),u=n("9112"),l=n("5135"),f=n("c6cd"),h=n("f772"),d=n("d012"),p="Object already initialized",g=c.WeakMap,v=function(e){return i(e)?o(e):r(e,{})},y=function(e){return function(t){var n;if(!s(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}};if(a||f.state){var m=f.state||(f.state=new g),w=m.get,b=m.has,x=m.set;r=function(e,t){if(b.call(m,e))throw new TypeError(p);return t.facade=e,x.call(m,e,t),t},o=function(e){return w.call(m,e)||{}},i=function(e){return b.call(m,e)}}else{var _=h("state");d[_]=!0,r=function(e,t){if(l(e,_))throw new TypeError(p);return t.facade=e,u(e,_,t),t},o=function(e){return l(e,_)?e[_]:{}},i=function(e){return l(e,_)}}e.exports={set:r,get:o,has:i,enforce:v,getterFor:y}},"6aa8":function(e,t,n){"use strict";try{self["workbox:strategies:6.2.4"]&&_()}catch(r){}},"6eeb":function(e,t,n){var r=n("da84"),o=n("9112"),i=n("5135"),a=n("ce4e"),c=n("8925"),s=n("69f3"),u=s.get,l=s.enforce,f=String(String).split("String");(e.exports=function(e,t,n,c){var s,u=!!c&&!!c.unsafe,h=!!c&&!!c.enumerable,d=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s=l(n),s.source||(s.source=f.join("string"==typeof t?t:""))),e!==r?(u?!d&&e[t]&&(h=!0):delete e[t],h?e[t]=n:o(e,t,n)):h?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},7156:function(e,t,n){var r=n("861d"),o=n("d2bb");e.exports=function(e,t,n){var i,a;return o&&"function"==typeof(i=t.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(e,a),e}},7418:function(e,t){t.f=Object.getOwnPropertySymbols},7839:function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,t,n){var r=n("1d80");e.exports=function(e){return Object(r(e))}},"7c73":function(e,t,n){var r,o=n("825a"),i=n("37e8"),a=n("7839"),c=n("d012"),s=n("1be4"),u=n("cc12"),l=n("f772"),f=">",h="<",d="prototype",p="script",g=l("IE_PROTO"),v=function(){},y=function(e){return h+p+f+e+h+"/"+p+f},m=function(e){e.write(y("")),e.close();var t=e.parentWindow.Object;return e=null,t},w=function(){var e,t=u("iframe"),n="java"+p+":";return t.style.display="none",s.appendChild(t),t.src=String(n),e=t.contentWindow.document,e.open(),e.write(y("document.F=Object")),e.close(),e.F},b=function(){try{r=new ActiveXObject("htmlfile")}catch(t){}b="undefined"!=typeof document?document.domain&&r?m(r):w():m(r);var e=a.length;while(e--)delete b[d][a[e]];return b()};c[g]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(v[d]=o(e),n=new v,v[d]=null,n[g]=e):n=b(),void 0===t?n:i(n,t)}},"7f9a":function(e,t,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;e.exports="function"===typeof i&&/native code/.test(o(i))},"825a":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},"83ab":function(e,t,n){var r=n("d039");e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"861d":function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},8925:function(e,t,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},"8aa5":function(e,t,n){"use strict";var r=n("6547").charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},"90e3":function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++n+r).toString(36)}},9112:function(e,t,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},9263:function(e,t,n){"use strict";var r=n("577e"),o=n("ad6d"),i=n("9f7f"),a=n("5692"),c=n("7c73"),s=n("69f3").get,u=n("fce3"),l=n("107c"),f=RegExp.prototype.exec,h=a("native-string-replace",String.prototype.replace),d=f,p=function(){var e=/a/,t=/b*/g;return f.call(e,"a"),f.call(t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),g=i.UNSUPPORTED_Y||i.BROKEN_CARET,v=void 0!==/()??/.exec("")[1],y=p||v||g||u||l;y&&(d=function(e){var t,n,i,a,u,l,y,m=this,w=s(m),b=r(e),x=w.raw;if(x)return x.lastIndex=m.lastIndex,t=d.call(x,b),m.lastIndex=x.lastIndex,t;var _=w.groups,E=g&&m.sticky,O=o.call(m),R=m.source,S=0,j=b;if(E&&(O=O.replace("y",""),-1===O.indexOf("g")&&(O+="g"),j=b.slice(m.lastIndex),m.lastIndex>0&&(!m.multiline||m.multiline&&"\n"!==b.charAt(m.lastIndex-1))&&(R="(?: "+R+")",j=" "+j,S++),n=new RegExp("^(?:"+R+")",O)),v&&(n=new RegExp("^"+R+"$(?!\\s)",O)),p&&(i=m.lastIndex),a=f.call(E?n:m,j),E?a?(a.input=a.input.slice(S),a[0]=a[0].slice(S),a.index=m.lastIndex,m.lastIndex+=a[0].length):m.lastIndex=0:p&&a&&(m.lastIndex=m.global?a.index+a[0].length:i),v&&a&&a.length>1&&h.call(a[0],n,(function(){for(u=1;u=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),P(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;P(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:k(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),g}},e}(e.exports);try{regeneratorRuntime=r}catch(o){"object"===typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},"9bf2":function(e,t,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),a=n("a04b"),c=Object.defineProperty;t.f=r?c:function(e,t,n){if(i(e),t=a(t),i(n),o)try{return c(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},"9f7f":function(e,t,n){var r=n("d039"),o=n("da84"),i=o.RegExp;t.UNSUPPORTED_Y=r((function(){var e=i("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=r((function(){var e=i("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},a04b:function(e,t,n){var r=n("c04e"),o=n("d9b5");e.exports=function(e){var t=r(e,"string");return o(t)?t:String(t)}},a691:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},ac1f:function(e,t,n){"use strict";var r=n("23e7"),o=n("9263");r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},ad6d:function(e,t,n){"use strict";var r=n("825a");e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},b041:function(e,t,n){"use strict";var r=n("00ee"),o=n("f5df");e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b622:function(e,t,n){var r=n("da84"),o=n("5692"),i=n("5135"),a=n("90e3"),c=n("4930"),s=n("fdbf"),u=o("wks"),l=r.Symbol,f=s?l:l&&l.withoutSetter||a;e.exports=function(e){return i(u,e)&&(c||"string"==typeof u[e])||(c&&i(l,e)?u[e]=l[e]:u[e]=f("Symbol."+e)),u[e]}},c04e:function(e,t,n){var r=n("861d"),o=n("d9b5"),i=n("485a"),a=n("b622"),c=a("toPrimitive");e.exports=function(e,t){if(!r(e)||o(e))return e;var n,a=e[c];if(void 0!==a){if(void 0===t&&(t="default"),n=a.call(e,t),!r(n)||o(n))return n;throw TypeError("Can't convert object to primitive value")}return void 0===t&&(t="number"),i(e,t)}},c430:function(e,t){e.exports=!1},c6b6:function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},c6cd:function(e,t,n){var r=n("da84"),o=n("ce4e"),i="__core-js_shared__",a=r[i]||o(i,{});e.exports=a},c700:function(e,t,n){"use strict";try{self["workbox:precaching:6.2.4"]&&_()}catch(r){}},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},ca84:function(e,t,n){var r=n("5135"),o=n("fc6a"),i=n("4d64").indexOf,a=n("d012");e.exports=function(e,t){var n,c=o(e),s=0,u=[];for(n in c)!r(a,n)&&r(c,n)&&u.push(n);while(t.length>s)r(c,n=t[s++])&&(~i(u,n)||u.push(n));return u}},cc12:function(e,t,n){var r=n("da84"),o=n("861d"),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},ce4e:function(e,t,n){var r=n("da84");e.exports=function(e,t){try{Object.defineProperty(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},d012:function(e,t){e.exports={}},d039:function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},d066:function(e,t,n){var r=n("da84"),o=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?o(r[e]):r[e]&&r[e][t]}},d1e7:function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},d2bb:function(e,t,n){var r=n("825a"),o=n("3bbe");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,e.call(n,[]),t=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(e,t,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d784:function(e,t,n){"use strict";n("ac1f");var r=n("6eeb"),o=n("9263"),i=n("d039"),a=n("b622"),c=n("9112"),s=a("species"),u=RegExp.prototype;e.exports=function(e,t,n,l){var f=a(e),h=!i((function(){var t={};return t[f]=function(){return 7},7!=""[e](t)})),d=h&&!i((function(){var t=!1,n=/a/;return"split"===e&&(n={},n.constructor={},n.constructor[s]=function(){return n},n.flags="",n[f]=/./[f]),n.exec=function(){return t=!0,null},n[f](""),!t}));if(!h||!d||n){var p=/./[f],g=t(f,""[e],(function(e,t,n,r,i){var a=t.exec;return a===o||a===u.exec?h&&!i?{done:!0,value:p.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}));r(String.prototype,e,g[0]),r(u,f,g[1])}l&&c(u[f],"sham",!0)}},d8a5:function(e,t,n){"use strict";try{self["workbox:expiration:6.2.4"]&&_()}catch(r){}},d9b5:function(e,t,n){var r=n("d066"),o=n("fdbf");e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return"function"==typeof t&&Object(e)instanceof t}},da84:function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n("c8ba"))},df75:function(e,t,n){var r=n("ca84"),o=n("7839");e.exports=Object.keys||function(e){return r(e,o)}},e6d2:function(e,t,n){"use strict";try{self["workbox:routing:6.2.4"]&&_()}catch(r){}},e893:function(e,t,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),a=n("9bf2");e.exports=function(e,t){for(var n=o(t),c=a.f,s=i.f,u=0;ub)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$c")}))},"14c3":function(e,t,n){var r=n("c6b6"),o=n("9263");e.exports=function(e,t){var n=e.exec;if("function"===typeof n){var i=n.call(e,t);if("object"!==typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},"1be4":function(e,t,n){var r=n("d066");e.exports=r("document","documentElement")},"1d80":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"23cb":function(e,t,n){var r=n("a691"),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},"23e7":function(e,t,n){var r=n("da84"),o=n("06cf").f,i=n("9112"),a=n("6eeb"),c=n("ce4e"),s=n("e893"),u=n("94ca");e.exports=function(e,t){var n,l,f,h,d,p,g=e.target,v=e.global,y=e.stat;if(l=v?r:y?r[g]||c(g,{}):(r[g]||{}).prototype,l)for(f in t){if(d=t[f],e.noTargetGet?(p=o(l,f),h=p&&p.value):h=l[f],n=u(v?f:g+(y?".":"#")+f,e.forced),!n&&void 0!==h){if(typeof d===typeof h)continue;s(d,h)}(e.sham||h&&h.sham)&&i(d,"sham",!0),a(l,f,d,e)}}},"241c":function(e,t,n){var r=n("ca84"),o=n("7839"),i=o.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},"249e":function(e,t,n){"use strict";n.r(t);n("d3b7");function r(e,t,n,r,o,i,a){try{var c=e[i](a),s=c.value}catch(u){return void n(u)}c.done?t(s):Promise.resolve(s).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function c(e){r(a,o,i,c,s,"next",e)}function s(e){r(a,o,i,c,s,"throw",e)}c(void 0)}))}}n("ac1f"),n("466d"),n("4d63"),n("25f0"),n("96cf"),n("0719");const i=(e,...t)=>{let n=e;return t.length>0&&(n+=" :: "+JSON.stringify(t)),n},a=i;class c extends Error{constructor(e,t){const n=a(e,t);super(n),this.name=e,this.details=t}}const s={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!==typeof registration?registration.scope:""},u=e=>[s.prefix,e,s.suffix].filter(e=>e&&e.length>0).join("-"),l=e=>{for(const t of Object.keys(s))e(t)},f={updateDetails:e=>{l(t=>{"string"===typeof e[t]&&(s[t]=e[t])})},getGoogleAnalyticsName:e=>e||u(s.googleAnalytics),getPrecacheName:e=>e||u(s.precache),getPrefix:()=>s.prefix,getRuntimeName:e=>e||u(s.runtime),getSuffix:()=>s.suffix};n("c700");let h;function d(){if(void 0===h){const t=new Response("");if("body"in t)try{new Response(t.body),h=!0}catch(e){h=!1}h=!1}return h}async function p(e,t){let n=null;if(e.url){const t=new URL(e.url);n=t.origin}if(n!==self.location.origin)throw new c("cross-origin-copy-response",{origin:n});const r=e.clone(),o={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},i=t?t(o):o,a=d()?r.body:await r.blob();return new Response(a,i)}const g=e=>{const t=new URL(String(e),location.href);return t.href.replace(new RegExp("^"+location.origin),"")};function v(e,t){const n=new URL(e);for(const r of t)n.searchParams.delete(r);return n.href}async function y(e,t,n,r){const o=v(t.url,n);if(t.url===o)return e.match(t,r);const i=Object.assign(Object.assign({},r),{ignoreSearch:!0}),a=await e.keys(t,i);for(const c of a){const t=v(c.url,n);if(o===t)return e.match(c,r)}}class m{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const w=new Set;async function b(){for(const e of w)await e()}function x(e){return new Promise(t=>setTimeout(t,e))}n("6aa8");function _(e){return"string"===typeof e?new Request(e):e}class E{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new m,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=_(e);if("navigate"===n.mode&&t instanceof FetchEvent&&t.preloadResponse){const e=await t.preloadResponse;if(e)return e}const r=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))n=await e({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new c("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const o=n.clone();try{let e;e=await fetch(n,"navigate"===n.mode?void 0:this._strategy.fetchOptions);for(const n of this.iterateCallbacks("fetchDidSucceed"))e=await n({event:t,request:o,response:e});return e}catch(a){throw r&&await this.runCallbacks("fetchDidFail",{error:a,event:t,originalRequest:r.clone(),request:o.clone()}),a}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=_(e);let n;const{cacheName:r,matchOptions:o}=this._strategy,i=await this.getCacheKey(t,"read"),a=Object.assign(Object.assign({},o),{cacheName:r});n=await caches.match(i,a);for(const c of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await c({cacheName:r,matchOptions:o,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=_(e);await x(0);const r=await this.getCacheKey(n,"write");if(!t)throw new c("cache-put-with-no-response",{url:g(r.url)});const o=await this._ensureResponseSafeToCache(t);if(!o)return!1;const{cacheName:i,matchOptions:a}=this._strategy,s=await self.caches.open(i),u=this.hasCallback("cacheDidUpdate"),l=u?await y(s,r.clone(),["__WB_REVISION__"],a):null;try{await s.put(r,u?o.clone():o)}catch(f){if(f instanceof Error)throw"QuotaExceededError"===f.name&&await b(),f}for(const c of this.iterateCallbacks("cacheDidUpdate"))await c({cacheName:i,oldResponse:l,newResponse:o.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){if(!this._cacheKeys[t]){let n=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))n=_(await e({mode:t,request:n,event:this.event,params:this.params}));this._cacheKeys[t]=n}return this._cacheKeys[t]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"===typeof t[e]){const n=this._pluginStateMap.get(t),r=r=>{const o=Object.assign(Object.assign({},r),{state:n});return t[e](o)};yield r}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;while(e=this._extendLifetimePromises.shift())await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const r of this.iterateCallbacks("cacheWillUpdate"))if(t=await r({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&200!==t.status&&(t=void 0),t}}class O{constructor(e={}){this.cacheName=f.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n="string"===typeof e.request?new Request(e.request):e.request,r="params"in e?e.params:void 0,o=new E(this,{event:t,request:n,params:r}),i=this._getResponse(o,n,t),a=this._awaitComplete(i,o,n,t);return[i,a]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let r=void 0;try{if(r=await this._handle(t,e),!r||"error"===r.type)throw new c("no-response",{url:t.url})}catch(o){if(o instanceof Error)for(const i of e.iterateCallbacks("handlerDidError"))if(r=await i({error:o,event:n,request:t}),r)break;if(!r)throw o}for(const i of e.iterateCallbacks("handlerWillRespond"))r=await i({event:n,request:t,response:r});return r}async _awaitComplete(e,t,n,r){let o,i;try{o=await e}catch(i){}try{await t.runCallbacks("handlerDidRespond",{event:r,request:n,response:o}),await t.doneWaiting()}catch(a){a instanceof Error&&(i=a)}if(await t.runCallbacks("handlerDidComplete",{event:r,request:n,response:o,error:i}),t.destroy(),i)throw i}}class R extends O{constructor(e={}){e.cacheName=f.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(R.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const r=t.params||{};if(!this._fallbackToNetwork)throw new c("missing-precache-entry",{cacheName:this.cacheName,url:e.url});{0;const o=r.integrity,i=e.integrity,a=!i||i===o;if(n=await t.fetch(new Request(e,{integrity:i||o})),o&&a){this._useDefaultCacheabilityPluginIfNeeded();await t.cachePut(e,n.clone());0}}return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e),r=await t.cachePut(e,n.clone());if(!r)throw new c("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,r]of this.plugins.entries())r!==R.copyRedirectedCacheableResponsesPlugin&&(r===R.defaultPrecacheCacheabilityPlugin&&(e=n),r.cacheWillUpdate&&t++);0===t?this.plugins.push(R.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}R.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:e}){return!e||e.status>=400?null:e}},R.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:e}){return e.redirected?await p(e):e}};n("e6d2");const S="GET",j=e=>e&&"object"===typeof e?e:{handle:e};class P{constructor(e,t,n=S){this.handler=j(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=j(e)}}class N extends P{constructor(e,t,n){const r=({url:t})=>{const n=e.exec(t.href);if(n&&(t.origin===location.origin||0===n.index))return n.slice(1)};super(r,t,n)}}class k{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&"CACHE_URLS"===e.data.type){const{payload:t}=e.data;0;const n=Promise.all(t.urlsToCache.map(t=>{"string"===typeof t&&(t=[t]);const n=new Request(...t);return this.handleRequest({request:n,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return void 0;const r=n.origin===location.origin,{params:o,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:n});let a=i&&i.handler;const c=e.method;if(!a&&this._defaultHandlerMap.has(c)&&(a=this._defaultHandlerMap.get(c)),!a)return void 0;let s;try{s=a.handle({url:n,request:e,event:t,params:o})}catch(l){s=Promise.reject(l)}const u=i&&i.catchHandler;return s instanceof Promise&&(this._catchHandler||u)&&(s=s.catch(async r=>{if(u){0;try{return await u.handle({url:n,request:e,event:t,params:o})}catch(i){i instanceof Error&&(r=i)}}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw r})),s}findMatchingRoute({url:e,sameOrigin:t,request:n,event:r}){const o=this._routes.get(n.method)||[];for(const i of o){let o;const a=i.match({url:e,sameOrigin:t,request:n,event:r});if(a)return o=a,(Array.isArray(o)&&0===o.length||a.constructor===Object&&0===Object.keys(a).length||"boolean"===typeof a)&&(o=void 0),{route:i,params:o}}return{}}setDefaultHandler(e,t=S){this._defaultHandlerMap.set(t,j(e))}setCatchHandler(e){this._catchHandler=j(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new c("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(!(t>-1))throw new c("unregister-route-route-not-registered");this._routes.get(e.method).splice(t,1)}}let C;const T=()=>(C||(C=new k,C.addFetchListener(),C.addCacheListener()),C);function D(e,t,n){let r;if("string"===typeof e){const o=new URL(e,location.href);0;const i=({url:e})=>e.href===o.href;r=new P(i,t,n)}else if(e instanceof RegExp)r=new N(e,t,n);else if("function"===typeof e)r=new P(e,t,n);else{if(!(e instanceof P))throw new c("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});r=e}const o=T();return o.registerRoute(r),r}function I(e){const t=T();t.setCatchHandler(e)}class L extends O{async _handle(e,t){let n=await t.cacheMatch(e),r=void 0;if(n)0;else{0;try{n=await t.fetchAndCachePut(e)}catch(o){o instanceof Error&&(r=o)}0}if(!n)throw new c("no-response",{url:e.url,error:r});return n}}const A={cacheWillUpdate:async({response:e})=>200===e.status||0===e.status?e:null};class q extends O{constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(A),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){const n=[];const r=[];let o;if(this._networkTimeoutSeconds){const{id:i,promise:a}=this._getTimeoutPromise({request:e,logs:n,handler:t});o=i,r.push(a)}const i=this._getNetworkPromise({timeoutId:o,request:e,logs:n,handler:t});r.push(i);const a=await t.waitUntil((async()=>await t.waitUntil(Promise.race(r))||await i)());if(!a)throw new c("no-response",{url:e.url});return a}_getTimeoutPromise({request:e,logs:t,handler:n}){let r;const o=new Promise(t=>{const o=async()=>{t(await n.cacheMatch(e))};r=setTimeout(o,1e3*this._networkTimeoutSeconds)});return{promise:o,id:r}}async _getNetworkPromise({timeoutId:e,request:t,logs:n,handler:r}){let o,i;try{i=await r.fetchAndCachePut(t)}catch(a){a instanceof Error&&(o=a)}return e&&clearTimeout(e),!o&&i||(i=await r.cacheMatch(t)),i}}class M extends O{constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(A)}async _handle(e,t){const n=t.fetchAndCachePut(e).catch(()=>{});let r,o=await t.cacheMatch(e);if(o)0;else{0;try{o=await n}catch(i){i instanceof Error&&(r=i)}}if(!o)throw new c("no-response",{url:e.url,error:r});return o}}function U(e){e.then(()=>{})}const W=(e,t)=>t.some(t=>e instanceof t);let B,F;function H(){return B||(B=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function K(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const G=new WeakMap,z=new WeakMap,Y=new WeakMap,V=new WeakMap,$=new WeakMap;function Q(e){const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("success",o),e.removeEventListener("error",i)},o=()=>{t(ne(e.result)),r()},i=()=>{n(e.error),r()};e.addEventListener("success",o),e.addEventListener("error",i)});return t.then(t=>{t instanceof IDBCursor&&G.set(t,e)}).catch(()=>{}),$.set(t,e),t}function J(e){if(z.has(e))return;const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=()=>{t(),r()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)});z.set(e,t)}let X={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return z.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Y.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return ne(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function Z(e){X=e(X)}function ee(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?K().includes(e)?function(...t){return e.apply(re(this),t),ne(G.get(this))}:function(...t){return ne(e.apply(re(this),t))}:function(t,...n){const r=e.call(re(this),t,...n);return Y.set(r,t.sort?t.sort():[t]),ne(r)}}function te(e){return"function"===typeof e?ee(e):(e instanceof IDBTransaction&&J(e),W(e,H())?new Proxy(e,X):e)}function ne(e){if(e instanceof IDBRequest)return Q(e);if(V.has(e))return V.get(e);const t=te(e);return t!==e&&(V.set(e,t),$.set(t,e)),t}const re=e=>$.get(e);function oe(e,t,{blocked:n,upgrade:r,blocking:o,terminated:i}={}){const a=indexedDB.open(e,t),c=ne(a);return r&&a.addEventListener("upgradeneeded",e=>{r(ne(a.result),e.oldVersion,e.newVersion,ne(a.transaction))}),n&&a.addEventListener("blocked",()=>n()),c.then(e=>{i&&e.addEventListener("close",()=>i()),o&&e.addEventListener("versionchange",()=>o())}).catch(()=>{}),c}function ie(e,{blocked:t}={}){const n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",()=>t()),ne(n).then(()=>{})}const ae=["get","getKey","getAll","getAllKeys","count"],ce=["put","add","delete","clear"],se=new Map;function ue(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!==typeof t)return;if(se.get(t))return se.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,o=ce.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!o&&!ae.includes(n))return;const i=async function(e,...t){const i=this.transaction(e,o?"readwrite":"readonly");let a=i.store;return r&&(a=a.index(t.shift())),(await Promise.all([a[n](...t),o&&i.done]))[0]};return se.set(t,i),i}Z(e=>({...e,get:(t,n,r)=>ue(t,n)||e.get(t,n,r),has:(t,n)=>!!ue(t,n)||e.has(t,n)}));n("d8a5");const le="workbox-expiration",fe="cache-entries",he=e=>{const t=new URL(e,location.href);return t.hash="",t.href};class de{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(fe,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&ie(this._cacheName)}async setTimestamp(e,t){e=he(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=await this.getDb(),o=r.transaction(fe,"readwrite",{durability:"relaxed"});await o.store.put(n),await o.done}async getTimestamp(e){const t=await this.getDb(),n=await t.get(fe,this._getId(e));return null===n||void 0===n?void 0:n.timestamp}async expireEntries(e,t){const n=await this.getDb();let r=await n.transaction(fe).store.index("timestamp").openCursor(null,"prev");const o=[];let i=0;while(r){const n=r.value;n.cacheName===this._cacheName&&(e&&n.timestamp=t?o.push(r.value):i++),r=await r.continue()}const a=[];for(const c of o)await n.delete(fe,c.id),a.push(c.url);return a}_getId(e){return this._cacheName+"|"+he(e)}async getDb(){return this._db||(this._db=await oe(le,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class pe{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new de(e)}async expireEntries(){if(this._isRunning)return void(this._rerunRequested=!0);this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const r of t)await n.delete(r,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,U(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t{if(!r)return null;const o=this._isResponseDateFresh(r),i=this._getCacheExpiration(n);U(i.expireEntries());const a=i.updateTimestamp(t.url);if(e)try{e.waitUntil(a)}catch(c){0}return o?r:null},this.cacheDidUpdate=async({cacheName:e,request:t})=>{const n=this._getCacheExpiration(e);await n.updateTimestamp(t.url),await n.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&ge(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===f.getRuntimeName())throw new c("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new pe(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(null===t)return!0;const n=Date.now();return t>=n-1e3*this._maxAgeSeconds}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),n=new Date(t),r=n.getTime();return isNaN(r)?null:r}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}var ye="offline-html",me="undefined"!==typeof window?localStorage.getItem("SCRIPT_NAME"):"/",we=me+"offline/";self.addEventListener("install",function(){var e=o(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t.waitUntil(caches.open(ye).then((function(e){return e.add(new Request(we,{cache:"reload"}))})));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),[{'url':'static/vue/cookbook_view.html'},{'url':'static/vue/css/chunk-vendors.css'},{'url':'static/vue/css/cookbook_view.css'},{'url':'static/vue/css/edit_internal_recipe.css'},{'url':'static/vue/css/meal_plan_view.css'},{'url':'static/vue/css/model_list_view.css'},{'url':'static/vue/css/recipe_search_view.css'},{'url':'static/vue/css/recipe_view.css'},{'url':'static/vue/edit_internal_recipe.html'},{'url':'static/vue/import_response_view.html'},{'url':'static/vue/js/chunk-2d0da313.js'},{'url':'static/vue/js/chunk-vendors.js'},{'url':'static/vue/js/cookbook_view.js'},{'url':'static/vue/js/edit_internal_recipe.js'},{'url':'static/vue/js/import_response_view.js'},{'url':'static/vue/js/meal_plan_view.js'},{'url':'static/vue/js/model_list_view.js'},{'url':'static/vue/js/offline_view.js'},{'url':'static/vue/js/recipe_search_view.js'},{'url':'static/vue/js/recipe_view.js'},{'url':'static/vue/js/supermarket_view.js'},{'url':'static/vue/js/user_file_view.js'},{'url':'static/vue/manifest.json'},{'url':'static/vue/meal_plan_view.html'},{'url':'static/vue/model_list_view.html'},{'url':'static/vue/offline_view.html'},{'url':'static/vue/recipe_search_view.html'},{'url':'static/vue/recipe_view.html'},{'url':'static/vue/supermarket_view.html'},{'url':'static/vue/user_file_view.html'}],I((function(e){var t=e.event;switch(t.request.destination){case"document":return console.log("Triggered fallback HTML"),caches.open(ye).then((function(e){return e.match(we)}));default:return console.log("Triggered response ERROR"),Response.error()}})),D((function(e){var t=e.request;return"image"===t.destination}),new L({cacheName:"images",plugins:[new ve({maxEntries:20})]})),D((function(e){var t=e.request;return"script"===t.destination||"style"===t.destination}),new M({cacheName:"assets"})),D(new RegExp("jsreverse"),new M({cacheName:"assets"})),D(new RegExp("jsi18n"),new M({cacheName:"assets"})),D(new RegExp("api/recipe/([0-9]+)"),new q({cacheName:"api-recipe",plugins:[new ve({maxEntries:50})]})),D(new RegExp("api/*"),new q({cacheName:"api",plugins:[new ve({maxEntries:50})]})),D((function(e){var t=e.request;return"document"===t.destination}),new q({cacheName:"html",plugins:[new ve({maxAgeSeconds:2592e3,maxEntries:50})]}))},"25f0":function(e,t,n){"use strict";var r=n("6eeb"),o=n("825a"),i=n("577e"),a=n("d039"),c=n("ad6d"),s="toString",u=RegExp.prototype,l=u[s],f=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),h=l.name!=s;(f||h)&&r(RegExp.prototype,s,(function(){var e=o(this),t=i(e.source),n=e.flags,r=i(void 0===n&&e instanceof RegExp&&!("flags"in u)?c.call(e):n);return"/"+t+"/"+r}),{unsafe:!0})},2626:function(e,t,n){"use strict";var r=n("d066"),o=n("9bf2"),i=n("b622"),a=n("83ab"),c=i("species");e.exports=function(e){var t=r(e),n=o.f;a&&t&&!t[c]&&n(t,c,{configurable:!0,get:function(){return this}})}},"2d00":function(e,t,n){var r,o,i=n("da84"),a=n("342f"),c=i.process,s=i.Deno,u=c&&c.versions||s&&s.version,l=u&&u.v8;l?(r=l.split("."),o=r[0]<4?1:r[0]+r[1]):a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(o=r[1]))),e.exports=o&&+o},"342f":function(e,t,n){var r=n("d066");e.exports=r("navigator","userAgent")||""},"37e8":function(e,t,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),a=n("df75");e.exports=r?Object.defineProperties:function(e,t){i(e);var n,r=a(t),c=r.length,s=0;while(c>s)o.f(e,n=r[s++],t[n]);return e}},"3bbe":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},"44ad":function(e,t,n){var r=n("d039"),o=n("c6b6"),i="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},"44e7":function(e,t,n){var r=n("861d"),o=n("c6b6"),i=n("b622"),a=i("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==o(e))}},"466d":function(e,t,n){"use strict";var r=n("d784"),o=n("825a"),i=n("50c4"),a=n("577e"),c=n("1d80"),s=n("8aa5"),u=n("14c3");r("match",(function(e,t,n){return[function(t){var n=c(this),r=void 0==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](a(n))},function(e){var r=o(this),c=a(e),l=n(t,r,c);if(l.done)return l.value;if(!r.global)return u(r,c);var f=r.unicode;r.lastIndex=0;var h,d=[],p=0;while(null!==(h=u(r,c))){var g=a(h[0]);d[p]=g,""===g&&(r.lastIndex=s(c,i(r.lastIndex),f)),p++}return 0===p?null:d}]}))},"485a":function(e,t,n){var r=n("861d");e.exports=function(e,t){var n,o;if("string"===t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if("string"!==t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},4930:function(e,t,n){var r=n("2d00"),o=n("d039");e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},"4d63":function(e,t,n){var r=n("83ab"),o=n("da84"),i=n("94ca"),a=n("7156"),c=n("9112"),s=n("9bf2").f,u=n("241c").f,l=n("44e7"),f=n("577e"),h=n("ad6d"),d=n("9f7f"),p=n("6eeb"),g=n("d039"),v=n("5135"),y=n("69f3").enforce,m=n("2626"),w=n("b622"),b=n("fce3"),x=n("107c"),_=w("match"),E=o.RegExp,O=E.prototype,R=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,S=/a/g,j=/a/g,P=new E(S)!==S,N=d.UNSUPPORTED_Y,k=r&&(!P||N||b||x||g((function(){return j[_]=!1,E(S)!=S||E(j)==j||"/a/i"!=E(S,"i")}))),C=function(e){for(var t,n=e.length,r=0,o="",i=!1;r<=n;r++)t=e.charAt(r),"\\"!==t?i||"."!==t?("["===t?i=!0:"]"===t&&(i=!1),o+=t):o+="[\\s\\S]":o+=t+e.charAt(++r);return o},T=function(e){for(var t,n=e.length,r=0,o="",i=[],a={},c=!1,s=!1,u=0,l="";r<=n;r++){if(t=e.charAt(r),"\\"===t)t+=e.charAt(++r);else if("]"===t)c=!1;else if(!c)switch(!0){case"["===t:c=!0;break;case"("===t:R.test(e.slice(r+1))&&(r+=2,s=!0),o+=t,u++;continue;case">"===t&&s:if(""===l||v(a,l))throw new SyntaxError("Invalid capture group name");a[l]=!0,i.push([l,u]),s=!1,l="";continue}s?l+=t:o+=t}return[o,i]};if(i("RegExp",k)){for(var D=function(e,t){var n,r,o,i,s,u,d=this instanceof D,p=l(e),g=void 0===t,v=[],m=e;if(!d&&p&&g&&e.constructor===D)return e;if((p||e instanceof D)&&(e=e.source,g&&(t="flags"in m?m.flags:h.call(m))),e=void 0===e?"":f(e),t=void 0===t?"":f(t),m=e,b&&"dotAll"in S&&(r=!!t&&t.indexOf("s")>-1,r&&(t=t.replace(/s/g,""))),n=t,N&&"sticky"in S&&(o=!!t&&t.indexOf("y")>-1,o&&(t=t.replace(/y/g,""))),x&&(i=T(e),e=i[0],v=i[1]),s=a(E(e,t),d?this:O,D),(r||o||v.length)&&(u=y(s),r&&(u.dotAll=!0,u.raw=D(C(e),n)),o&&(u.sticky=!0),v.length&&(u.groups=v)),e!==m)try{c(s,"source",""===m?"(?:)":m)}catch(w){}return s},I=function(e){e in D||s(D,e,{configurable:!0,get:function(){return E[e]},set:function(t){E[e]=t}})},L=u(E),A=0;L.length>A;)I(L[A++]);O.constructor=D,D.prototype=O,p(o,"RegExp",D)}m("RegExp")},"4d64":function(e,t,n){var r=n("fc6a"),o=n("50c4"),i=n("23cb"),a=function(e){return function(t,n,a){var c,s=r(t),u=o(s.length),l=i(a,u);if(e&&n!=n){while(u>l)if(c=s[l++],c!=c)return!0}else for(;u>l;l++)if((e||l in s)&&s[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},"50c4":function(e,t,n){var r=n("a691"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},5135:function(e,t,n){var r=n("7b0b"),o={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return o.call(r(e),t)}},5692:function(e,t,n){var r=n("c430"),o=n("c6cd");(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.17.3",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,t,n){var r=n("d066"),o=n("241c"),i=n("7418"),a=n("825a");e.exports=r("Reflect","ownKeys")||function(e){var t=o.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},"577e":function(e,t,n){var r=n("d9b5");e.exports=function(e){if(r(e))throw TypeError("Cannot convert a Symbol value to a string");return String(e)}},"5c6c":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},6547:function(e,t,n){var r=n("a691"),o=n("577e"),i=n("1d80"),a=function(e){return function(t,n){var a,c,s=o(i(t)),u=r(n),l=s.length;return u<0||u>=l?e?"":void 0:(a=s.charCodeAt(u),a<55296||a>56319||u+1===l||(c=s.charCodeAt(u+1))<56320||c>57343?e?s.charAt(u):a:e?s.slice(u,u+2):c-56320+(a-55296<<10)+65536)}};e.exports={codeAt:a(!1),charAt:a(!0)}},"69f3":function(e,t,n){var r,o,i,a=n("7f9a"),c=n("da84"),s=n("861d"),u=n("9112"),l=n("5135"),f=n("c6cd"),h=n("f772"),d=n("d012"),p="Object already initialized",g=c.WeakMap,v=function(e){return i(e)?o(e):r(e,{})},y=function(e){return function(t){var n;if(!s(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}};if(a||f.state){var m=f.state||(f.state=new g),w=m.get,b=m.has,x=m.set;r=function(e,t){if(b.call(m,e))throw new TypeError(p);return t.facade=e,x.call(m,e,t),t},o=function(e){return w.call(m,e)||{}},i=function(e){return b.call(m,e)}}else{var _=h("state");d[_]=!0,r=function(e,t){if(l(e,_))throw new TypeError(p);return t.facade=e,u(e,_,t),t},o=function(e){return l(e,_)?e[_]:{}},i=function(e){return l(e,_)}}e.exports={set:r,get:o,has:i,enforce:v,getterFor:y}},"6aa8":function(e,t,n){"use strict";try{self["workbox:strategies:6.2.4"]&&_()}catch(r){}},"6eeb":function(e,t,n){var r=n("da84"),o=n("9112"),i=n("5135"),a=n("ce4e"),c=n("8925"),s=n("69f3"),u=s.get,l=s.enforce,f=String(String).split("String");(e.exports=function(e,t,n,c){var s,u=!!c&&!!c.unsafe,h=!!c&&!!c.enumerable,d=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s=l(n),s.source||(s.source=f.join("string"==typeof t?t:""))),e!==r?(u?!d&&e[t]&&(h=!0):delete e[t],h?e[t]=n:o(e,t,n)):h?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},7156:function(e,t,n){var r=n("861d"),o=n("d2bb");e.exports=function(e,t,n){var i,a;return o&&"function"==typeof(i=t.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(e,a),e}},7418:function(e,t){t.f=Object.getOwnPropertySymbols},7839:function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,t,n){var r=n("1d80");e.exports=function(e){return Object(r(e))}},"7c73":function(e,t,n){var r,o=n("825a"),i=n("37e8"),a=n("7839"),c=n("d012"),s=n("1be4"),u=n("cc12"),l=n("f772"),f=">",h="<",d="prototype",p="script",g=l("IE_PROTO"),v=function(){},y=function(e){return h+p+f+e+h+"/"+p+f},m=function(e){e.write(y("")),e.close();var t=e.parentWindow.Object;return e=null,t},w=function(){var e,t=u("iframe"),n="java"+p+":";return t.style.display="none",s.appendChild(t),t.src=String(n),e=t.contentWindow.document,e.open(),e.write(y("document.F=Object")),e.close(),e.F},b=function(){try{r=new ActiveXObject("htmlfile")}catch(t){}b="undefined"!=typeof document?document.domain&&r?m(r):w():m(r);var e=a.length;while(e--)delete b[d][a[e]];return b()};c[g]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(v[d]=o(e),n=new v,v[d]=null,n[g]=e):n=b(),void 0===t?n:i(n,t)}},"7f9a":function(e,t,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;e.exports="function"===typeof i&&/native code/.test(o(i))},"825a":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},"83ab":function(e,t,n){var r=n("d039");e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"861d":function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},8925:function(e,t,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},"8aa5":function(e,t,n){"use strict";var r=n("6547").charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},"90e3":function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++n+r).toString(36)}},9112:function(e,t,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},9263:function(e,t,n){"use strict";var r=n("577e"),o=n("ad6d"),i=n("9f7f"),a=n("5692"),c=n("7c73"),s=n("69f3").get,u=n("fce3"),l=n("107c"),f=RegExp.prototype.exec,h=a("native-string-replace",String.prototype.replace),d=f,p=function(){var e=/a/,t=/b*/g;return f.call(e,"a"),f.call(t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),g=i.UNSUPPORTED_Y||i.BROKEN_CARET,v=void 0!==/()??/.exec("")[1],y=p||v||g||u||l;y&&(d=function(e){var t,n,i,a,u,l,y,m=this,w=s(m),b=r(e),x=w.raw;if(x)return x.lastIndex=m.lastIndex,t=d.call(x,b),m.lastIndex=x.lastIndex,t;var _=w.groups,E=g&&m.sticky,O=o.call(m),R=m.source,S=0,j=b;if(E&&(O=O.replace("y",""),-1===O.indexOf("g")&&(O+="g"),j=b.slice(m.lastIndex),m.lastIndex>0&&(!m.multiline||m.multiline&&"\n"!==b.charAt(m.lastIndex-1))&&(R="(?: "+R+")",j=" "+j,S++),n=new RegExp("^(?:"+R+")",O)),v&&(n=new RegExp("^"+R+"$(?!\\s)",O)),p&&(i=m.lastIndex),a=f.call(E?n:m,j),E?a?(a.input=a.input.slice(S),a[0]=a[0].slice(S),a.index=m.lastIndex,m.lastIndex+=a[0].length):m.lastIndex=0:p&&a&&(m.lastIndex=m.global?a.index+a[0].length:i),v&&a&&a.length>1&&h.call(a[0],n,(function(){for(u=1;u=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),P(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;P(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:k(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),g}},e}(e.exports);try{regeneratorRuntime=r}catch(o){"object"===typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},"9bf2":function(e,t,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),a=n("a04b"),c=Object.defineProperty;t.f=r?c:function(e,t,n){if(i(e),t=a(t),i(n),o)try{return c(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},"9f7f":function(e,t,n){var r=n("d039"),o=n("da84"),i=o.RegExp;t.UNSUPPORTED_Y=r((function(){var e=i("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=r((function(){var e=i("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},a04b:function(e,t,n){var r=n("c04e"),o=n("d9b5");e.exports=function(e){var t=r(e,"string");return o(t)?t:String(t)}},a691:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},ac1f:function(e,t,n){"use strict";var r=n("23e7"),o=n("9263");r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},ad6d:function(e,t,n){"use strict";var r=n("825a");e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},b041:function(e,t,n){"use strict";var r=n("00ee"),o=n("f5df");e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b622:function(e,t,n){var r=n("da84"),o=n("5692"),i=n("5135"),a=n("90e3"),c=n("4930"),s=n("fdbf"),u=o("wks"),l=r.Symbol,f=s?l:l&&l.withoutSetter||a;e.exports=function(e){return i(u,e)&&(c||"string"==typeof u[e])||(c&&i(l,e)?u[e]=l[e]:u[e]=f("Symbol."+e)),u[e]}},c04e:function(e,t,n){var r=n("861d"),o=n("d9b5"),i=n("485a"),a=n("b622"),c=a("toPrimitive");e.exports=function(e,t){if(!r(e)||o(e))return e;var n,a=e[c];if(void 0!==a){if(void 0===t&&(t="default"),n=a.call(e,t),!r(n)||o(n))return n;throw TypeError("Can't convert object to primitive value")}return void 0===t&&(t="number"),i(e,t)}},c430:function(e,t){e.exports=!1},c6b6:function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},c6cd:function(e,t,n){var r=n("da84"),o=n("ce4e"),i="__core-js_shared__",a=r[i]||o(i,{});e.exports=a},c700:function(e,t,n){"use strict";try{self["workbox:precaching:6.2.4"]&&_()}catch(r){}},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},ca84:function(e,t,n){var r=n("5135"),o=n("fc6a"),i=n("4d64").indexOf,a=n("d012");e.exports=function(e,t){var n,c=o(e),s=0,u=[];for(n in c)!r(a,n)&&r(c,n)&&u.push(n);while(t.length>s)r(c,n=t[s++])&&(~i(u,n)||u.push(n));return u}},cc12:function(e,t,n){var r=n("da84"),o=n("861d"),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},ce4e:function(e,t,n){var r=n("da84");e.exports=function(e,t){try{Object.defineProperty(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},d012:function(e,t){e.exports={}},d039:function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},d066:function(e,t,n){var r=n("da84"),o=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?o(r[e]):r[e]&&r[e][t]}},d1e7:function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},d2bb:function(e,t,n){var r=n("825a"),o=n("3bbe");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,e.call(n,[]),t=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(e,t,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d784:function(e,t,n){"use strict";n("ac1f");var r=n("6eeb"),o=n("9263"),i=n("d039"),a=n("b622"),c=n("9112"),s=a("species"),u=RegExp.prototype;e.exports=function(e,t,n,l){var f=a(e),h=!i((function(){var t={};return t[f]=function(){return 7},7!=""[e](t)})),d=h&&!i((function(){var t=!1,n=/a/;return"split"===e&&(n={},n.constructor={},n.constructor[s]=function(){return n},n.flags="",n[f]=/./[f]),n.exec=function(){return t=!0,null},n[f](""),!t}));if(!h||!d||n){var p=/./[f],g=t(f,""[e],(function(e,t,n,r,i){var a=t.exec;return a===o||a===u.exec?h&&!i?{done:!0,value:p.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}));r(String.prototype,e,g[0]),r(u,f,g[1])}l&&c(u[f],"sham",!0)}},d8a5:function(e,t,n){"use strict";try{self["workbox:expiration:6.2.4"]&&_()}catch(r){}},d9b5:function(e,t,n){var r=n("d066"),o=n("fdbf");e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return"function"==typeof t&&Object(e)instanceof t}},da84:function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n("c8ba"))},df75:function(e,t,n){var r=n("ca84"),o=n("7839");e.exports=Object.keys||function(e){return r(e,o)}},e6d2:function(e,t,n){"use strict";try{self["workbox:routing:6.2.4"]&&_()}catch(r){}},e893:function(e,t,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),a=n("9bf2");e.exports=function(e,t){for(var n=o(t),c=a.f,s=i.f,u=0;u {{ $t("DayForward") }} - + {{ $t("Clone") }} @@ -88,7 +88,7 @@ diff --git a/vue/src/components/MealPlanCard.vue b/vue/src/components/MealPlanCard.vue index 361a6a7c..d42182d1 100644 --- a/vue/src/components/MealPlanCard.vue +++ b/vue/src/components/MealPlanCard.vue @@ -19,7 +19,9 @@
@@ -97,6 +99,10 @@ export default { this.$emit("dragstart", calendarItem, windowEvent) return true }, + onClickItem(calendarItem, windowEvent) { + this.$emit("click-item", calendarItem) + return true + }, }, directives: { hover: { diff --git a/vue/src/components/MealPlanEditModal.vue b/vue/src/components/MealPlanEditModal.vue index e7d06c52..cbb4ccfe 100644 --- a/vue/src/components/MealPlanEditModal.vue +++ b/vue/src/components/MealPlanEditModal.vue @@ -1,11 +1,10 @@