From 3d60379ed079dfb2d3b0e627aeebffb8ba170dc2 Mon Sep 17 00:00:00 2001 From: Kaibu Date: Sat, 5 Jun 2021 18:10:10 +0200 Subject: [PATCH] style fixes --- .../0126_alter_userpreference_theme.py | 18 ++ cookbook/static/assets/brand_logo.png | Bin 0 -> 35616 bytes cookbook/static/assets/spinner.svg | 115 ++++++++++ cookbook/static/css/app.min.css | 17 ++ cookbook/static/themes/tandoor.min.css | 204 +++++++++++------- .../static/vue/js/import_response_view.js | 2 +- cookbook/static/vue/js/recipe_search_view.js | 2 +- cookbook/static/vue/js/recipe_view.js | 2 +- cookbook/templates/account/login.html | 11 +- .../templates/account/password_reset.html | 40 ++-- cookbook/templates/account/signup.html | 93 ++++---- cookbook/templates/account/signup_closed.html | 11 +- cookbook/templates/base.html | 5 +- cookbook/templates/batch/waiting.html | 7 +- .../templates/forms/edit_internal_recipe.html | 8 +- cookbook/templates/shopping_list.html | 6 +- cookbook/templates/url_import.html | 8 +- cookbook/templatetags/theming_tags.py | 2 +- .../ImportResponseView/ImportResponseView.vue | 2 +- vue/src/components/LoadingSpinner.vue | 2 +- 20 files changed, 396 insertions(+), 159 deletions(-) create mode 100644 cookbook/migrations/0126_alter_userpreference_theme.py create mode 100644 cookbook/static/assets/brand_logo.png create mode 100644 cookbook/static/assets/spinner.svg create mode 100644 cookbook/static/css/app.min.css diff --git a/cookbook/migrations/0126_alter_userpreference_theme.py b/cookbook/migrations/0126_alter_userpreference_theme.py new file mode 100644 index 000000000..08580d4bc --- /dev/null +++ b/cookbook/migrations/0126_alter_userpreference_theme.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.3 on 2021-06-05 15:11 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('cookbook', '0125_space_demo'), + ] + + operations = [ + migrations.AlterField( + model_name='userpreference', + name='theme', + field=models.CharField(choices=[('TANDOOR', 'Tandoor'), ('BOOTSTRAP', 'Bootstrap'), ('DARKLY', 'Darkly'), ('FLATLY', 'Flatly'), ('SUPERHERO', 'Superhero')], default='TANDOOR', max_length=128), + ), + ] diff --git a/cookbook/static/assets/brand_logo.png b/cookbook/static/assets/brand_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..37cc7fbed8a0d8d5516e934da8b60f21272a5c69 GIT binary patch literal 35616 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 N0#8>zmvv4FO#soi!J_~G literal 0 HcmV?d00001 diff --git a/cookbook/static/assets/spinner.svg b/cookbook/static/assets/spinner.svg new file mode 100644 index 000000000..4c8ab12de --- /dev/null +++ b/cookbook/static/assets/spinner.svg @@ -0,0 +1,115 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/cookbook/static/css/app.min.css b/cookbook/static/css/app.min.css new file mode 100644 index 000000000..f417a5d03 --- /dev/null +++ b/cookbook/static/css/app.min.css @@ -0,0 +1,17 @@ +.spinner-tandoor { + animation: rotation 3s infinite linear; + content: url("../assets/spinner.svg"); + width: auto; + height: 20vh; + margin: 0; + padding: 0; +} + +@keyframes rotation { + from { + transform: rotate(0deg); + } + to { + transform: rotate(359deg); + } +} \ No newline at end of file diff --git a/cookbook/static/themes/tandoor.min.css b/cookbook/static/themes/tandoor.min.css index 9a05b1920..a11cc8d26 100644 --- a/cookbook/static/themes/tandoor.min.css +++ b/cookbook/static/themes/tandoor.min.css @@ -1,83 +1,91 @@ /* devanagari */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/webfonts/poppins_devanagari_400.woff2) format('woff2'); - unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/webfonts/poppins_devanagari_400.woff2) format('woff2'); + unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; } + /* latin-ext */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/webfonts/poppins_latin_ext_400.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/webfonts/poppins_latin_ext_400.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } + /* latin */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/webfonts/poppins_latin_400.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/webfonts/poppins_latin_400.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } + /* devanagari */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/webfonts/poppins_devanagari_500.woff2) format('woff2'); - unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; + font-family: 'Poppins'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/webfonts/poppins_devanagari_500.woff2) format('woff2'); + unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; } + /* latin-ext */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/webfonts/poppins_latin_ext_500.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + font-family: 'Poppins'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/webfonts/poppins_latin_ext_500.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } + /* latin */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/webfonts/poppins_latin_500.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + font-family: 'Poppins'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/webfonts/poppins_latin_500.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } + /* devanagari */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/webfonts/poppins_devanagari_700.woff2) format('woff2'); - unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; + font-family: 'Poppins'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/webfonts/poppins_devanagari_700.woff2) format('woff2'); + unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; } + /* latin-ext */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/webfonts/poppins_latin_ext_700.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + font-family: 'Poppins'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/webfonts/poppins_latin_ext_700.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } + /* latin */ @font-face { - font-family: 'Poppins'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/webfonts/poppins_latin_700.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + font-family: 'Poppins'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/webfonts/poppins_latin_700.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @@ -92,7 +100,7 @@ --indigo: #6610f2; --purple: #6f42c1; --pink: #e83e8c; - --#a7240e: #dc3545; + -- #a7240e: #dc3545; --orange: #fd7e14; --yellow: #ffc107; --green: #28a745; @@ -1812,7 +1820,9 @@ pre code { transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .form-control { transition: none } @@ -2275,7 +2285,9 @@ select.form-control[multiple], select.form-control[size], textarea.form-control transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .btn { transition: none } @@ -2807,7 +2819,9 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt transition: opacity .15s linear } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .fade { transition: none } @@ -2828,7 +2842,9 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt transition: height .35s ease } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .collapsing { transition: none } @@ -3439,7 +3455,9 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .custom-switch .custom-control-label:after { transition: none } @@ -3621,7 +3639,9 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt appearance: none } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .custom-range::-webkit-slider-thumb { transition: none } @@ -3652,7 +3672,9 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt appearance: none } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .custom-range::-moz-range-thumb { transition: none } @@ -3685,7 +3707,9 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt appearance: none } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .custom-range::-ms-thumb { transition: none } @@ -3738,7 +3762,9 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .custom-control-label:before, .custom-file-label, .custom-select { transition: none } @@ -4249,7 +4275,7 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt .card-footer { padding: .75rem 1.25rem; - background-color: rgba(0, 0, 0, .03); + background-color: #ffffff; border-top: 1px solid rgba(0, 0, 0, .125) } @@ -4551,7 +4577,9 @@ input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].bt transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .badge { transition: none } @@ -4772,9 +4800,9 @@ a.badge-dark.focus, a.badge-dark:focus { } .alert-success { - color: #316f5d; - background-color: #dff7f0; - border-color: #d2f4ea + color: #2e2e2e; + background-color: #82aa8b; + border-color: #82aa8b } .alert-success hr { @@ -4893,7 +4921,9 @@ a.badge-dark.focus, a.badge-dark:focus { transition: width .6s ease } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .progress-bar { transition: none } @@ -4909,7 +4939,9 @@ a.badge-dark.focus, a.badge-dark:focus { animation: progress-bar-stripes 1s linear infinite } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .progress-bar-animated { -webkit-animation: none; animation: none @@ -5358,7 +5390,9 @@ a.close.disabled { transform: translateY(-50px) } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .modal.fade .modal-dialog { transition: none } @@ -5838,7 +5872,9 @@ a.close.disabled { transition: transform .6s ease-in-out } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .carousel-item { transition: none } @@ -5873,7 +5909,9 @@ a.close.disabled { transition: opacity 0s .6s } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right { transition: none } @@ -5894,7 +5932,9 @@ a.close.disabled { transition: opacity .15s ease } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .carousel-control-next, .carousel-control-prev { transition: none } @@ -5961,7 +6001,9 @@ a.close.disabled { transition: opacity .6s ease } -@media (prefers-#a7240euced-motion: #a7240euce) { +@media (prefers-#a7240euced-motion: #a7240euce + +) { .carousel-indicators li { transition: none } @@ -10117,9 +10159,9 @@ footer a:hover { } .btn-light:hover { - background: transparent; + background-color: hsla(0, 0%, 18%, .5); color: #cfd5cd; - border: 1px solid #cfd5cd + border: 1px solid hsla(0, 0%, 18%, .5) } .btn-dark { @@ -10402,7 +10444,7 @@ footer a:hover { background-color: transparent !important; } -textarea, input:not([type="submit"]):not([class="multiselect__input"]), select { +textarea, input:not([type="submit"]):not([class="multiselect__input"]):not([class="select2-search__field"]), select { background-color: white !important; border-radius: .25rem !important; border: 1px solid #ced4da !important; @@ -10413,10 +10455,10 @@ textarea, input:not([type="submit"]):not([class="multiselect__input"]), select { color: #212529 !important; } -.multiselect__tag-icon:hover,.multiselect__tag-icon:focus { +.multiselect__tag-icon:hover, .multiselect__tag-icon:focus { background-color: #a7240e !important; } .multiselect__tag-icon:after { color: #212529 !important -} \ No newline at end of file +} diff --git a/cookbook/static/vue/js/import_response_view.js b/cookbook/static/vue/js/import_response_view.js index 27f6871ce..8ed787f7b 100644 --- a/cookbook/static/vue/js/import_response_view.js +++ b/cookbook/static/vue/js/import_response_view.js @@ -1 +1 @@ -(function(e){function t(t){for(var n,a,c=t[0],s=t[1],u=t[2],p=0,h=[];p1){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"}')},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},i=[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("i",{staticClass:"fas fa-spinner fa-spin fa-10x"})])])}],o={name:"LoadingSpinner",props:{recipe:Object}},a=o,c=r("2877"),s=Object(c["a"])(a,n,i,!1,null,null,null);t["a"]=s.exports},edd4:function(e){e.exports=JSON.parse('{"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","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Book":"Add to Book","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","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","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Export":"Export","Rating":"Rating","Close":"Close","Add":"Add","New":"New","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Edit":"Edit","Open":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information"}')},fa7d:function(e,t,r){"use strict";r.d(t,"c",(function(){return o})),r.d(t,"f",(function(){return a})),r.d(t,"a",(function(){return c})),r.d(t,"e",(function(){return s})),r.d(t,"b",(function(){return u})),r.d(t,"g",(function(){return d})),r.d(t,"d",(function(){return h}));r("99af");var n=r("59e4");function i(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 o={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return a(e,t,r)}}};function a(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new n["a"];i.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-top-center",solid:!0})}var c={methods:{_:function(e){return s(e)}}};function s(e){return window.gettext(e)}var u={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return d(e,t)}}};function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null!==t?window.Urls[e](t):window.Urls[e]()}function p(e){return window.USER_PREF[e]}function h(e,t){if(p("use_fractions")){var r="",n=i(e*t,9,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return b(e*t)}function b(e){var t=p("user_fractions")?p("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}}}); \ No newline at end of file +(function(e){function t(t){for(var n,a,c=t[0],s=t[1],u=t[2],p=0,h=[];p1){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"}')},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},i=[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",staticStyle:{height:"30vh"},attrs:{alt:"loading spinner",src:""}})])])}],o={name:"LoadingSpinner",props:{recipe:Object}},a=o,c=r("2877"),s=Object(c["a"])(a,n,i,!1,null,null,null);t["a"]=s.exports},edd4:function(e){e.exports=JSON.parse('{"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","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Book":"Add to Book","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","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","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Export":"Export","Rating":"Rating","Close":"Close","Add":"Add","New":"New","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Edit":"Edit","Open":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information"}')},fa7d:function(e,t,r){"use strict";r.d(t,"c",(function(){return o})),r.d(t,"f",(function(){return a})),r.d(t,"a",(function(){return c})),r.d(t,"e",(function(){return s})),r.d(t,"b",(function(){return u})),r.d(t,"g",(function(){return d})),r.d(t,"d",(function(){return h}));r("99af");var n=r("59e4");function i(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 o={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return a(e,t,r)}}};function a(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new n["a"];i.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-top-center",solid:!0})}var c={methods:{_:function(e){return s(e)}}};function s(e){return window.gettext(e)}var u={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return d(e,t)}}};function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null!==t?window.Urls[e](t):window.Urls[e]()}function p(e){return window.USER_PREF[e]}function h(e,t){if(p("use_fractions")){var r="",n=i(e*t,9,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return b(e*t)}function b(e){var t=p("user_fractions")?p("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}}}); \ No newline at end of file diff --git a/cookbook/static/vue/js/recipe_search_view.js b/cookbook/static/vue/js/recipe_search_view.js index d818346db..9a64711c2 100644 --- a/cookbook/static/vue/js/recipe_search_view.js +++ b/cookbook/static/vue/js/recipe_search_view.js @@ -1 +1 @@ -(function(e){function t(t){for(var n,a,s=t[0],c=t[1],u=t[2],p=0,h=[];pnew Date(Date.now()-6048e5)?r("b-badge",{attrs:{pill:"",variant:"success"}},[e._v(e._s(e.$t("New")))]):e._e()]:[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)},j=[],O=r("fc0d"),v=r("81d5"),g={name:"RecipeCard",mixins:[b["b"]],components:{Keywords:v["a"],RecipeContextMenu:O["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},data:function(){return{recipe_image:""}},mounted:function(){null==this.recipe||null===this.recipe.image?this.recipe_image=window.IMAGE_PLACEHOLDER:this.recipe_image=this.recipe.image},methods:{clickUrl:function(){return null!==this.recipe?Object(b["g"])("view_recipe",this.recipe.id):Object(b["g"])("view_plan_entry",this.meal_plan.id)}}},m=g,y=r("2877"),S=Object(y["a"])(m,f,j,!1,null,"6fcb509c",null),P=S.exports,w=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":!0,"preserve-search":!0,placeholder:e.placeholder,label:e.label,"track-by":"id",multiple:!0,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},k=[],U=(r("ac1f"),r("841c"),r("8e5f")),R=r.n(U),L={name:"GenericMultiselect",components:{Multiselect:R.a},data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:String,search_function:String,label:String,parent_variable:String,initial_selection:Array},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search("")},methods:{search:function(e){var t=this,r=new l["a"];r[this.search_function]({query:{query:e,limit:10}}).then((function(e){t.objects=e.data}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})}}},_=L,C=Object(y["a"])(_,w,k,!1,null,"20923c58",null),I=C.exports;n["default"].use(h.a),n["default"].use(a["a"]);var E={name:"RecipeSearchView",mixins:[b["b"]],components:{GenericMultiselect:I,RecipeCard:P},data:function(){return{recipes:[],meal_plans:[],last_viewed_recipes:[],settings:{search_input:"",search_internal:!1,search_keywords:[],search_foods:[],search_books:[],search_keywords_or:!0,search_foods_or:!0,search_books_or:!0,advanced_search_visible:!1,show_meal_plan:!0,recently_viewed:5},pagination_count:0,pagination_page:1}},mounted:function(){this.$nextTick((function(){this.$cookies.isKey("search_settings_v2")&&(this.settings=this.$cookies.get("search_settings_v2")),this.loadMealPlan(),this.loadRecentlyViewed(),this.refreshData()})),this.$i18n.locale=window.CUSTOM_LOCALE},watch:{settings:{handler:function(){this.$cookies.set("search_settings_v2",this.settings,-1)},deep:!0},"settings.show_meal_plan":function(){this.loadMealPlan()},"settings.recently_viewed":function(){this.loadRecentlyViewed()},"settings.search_input":d()((function(){this.refreshData()}),300)},methods:{refreshData:function(){var e=this,t=new l["a"];t.listRecipes(this.settings.search_input,this.settings.search_keywords.map((function(e){return e["id"]})),this.settings.search_foods.map((function(e){return e["id"]})),this.settings.search_books.map((function(e){return e["id"]})),this.settings.search_keywords_or,this.settings.search_foods_or,this.settings.search_books_or,this.settings.search_internal,void 0,this.pagination_page).then((function(t){e.recipes=t.data.results,e.pagination_count=t.data.count}))},loadMealPlan:function(){var e=this,t=new l["a"];this.settings.show_meal_plan?t.listMealPlans({query:{from_date:c()().format("YYYY-MM-DD"),to_date:c()().format("YYYY-MM-DD")}}).then((function(t){e.meal_plans=t.data})):this.meal_plans=[]},loadRecentlyViewed:function(){var e=this,t=new l["a"];this.settings.recently_viewed>0?t.listRecipes(void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,{query:{last_viewed:this.settings.recently_viewed}}).then((function(t){e.last_viewed_recipes=t.data.results})):this.last_viewed_recipes=[]},genericSelectChanged:function(e){this.settings[e.var]=e.val,this.refreshData()},resetSearch:function(){this.settings.search_input="",this.settings.search_internal=!1,this.settings.search_keywords=[],this.settings.search_foods=[],this.settings.search_books=[],this.refreshData()},pageChange:function(e){this.pagination_page=e,this.refreshData()}}},T=E,x=(r("60bc"),Object(y["a"])(T,i,o,!1,null,null,null)),B=x.exports,q=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:q["a"],render:function(e){return e(B)}}).$mount("#app")},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Import","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":"Zubereitung","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"}')},"7c15":function(e,t,r){"use strict";r.d(t,"c",(function(){return a})),r.d(t,"d",(function(){return s})),r.d(t,"b",(function(){return c})),r.d(t,"a",(function(){return u}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["g"])("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){d(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["g"])("api:cooklog-list"),e).then((function(e){Object(o["f"])("Saved","Cook Log entry saved!","success")})).catch((function(e){d(e,"There was an error creating a resource!","danger")}))}function c(e){return i.a.get(Object(o["g"])("api:recipebook-list")+"?query="+e).then((function(e){return e.data})).catch((function(e){}))}function u(e){return i.a.post(Object(o["g"])("api:recipebookentry-list"),e).then((function(e){Object(o["f"])("Saved","Recipe Book entry saved!","success")})).catch((function(e){d(e,"There was an error creating a resource!","danger")}))}function d(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["e"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["f"])(r,t,"danger")}else Object(o["f"])("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("small",{key:t.id,staticStyle:{padding:"2px"}},[r("b-badge",{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},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"}')},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},i=[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("i",{staticClass:"fas fa-spinner fa-spin fa-10x"})])])}],o={name:"LoadingSpinner",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},edd4:function(e){e.exports=JSON.parse('{"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","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Book":"Add to Book","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","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","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Export":"Export","Rating":"Rating","Close":"Close","Add":"Add","New":"New","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Edit":"Edit","Open":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information"}')},fa7d:function(e,t,r){"use strict";r.d(t,"c",(function(){return o})),r.d(t,"f",(function(){return a})),r.d(t,"a",(function(){return s})),r.d(t,"e",(function(){return c})),r.d(t,"b",(function(){return u})),r.d(t,"g",(function(){return d})),r.d(t,"d",(function(){return h}));r("99af");var n=r("59e4");function i(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 o={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return a(e,t,r)}}};function a(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new n["a"];i.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-top-center",solid:!0})}var s={methods:{_:function(e){return c(e)}}};function c(e){return window.gettext(e)}var u={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return d(e,t)}}};function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null!==t?window.Urls[e](t):window.Urls[e]()}function p(e){return window.USER_PREF[e]}function h(e,t){if(p("use_fractions")){var r="",n=i(e*t,9,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return b(e*t)}function b(e){var t=p("user_fractions")?p("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}},fc0d:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("div",{staticClass:"dropdown"},[e._m(0),r("div",{staticClass:"dropdown-menu dropdown-menu-right",attrs:{"aria-labelledby":"dropdownMenuLink"}},[r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_recipe",e.recipe.id)}},[r("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e.$t("Edit")))]),e.recipe.internal?e._e():r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_convert_recipe",e.recipe.id)}},[r("i",{staticClass:"fas fa-exchange-alt fa-fw"}),e._v(" "+e._s(e.$t("convert_internal")))]),r("button",{staticClass:"dropdown-item",on:{click:function(t){return e.$bvModal.show("id_modal_add_book")}}},[r("i",{staticClass:"fas fa-bookmark fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Book"))+" ")]),e.recipe.internal?r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_shopping")+"?r=["+e.recipe.id+","+e.servings_value+"]",target:"_blank",rel:"noopener noreferrer"}},[r("i",{staticClass:"fas fa-shopping-cart fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Shopping"))+" ")]):e._e(),r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_meal_plan")+"?recipe="+e.recipe.id,target:"_blank",rel:"noopener noreferrer"}},[r("i",{staticClass:"fas fa-calendar fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Plan"))+" ")]),r("button",{staticClass:"dropdown-item",on:{click:function(t){return e.$bvModal.show("id_modal_cook_log")}}},[r("i",{staticClass:"fas fa-clipboard-list fa-fw"}),e._v(" "+e._s(e.$t("Log_Cooking"))+" ")]),r("button",{staticClass:"dropdown-item",attrs:{onclick:"window.print()"}},[r("i",{staticClass:"fas fa-print fa-fw"}),e._v(" "+e._s(e.$t("Print"))+" ")]),r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_export")+"?r="+e.recipe.id,target:"_blank",rel:"noopener noreferrer"}},[r("i",{staticClass:"fas fa-file-export fa-fw"}),e._v(" "+e._s(e.$t("Export")))]),e.recipe.internal?r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_share_link",e.recipe.id),target:"_blank",rel:"noopener noreferrer"}},[r("i",{staticClass:"fas fa-share-alt fa-fw"}),e._v(" "+e._s(e.$t("Share")))]):e._e()])]),r("cook-log",{attrs:{recipe:e.recipe}})],1)},i=[function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("a",{staticClass:"btn shadow-none",attrs:{href:"#",role:"button",id:"dropdownMenuLink","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}},[r("i",{staticClass:"fas fa-ellipsis-v"})])}],o=(r("a9e3"),r("fa7d")),a=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_cook_log",title:e.$t("Log_Recipe_Cooking"),"ok-title":e.$t("Save"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.logCook()}}},[r("p",[e._v(e._s(e.$t("all_fields_optional")))]),r("form",[r("label",{attrs:{for:"id_log_servings"}},[e._v(e._s(e.$t("Servings")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.logObject.servings,expression:"logObject.servings"}],staticClass:"form-control",attrs:{type:"number",id:"id_log_servings"},domProps:{value:e.logObject.servings},on:{input:function(t){t.target.composing||e.$set(e.logObject,"servings",t.target.value)}}}),r("label",{staticStyle:{"margin-top":"2vh"}},[e._v(e._s(e.$t("Rating"))+" - "),r("span",{attrs:{id:"id_rating_show"}},[e._v(e._s(e.logObject.rating)+"/5")])]),r("b-form-rating",{model:{value:e.logObject.rating,callback:function(t){e.$set(e.logObject,"rating",t)},expression:"logObject.rating"}}),r("label",{staticStyle:{"margin-top":"2vh"},attrs:{for:"id_date"}},[e._v(e._s(e.$t("Date")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.logObject.created_at,expression:"logObject.created_at"}],staticClass:"form-control",attrs:{type:"datetime-local",id:"id_date"},domProps:{value:e.logObject.created_at},on:{input:function(t){t.target.composing||e.$set(e.logObject,"created_at",t.target.value)}}})],1)])],1)},s=[],c=r("c1df"),u=r.n(c),d=r("a026"),p=r("5f5b"),h=r("7c15");d["default"].prototype.moment=u.a,d["default"].use(p["a"]);var b={name:"CookLog",props:{recipe:Object},data:function(){return{logObject:{recipe:this.recipe.id,servings:0,rating:0,created_at:u()().format("yyyy-MM-DDTHH:mm")}}},methods:{logCook:function(){Object(h["d"])(this.logObject)}}},l=b,f=r("2877"),j=Object(f["a"])(l,a,s,!1,null,null,null),O=j.exports,v={name:"RecipeContextMenu",mixins:[o["b"]],components:{CookLog:O},data:function(){return{servings_value:0}},props:{recipe:Object,servings:{type:Number,default:-1}},mounted:function(){this.servings_value=-1===this.servings?this.recipe.servings:this.servings}},g=v,m=Object(f["a"])(g,n,i,!1,null,null,null);t["a"]=m.exports}}); \ No newline at end of file +(function(e){function t(t){for(var n,a,s=t[0],c=t[1],u=t[2],p=0,h=[];pnew Date(Date.now()-6048e5)?r("b-badge",{attrs:{pill:"",variant:"success"}},[e._v(e._s(e.$t("New")))]):e._e()]:[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)},j=[],O=r("fc0d"),v=r("81d5"),g={name:"RecipeCard",mixins:[b["b"]],components:{Keywords:v["a"],RecipeContextMenu:O["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},data:function(){return{recipe_image:""}},mounted:function(){null==this.recipe||null===this.recipe.image?this.recipe_image=window.IMAGE_PLACEHOLDER:this.recipe_image=this.recipe.image},methods:{clickUrl:function(){return null!==this.recipe?Object(b["g"])("view_recipe",this.recipe.id):Object(b["g"])("view_plan_entry",this.meal_plan.id)}}},m=g,y=r("2877"),S=Object(y["a"])(m,f,j,!1,null,"6fcb509c",null),P=S.exports,w=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":!0,"preserve-search":!0,placeholder:e.placeholder,label:e.label,"track-by":"id",multiple:!0,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},k=[],U=(r("ac1f"),r("841c"),r("8e5f")),R=r.n(U),L={name:"GenericMultiselect",components:{Multiselect:R.a},data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:String,search_function:String,label:String,parent_variable:String,initial_selection:Array},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search("")},methods:{search:function(e){var t=this,r=new l["a"];r[this.search_function]({query:{query:e,limit:10}}).then((function(e){t.objects=e.data}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})}}},_=L,C=Object(y["a"])(_,w,k,!1,null,"20923c58",null),I=C.exports;n["default"].use(h.a),n["default"].use(a["a"]);var E={name:"RecipeSearchView",mixins:[b["b"]],components:{GenericMultiselect:I,RecipeCard:P},data:function(){return{recipes:[],meal_plans:[],last_viewed_recipes:[],settings:{search_input:"",search_internal:!1,search_keywords:[],search_foods:[],search_books:[],search_keywords_or:!0,search_foods_or:!0,search_books_or:!0,advanced_search_visible:!1,show_meal_plan:!0,recently_viewed:5},pagination_count:0,pagination_page:1}},mounted:function(){this.$nextTick((function(){this.$cookies.isKey("search_settings_v2")&&(this.settings=this.$cookies.get("search_settings_v2")),this.loadMealPlan(),this.loadRecentlyViewed(),this.refreshData()})),this.$i18n.locale=window.CUSTOM_LOCALE},watch:{settings:{handler:function(){this.$cookies.set("search_settings_v2",this.settings,-1)},deep:!0},"settings.show_meal_plan":function(){this.loadMealPlan()},"settings.recently_viewed":function(){this.loadRecentlyViewed()},"settings.search_input":d()((function(){this.refreshData()}),300)},methods:{refreshData:function(){var e=this,t=new l["a"];t.listRecipes(this.settings.search_input,this.settings.search_keywords.map((function(e){return e["id"]})),this.settings.search_foods.map((function(e){return e["id"]})),this.settings.search_books.map((function(e){return e["id"]})),this.settings.search_keywords_or,this.settings.search_foods_or,this.settings.search_books_or,this.settings.search_internal,void 0,this.pagination_page).then((function(t){e.recipes=t.data.results,e.pagination_count=t.data.count}))},loadMealPlan:function(){var e=this,t=new l["a"];this.settings.show_meal_plan?t.listMealPlans({query:{from_date:c()().format("YYYY-MM-DD"),to_date:c()().format("YYYY-MM-DD")}}).then((function(t){e.meal_plans=t.data})):this.meal_plans=[]},loadRecentlyViewed:function(){var e=this,t=new l["a"];this.settings.recently_viewed>0?t.listRecipes(void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,{query:{last_viewed:this.settings.recently_viewed}}).then((function(t){e.last_viewed_recipes=t.data.results})):this.last_viewed_recipes=[]},genericSelectChanged:function(e){this.settings[e.var]=e.val,this.refreshData()},resetSearch:function(){this.settings.search_input="",this.settings.search_internal=!1,this.settings.search_keywords=[],this.settings.search_foods=[],this.settings.search_books=[],this.refreshData()},pageChange:function(e){this.pagination_page=e,this.refreshData()}}},T=E,x=(r("60bc"),Object(y["a"])(T,i,o,!1,null,null,null)),B=x.exports,q=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:q["a"],render:function(e){return e(B)}}).$mount("#app")},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Import","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":"Zubereitung","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"}')},"7c15":function(e,t,r){"use strict";r.d(t,"c",(function(){return a})),r.d(t,"d",(function(){return s})),r.d(t,"b",(function(){return c})),r.d(t,"a",(function(){return u}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["g"])("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){d(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["g"])("api:cooklog-list"),e).then((function(e){Object(o["f"])("Saved","Cook Log entry saved!","success")})).catch((function(e){d(e,"There was an error creating a resource!","danger")}))}function c(e){return i.a.get(Object(o["g"])("api:recipebook-list")+"?query="+e).then((function(e){return e.data})).catch((function(e){}))}function u(e){return i.a.post(Object(o["g"])("api:recipebookentry-list"),e).then((function(e){Object(o["f"])("Saved","Recipe Book entry saved!","success")})).catch((function(e){d(e,"There was an error creating a resource!","danger")}))}function d(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["e"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["f"])(r,t,"danger")}else Object(o["f"])("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("small",{key:t.id,staticStyle:{padding:"2px"}},[r("b-badge",{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},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"}')},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},i=[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",staticStyle:{height:"30vh"},attrs:{alt:"loading spinner",src:""}})])])}],o={name:"LoadingSpinner",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},edd4:function(e){e.exports=JSON.parse('{"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","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Book":"Add to Book","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","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","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Export":"Export","Rating":"Rating","Close":"Close","Add":"Add","New":"New","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Edit":"Edit","Open":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information"}')},fa7d:function(e,t,r){"use strict";r.d(t,"c",(function(){return o})),r.d(t,"f",(function(){return a})),r.d(t,"a",(function(){return s})),r.d(t,"e",(function(){return c})),r.d(t,"b",(function(){return u})),r.d(t,"g",(function(){return d})),r.d(t,"d",(function(){return h}));r("99af");var n=r("59e4");function i(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 o={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return a(e,t,r)}}};function a(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new n["a"];i.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-top-center",solid:!0})}var s={methods:{_:function(e){return c(e)}}};function c(e){return window.gettext(e)}var u={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return d(e,t)}}};function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null!==t?window.Urls[e](t):window.Urls[e]()}function p(e){return window.USER_PREF[e]}function h(e,t){if(p("use_fractions")){var r="",n=i(e*t,9,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return b(e*t)}function b(e){var t=p("user_fractions")?p("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}},fc0d:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("div",{staticClass:"dropdown"},[e._m(0),r("div",{staticClass:"dropdown-menu dropdown-menu-right",attrs:{"aria-labelledby":"dropdownMenuLink"}},[r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_recipe",e.recipe.id)}},[r("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e.$t("Edit")))]),e.recipe.internal?e._e():r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_convert_recipe",e.recipe.id)}},[r("i",{staticClass:"fas fa-exchange-alt fa-fw"}),e._v(" "+e._s(e.$t("convert_internal")))]),r("button",{staticClass:"dropdown-item",on:{click:function(t){return e.$bvModal.show("id_modal_add_book")}}},[r("i",{staticClass:"fas fa-bookmark fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Book"))+" ")]),e.recipe.internal?r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_shopping")+"?r=["+e.recipe.id+","+e.servings_value+"]",target:"_blank",rel:"noopener noreferrer"}},[r("i",{staticClass:"fas fa-shopping-cart fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Shopping"))+" ")]):e._e(),r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_meal_plan")+"?recipe="+e.recipe.id,target:"_blank",rel:"noopener noreferrer"}},[r("i",{staticClass:"fas fa-calendar fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Plan"))+" ")]),r("button",{staticClass:"dropdown-item",on:{click:function(t){return e.$bvModal.show("id_modal_cook_log")}}},[r("i",{staticClass:"fas fa-clipboard-list fa-fw"}),e._v(" "+e._s(e.$t("Log_Cooking"))+" ")]),r("button",{staticClass:"dropdown-item",attrs:{onclick:"window.print()"}},[r("i",{staticClass:"fas fa-print fa-fw"}),e._v(" "+e._s(e.$t("Print"))+" ")]),r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_export")+"?r="+e.recipe.id,target:"_blank",rel:"noopener noreferrer"}},[r("i",{staticClass:"fas fa-file-export fa-fw"}),e._v(" "+e._s(e.$t("Export")))]),e.recipe.internal?r("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_share_link",e.recipe.id),target:"_blank",rel:"noopener noreferrer"}},[r("i",{staticClass:"fas fa-share-alt fa-fw"}),e._v(" "+e._s(e.$t("Share")))]):e._e()])]),r("cook-log",{attrs:{recipe:e.recipe}})],1)},i=[function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("a",{staticClass:"btn shadow-none",attrs:{href:"#",role:"button",id:"dropdownMenuLink","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}},[r("i",{staticClass:"fas fa-ellipsis-v"})])}],o=(r("a9e3"),r("fa7d")),a=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_cook_log",title:e.$t("Log_Recipe_Cooking"),"ok-title":e.$t("Save"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.logCook()}}},[r("p",[e._v(e._s(e.$t("all_fields_optional")))]),r("form",[r("label",{attrs:{for:"id_log_servings"}},[e._v(e._s(e.$t("Servings")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.logObject.servings,expression:"logObject.servings"}],staticClass:"form-control",attrs:{type:"number",id:"id_log_servings"},domProps:{value:e.logObject.servings},on:{input:function(t){t.target.composing||e.$set(e.logObject,"servings",t.target.value)}}}),r("label",{staticStyle:{"margin-top":"2vh"}},[e._v(e._s(e.$t("Rating"))+" - "),r("span",{attrs:{id:"id_rating_show"}},[e._v(e._s(e.logObject.rating)+"/5")])]),r("b-form-rating",{model:{value:e.logObject.rating,callback:function(t){e.$set(e.logObject,"rating",t)},expression:"logObject.rating"}}),r("label",{staticStyle:{"margin-top":"2vh"},attrs:{for:"id_date"}},[e._v(e._s(e.$t("Date")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.logObject.created_at,expression:"logObject.created_at"}],staticClass:"form-control",attrs:{type:"datetime-local",id:"id_date"},domProps:{value:e.logObject.created_at},on:{input:function(t){t.target.composing||e.$set(e.logObject,"created_at",t.target.value)}}})],1)])],1)},s=[],c=r("c1df"),u=r.n(c),d=r("a026"),p=r("5f5b"),h=r("7c15");d["default"].prototype.moment=u.a,d["default"].use(p["a"]);var b={name:"CookLog",props:{recipe:Object},data:function(){return{logObject:{recipe:this.recipe.id,servings:0,rating:0,created_at:u()().format("yyyy-MM-DDTHH:mm")}}},methods:{logCook:function(){Object(h["d"])(this.logObject)}}},l=b,f=r("2877"),j=Object(f["a"])(l,a,s,!1,null,null,null),O=j.exports,v={name:"RecipeContextMenu",mixins:[o["b"]],components:{CookLog:O},data:function(){return{servings_value:0}},props:{recipe:Object,servings:{type:Number,default:-1}},mounted:function(){this.servings_value=-1===this.servings?this.recipe.servings:this.servings}},g=v,m=Object(f["a"])(g,n,i,!1,null,null,null);t["a"]=m.exports}}); \ No newline at end of file diff --git a/cookbook/static/vue/js/recipe_view.js b/cookbook/static/vue/js/recipe_view.js index 96162fbeb..13eae7b34 100644 --- a/cookbook/static/vue/js/recipe_view.js +++ b/cookbook/static/vue/js/recipe_view.js @@ -1 +1 @@ -(function(e){function t(t){for(var n,s,o=t[0],c=t[1],l=t[2],p=0,u=[];p0?i("div",{staticClass:"col-md-6 order-md-1 col-sm-12 order-sm-2 col-12 order-2"},[i("div",{staticClass:"card border-primary"},[i("div",{staticClass:"card-body"},[i("div",{staticClass:"row"},[i("div",{staticClass:"col col-md-8"},[i("h4",{staticClass:"card-title"},[i("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))])])]),i("br"),i("div",{staticClass:"row"},[i("div",{staticClass:"col-md-12"},[i("table",{staticClass:"table table-sm"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(t){return[i("Ingredient",{key:t.id,attrs:{ingredient:t,ingredient_factor:e.ingredient_factor},on:{"checked-state-changed":e.updateIngredientCheckedState}})]}))]}))],2)])])])])]):e._e(),i("div",{staticClass:"col-12 order-1 col-sm-12 order-sm-1 col-md-6 order-md-2"},[i("div",{staticClass:"row"},[i("div",{staticClass:"col-12"},[null!==e.recipe.image?i("img",{staticClass:"img img-fluid rounded",staticStyle:{"max-height":"30vh"},attrs:{src:e.recipe.image,alt:e.$t("Recipe_Image")}}):e._e()])]),i("div",{staticClass:"row",staticStyle:{"margin-top":"2vh","margin-bottom":"2vh"}},[i("div",{staticClass:"col-12"},[i("Nutrition",{attrs:{recipe:e.recipe,ingredient_factor:e.ingredient_factor}})],1)])])]),e.recipe.internal?e._e():[e.recipe.file_path.includes(".pdf")?i("div",[i("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")?i("div",[i("ImageViewer",{attrs:{recipe:e.recipe}})],1):e._e()],e._l(e.recipe.steps,(function(t,n){return i("div",{key:t.id,staticStyle:{"margin-top":"1vh"}},[i("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),i("add-recipe-to-book",{attrs:{recipe:e.recipe}})],2)},r=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[i("i",{staticClass:"fas fa-user-clock fa-2x text-primary"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[i("i",{staticClass:"far fa-clock fa-2x text-primary"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[i("i",{staticClass:"fas fa-pizza-slice fa-2x text-primary"})])}],s=i("b85c"),o=i("5f5b"),c=(i("2dd8"),i("7c15")),l=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("hr"),"TEXT"===e.step.type?[e.recipe.steps.length>1?i("div",{staticClass:"row"},[i("div",{staticClass:"col col-md-8"},[i("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?i("small",{staticClass:"text-muted",staticStyle:{"margin-left":"4px"}},[i("i",{staticClass:"fas fa-user-clock"}),e._v(" "+e._s(e.step.time)+" "+e._s(e.$t("min"))+" ")]):e._e(),""!==e.start_time?i("small",{staticClass:"d-print-none"},[i("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)]),i("div",{staticClass:"col col-md-4",staticStyle:{"text-align":"right"}},[i("b-button",{staticClass:"shadow-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}}},[i("i",{staticClass:"far fa-check-circle"})])],1)]):e._e(),i("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[i("div",{staticClass:"row"},[e.step.ingredients.length>0&&e.recipe.steps.length>1?i("div",{staticClass:"col col-md-4"},[i("table",{staticClass:"table table-sm"},[e._l(e.step.ingredients,(function(t){return[i("Ingredient",{key:t.id,attrs:{ingredient:t,ingredient_factor:e.ingredient_factor},on:{"checked-state-changed":function(i){return e.$emit("checked-state-changed",t)}}})]}))],2)]):e._e(),i("div",{staticClass:"col",class:{"col-md-8":e.recipe.steps.length>1,"col-md-12":e.recipe.steps.length<=1}},[i("compile-component",{attrs:{code:e.step.ingredients_markdown,ingredient_factor:e.ingredient_factor}})],1)])])]:e._e(),"TIME"===e.step.type?[i("div",{staticClass:"row"},[i("div",{staticClass:"col-md-8 offset-md-2",staticStyle:{"text-align":"center"}},[i("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?i("span",{staticClass:"text-muted",staticStyle:{"margin-left":"4px"}},[i("i",{staticClass:"fa fa-stopwatch"}),e._v(" "+e._s(e.step.time)+" "+e._s(e.$t("min")))]):e._e(),""!==e.start_time?i("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),i("div",{staticClass:"col-md-2",staticStyle:{"text-align":"right"}},[i("b-button",{staticClass:"shadow-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}}},[i("i",{staticClass:"far fa-check-circle"})])],1)]),i("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[""!==e.step.instruction?i("div",{staticClass:"row"},[i("div",{staticClass:"col col-md-12",staticStyle:{"text-align":"center"}},[i("compile-component",{attrs:{code:e.step.ingredients_markdown,ingredient_factor:e.ingredient_factor}})],1)]):e._e()])]:e._e(),""!==e.start_time?i("div",[i("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")}},[i("div",[i("b-form-group",{staticClass:"mb-1",attrs:{label:"Time","label-for":"popover-input-1","label-cols":"3"}},[i("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),i("div",{staticClass:"row",staticStyle:{"margin-top":"1vh"}},[i("div",{staticClass:"col-12",staticStyle:{"text-align":"right"}},[i("b-button",{staticStyle:{"margin-right":"8px"},attrs:{size:"sm",variant:"secondary"},on:{click:e.closePopover}},[e._v("Cancel")]),i("b-button",{attrs:{size:"sm",variant:"primary"},on:{click:e.updateTime}},[e._v("Ok")])],1)])])],1):e._e()],2)},d=[],p=(i("a9e3"),i("fa7d")),u=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[i("td",{attrs:{colspan:"5"}},[i("b",[e._v(e._s(e.ingredient.note))])])]:[i("td",[e.ingredient.checked?i("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():i("i",{staticClass:"far fa-check-circle text-primary"})]),i("td",[0!==e.ingredient.amount?i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),i("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():i("span",[e._v(e._s(e.ingredient.unit.name))])]),i("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?i("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?i("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),i("td",[e.ingredient.note?i("div",[i("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none"},[i("i",{staticClass:"far fa-comment"})]),i("div",{staticClass:"d-none d-print-block"},[i("i",{staticClass:"far fa-comment-alt"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()])]],2)},f=[],_={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1}},mixins:[p["b"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(p["d"])(e,this.ingredient_factor)}}},m=_,g=i("2877"),v=Object(g["a"])(m,u,f,!1,null,null,null),b=v.exports,h=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i(e.compiled,{tag:"component",attrs:{ingredient_factor:e.ingredient_factor,code:e.code}})],1)},j=[],k=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.number))}})},C=[],y={name:"ScalableNumber",props:{number:Number,factor:{type:Number,default:4}},methods:{calculateAmount:function(e){return Object(p["d"])(e,this.factor)}}},w=y,S=Object(g["a"])(w,k,C,!1,null,null,null),x=S.exports,O={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:x},template:"
".concat(this.code,"
")})}},E=O,R=Object(g["a"])(E,h,j,!1,null,null,null),I=R.exports,$=i("c1df"),P=i.n($);n["default"].prototype.moment=P.a;var A={name:"Step",mixins:[p["a"]],components:{Ingredient:b,CompileComponent:I},props:{step:Object,ingredient_factor:Number,index:Number,recipe:Object,start_time:String},data:function(){return{details_visible:!0,set_time_input:""}},mounted:function(){this.set_time_input=P()(this.start_time).add(this.step.time_offset,"minutes").format("yyyy-MM-DDTHH:mm")},methods:{calculateAmount:function(e){return Object(p["d"])(e,this.ingredient_factor)},updateTime:function(){var e=P()(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")}}},N=A,L=Object(g["a"])(N,l,d,!1,null,null,null),z=L.exports,B=i("fc0d"),M=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("iframe",{staticStyle:{border:"none"},attrs:{src:e.pdfUrl,width:"100%",height:"700px"}})])},T=[],D={name:"PdfViewer",mixins:[p["b"]],props:{recipe:Object},computed:{pdfUrl:function(){return"/static/pdfjs/viewer.html?file="+Object(p["g"])("api_get_recipe_file",this.recipe.id)}}},U=D,V=Object(g["a"])(U,M,T,!1,null,null,null),H=V.exports,K=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"text-align":"center"}},[i("b-img",{attrs:{src:e.pdfUrl,alt:e.$t("External_Recipe_Image")}})],1)},F=[],Z={name:"ImageViewer",props:{recipe:Object},computed:{pdfUrl:function(){return Object(p["g"])("api_get_recipe_file",this.recipe.id)}}},W=Z,J=Object(g["a"])(W,K,F,!1,null,null,null),q=J.exports,G=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.recipe.nutrition?i("div",[i("div",{staticClass:"card border-success"},[i("div",{staticClass:"card-body"},[i("div",{staticClass:"row"},[i("div",{staticClass:"col-12"},[i("h4",{staticClass:"card-title"},[i("i",{staticClass:"fas fa-carrot"}),e._v(" "+e._s(e.$t("Nutrition")))])])]),i("div",{staticClass:"row"},[i("div",{staticClass:"col-6"},[i("i",{staticClass:"fas fa-fire fa-fw text-primary"}),e._v(" "+e._s(e.$t("Calories"))+" ")]),i("div",{staticClass:"col-6"},[i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.calories))}}),e._v(" kcal ")])]),i("div",{staticClass:"row"},[i("div",{staticClass:"col-6"},[i("i",{staticClass:"fas fa-bread-slice fa-fw text-primary"}),e._v(" "+e._s(e.$t("Carbohydrates"))+" ")]),i("div",{staticClass:"col-6"},[i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.carbohydrates))}}),e._v(" g ")])]),i("div",{staticClass:"row"},[i("div",{staticClass:"col-6"},[i("i",{staticClass:"fas fa-cheese fa-fw text-primary"}),e._v(" "+e._s(e.$t("Fats"))+" ")]),i("div",{staticClass:"col-6"},[i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.fats))}}),e._v(" g ")])]),i("div",{staticClass:"row"},[i("div",{staticClass:"col-6"},[i("i",{staticClass:"fas fa-drumstick-bite fa-fw text-primary"}),e._v(" "+e._s(e.$t("Proteins"))+" ")]),i("div",{staticClass:"col-6"},[i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.proteins))}}),e._v(" g ")])])])])]):e._e()},X=[],Q={name:"Nutrition",props:{recipe:Object,ingredient_factor:Number},methods:{calculateAmount:function(e){return Object(p["d"])(e,this.ingredient_factor)}}},Y=Q,ee=Object(g["a"])(Y,G,X,!1,null,null,null),te=ee.exports,ie=i("81d5"),ne=i("d76c"),ae=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book",title:e.$t("Add_to_Book"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()}}},[i("multiselect",{attrs:{options:e.books,"preserve-search":!0,placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1},on:{"search-change":e.loadBook},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},re=[],se=i("8e5f"),oe=i.n(se);n["default"].prototype.moment=P.a,n["default"].use(o["a"]);var ce={name:"AddRecipeToBook",components:{Multiselect:oe.a},props:{recipe:Object},data:function(){return{books:[],selected_book:null}},mounted:function(){this.loadBook("")},methods:{loadBook:function(e){var t=this;Object(c["b"])(e).then((function(e){t.books=e}))},addToBook:function(){Object(c["a"])({recipe:this.recipe.id,book:this.selected_book.id})}}},le=ce,de=(i("60bc"),Object(g["a"])(le,ae,re,!1,null,null,null)),pe=de.exports;n["default"].prototype.moment=P.a,n["default"].use(o["a"]);var ue={name:"RecipeView",mixins:[p["b"],p["c"]],components:{PdfViewer:H,ImageViewer:q,Ingredient:b,Step:z,RecipeContextMenu:B["a"],Nutrition:te,Keywords:ie["a"],LoadingSpinner:ne["a"],AddRecipeToBook:pe},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:""}},mounted:function(){this.loadRecipe(window.RECIPE_ID),this.$i18n.locale=window.CUSTOM_LOCALE},methods:{loadRecipe:function(e){var t=this;Object(c["c"])(e).then((function(e){0!==window.USER_SERVINGS&&(e.servings=window.USER_SERVINGS),t.servings=e.servings;var i,n=0,a=Object(s["a"])(e.steps);try{for(a.s();!(i=a.n()).done;){var r=i.value;t.ingredient_count+=r.ingredients.length;var o,c=Object(s["a"])(r.ingredients);try{for(c.s();!(o=c.n()).done;){var l=o.value;t.$set(l,"checked",!1)}}catch(d){c.e(d)}finally{c.f()}r.time_offset=n,n+=r.time}}catch(d){a.e(d)}finally{a.f()}n>0&&(t.start_time=P()().format("yyyy-MM-DDTHH:mm")),t.recipe=e,t.loading=!1}))},updateStartTime:function(e){this.start_time=e},updateIngredientCheckedState:function(e){var t,i=Object(s["a"])(this.recipe.steps);try{for(i.s();!(t=i.n()).done;){var n,a=t.value,r=Object(s["a"])(a.ingredients);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.id===e.id&&this.$set(o,"checked",!o.checked)}}catch(c){r.e(c)}finally{r.f()}}}catch(c){i.e(c)}finally{i.f()}}}},fe=ue,_e=Object(g["a"])(fe,a,r,!1,null,null,null),me=_e.exports,ge=i("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:ge["a"],render:function(e){return e(me)}}).$mount("#app")},1:function(e,t,i){e.exports=i("0671")},4678:function(e,t,i){var n={"./af":"2bfb","./af.js":"2bfb","./ar":"8e73","./ar-dz":"a356","./ar-dz.js":"a356","./ar-kw":"423e","./ar-kw.js":"423e","./ar-ly":"1cfd","./ar-ly.js":"1cfd","./ar-ma":"0a84","./ar-ma.js":"0a84","./ar-sa":"8230","./ar-sa.js":"8230","./ar-tn":"6d83","./ar-tn.js":"6d83","./ar.js":"8e73","./az":"485c","./az.js":"485c","./be":"1fc1","./be.js":"1fc1","./bg":"84aa","./bg.js":"84aa","./bm":"a7fa","./bm.js":"a7fa","./bn":"9043","./bn-bd":"9686","./bn-bd.js":"9686","./bn.js":"9043","./bo":"d26a","./bo.js":"d26a","./br":"6887","./br.js":"6887","./bs":"2554","./bs.js":"2554","./ca":"d716","./ca.js":"d716","./cs":"3c0d","./cs.js":"3c0d","./cv":"03ec","./cv.js":"03ec","./cy":"9797","./cy.js":"9797","./da":"0f14","./da.js":"0f14","./de":"b469","./de-at":"b3eb","./de-at.js":"b3eb","./de-ch":"bb71","./de-ch.js":"bb71","./de.js":"b469","./dv":"598a","./dv.js":"598a","./el":"8d47","./el.js":"8d47","./en-au":"0e6b","./en-au.js":"0e6b","./en-ca":"3886","./en-ca.js":"3886","./en-gb":"39a6","./en-gb.js":"39a6","./en-ie":"e1d3","./en-ie.js":"e1d3","./en-il":"7333","./en-il.js":"7333","./en-in":"ec2e","./en-in.js":"ec2e","./en-nz":"6f50","./en-nz.js":"6f50","./en-sg":"b7e9","./en-sg.js":"b7e9","./eo":"65db","./eo.js":"65db","./es":"898b","./es-do":"0a3c","./es-do.js":"0a3c","./es-mx":"b5b7","./es-mx.js":"b5b7","./es-us":"55c9","./es-us.js":"55c9","./es.js":"898b","./et":"ec18","./et.js":"ec18","./eu":"0ff2","./eu.js":"0ff2","./fa":"8df4","./fa.js":"8df4","./fi":"81e9","./fi.js":"81e9","./fil":"d69a","./fil.js":"d69a","./fo":"0721","./fo.js":"0721","./fr":"9f26","./fr-ca":"d9f8","./fr-ca.js":"d9f8","./fr-ch":"0e49","./fr-ch.js":"0e49","./fr.js":"9f26","./fy":"7118","./fy.js":"7118","./ga":"5120","./ga.js":"5120","./gd":"f6b4","./gd.js":"f6b4","./gl":"8840","./gl.js":"8840","./gom-deva":"aaf2","./gom-deva.js":"aaf2","./gom-latn":"0caa","./gom-latn.js":"0caa","./gu":"e0c5","./gu.js":"e0c5","./he":"c7aa","./he.js":"c7aa","./hi":"dc4d","./hi.js":"dc4d","./hr":"4ba9","./hr.js":"4ba9","./hu":"5b14","./hu.js":"5b14","./hy-am":"d6b6","./hy-am.js":"d6b6","./id":"5038","./id.js":"5038","./is":"0558","./is.js":"0558","./it":"6e98","./it-ch":"6f12","./it-ch.js":"6f12","./it.js":"6e98","./ja":"079e","./ja.js":"079e","./jv":"b540","./jv.js":"b540","./ka":"201b","./ka.js":"201b","./kk":"6d79","./kk.js":"6d79","./km":"e81d","./km.js":"e81d","./kn":"3e92","./kn.js":"3e92","./ko":"22f8","./ko.js":"22f8","./ku":"2421","./ku.js":"2421","./ky":"9609","./ky.js":"9609","./lb":"440c","./lb.js":"440c","./lo":"b29d","./lo.js":"b29d","./lt":"26f9","./lt.js":"26f9","./lv":"b97c","./lv.js":"b97c","./me":"293c","./me.js":"293c","./mi":"688b","./mi.js":"688b","./mk":"6909","./mk.js":"6909","./ml":"02fb","./ml.js":"02fb","./mn":"958b","./mn.js":"958b","./mr":"39bd","./mr.js":"39bd","./ms":"ebe4","./ms-my":"6403","./ms-my.js":"6403","./ms.js":"ebe4","./mt":"1b45","./mt.js":"1b45","./my":"8689","./my.js":"8689","./nb":"6ce3","./nb.js":"6ce3","./ne":"3a39","./ne.js":"3a39","./nl":"facd","./nl-be":"db29","./nl-be.js":"db29","./nl.js":"facd","./nn":"b84c","./nn.js":"b84c","./oc-lnc":"167b","./oc-lnc.js":"167b","./pa-in":"f3ff","./pa-in.js":"f3ff","./pl":"8d57","./pl.js":"8d57","./pt":"f260","./pt-br":"d2d4","./pt-br.js":"d2d4","./pt.js":"f260","./ro":"972c","./ro.js":"972c","./ru":"957c","./ru.js":"957c","./sd":"6784","./sd.js":"6784","./se":"ffff","./se.js":"ffff","./si":"eda5","./si.js":"eda5","./sk":"7be6","./sk.js":"7be6","./sl":"8155","./sl.js":"8155","./sq":"c8f3","./sq.js":"c8f3","./sr":"cf1e","./sr-cyrl":"13e9","./sr-cyrl.js":"13e9","./sr.js":"cf1e","./ss":"52bd","./ss.js":"52bd","./sv":"5fbd","./sv.js":"5fbd","./sw":"74dc","./sw.js":"74dc","./ta":"3de5","./ta.js":"3de5","./te":"5cbb","./te.js":"5cbb","./tet":"576c","./tet.js":"576c","./tg":"3b1b","./tg.js":"3b1b","./th":"10e8","./th.js":"10e8","./tk":"5aff","./tk.js":"5aff","./tl-ph":"0f38","./tl-ph.js":"0f38","./tlh":"cf755","./tlh.js":"cf755","./tr":"0e81","./tr.js":"0e81","./tzl":"cf51","./tzl.js":"cf51","./tzm":"c109","./tzm-latn":"b53d","./tzm-latn.js":"b53d","./tzm.js":"c109","./ug-cn":"6117","./ug-cn.js":"6117","./uk":"ada2","./uk.js":"ada2","./ur":"5294","./ur.js":"5294","./uz":"2e8c","./uz-latn":"010e","./uz-latn.js":"010e","./uz.js":"2e8c","./vi":"2921","./vi.js":"2921","./x-pseudo":"fd7e","./x-pseudo.js":"fd7e","./yo":"7f33","./yo.js":"7f33","./zh-cn":"5c3a","./zh-cn.js":"5c3a","./zh-hk":"49ab","./zh-hk.js":"49ab","./zh-mo":"3a6c","./zh-mo.js":"3a6c","./zh-tw":"90ea","./zh-tw.js":"90ea"};function a(e){var t=r(e);return i(t)}function r(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}a.keys=function(){return Object.keys(n)},a.resolve=r,e.exports=a,a.id="4678"},"49f8":function(e,t,i){var n={"./de.json":"6ce2","./en.json":"edd4","./nl.json":"a625","./sv.json":"4c5b"};function a(e){var t=r(e);return i(t)}function r(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}a.keys=function(){return Object.keys(n)},a.resolve=r,e.exports=a,a.id="49f8"},"4c5b":function(e){e.exports=JSON.parse('{"import_running":"Import pågår, var god vänta!","all_fields_optional":"Alla rutor är valfria och kan lämnas tomma.","convert_internal":"Konvertera till internt recept","Log_Recipe_Cooking":"Logga tillagningen av receptet","External_Recipe_Image":"Externt receptbild","Add_to_Book":"Lägg till i kokbok","Add_to_Shopping":"Lägg till i handelslista","Add_to_Plan":"Lägg till i matsedel","Step_start_time":"Steg starttid","Select_Book":"Välj kokbok","Recipe_Image":"Receptbild","Import_finished":"Importering klar","View_Recipes":"Visa recept","Log_Cooking":"Logga tillagning","Proteins":"Protein","Fats":"Fett","Carbohydrates":"Kolhydrater","Calories":"Kalorier","Nutrition":"Näringsinnehåll","Date":"Datum","Share":"Dela","Export":"Exportera","Rating":"Betyg","Close":"Stäng","Add":"Lägg till","Ingredients":"Ingredienser","min":"min","Servings":"Portioner","Waiting":"Väntan","Preparation":"Förberedelse","Edit":"Redigera","Open":"Öppna","Save":"Spara","Step":"Steg","Search":"Sök","Import":"Importera","Print":"Skriv ut","Information":"Information"}')},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Import","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":"Zubereitung","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"}')},"7c15":function(e,t,i){"use strict";i.d(t,"c",(function(){return s})),i.d(t,"d",(function(){return o})),i.d(t,"b",(function(){return c})),i.d(t,"a",(function(){return l}));var n=i("bc3a"),a=i.n(n),r=i("fa7d");function s(e){var t=Object(r["g"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),a.a.get(t).then((function(e){return e.data})).catch((function(e){d(e,"There was an error loading a resource!","danger")}))}function o(e){return a.a.post(Object(r["g"])("api:cooklog-list"),e).then((function(e){Object(r["f"])("Saved","Cook Log entry saved!","success")})).catch((function(e){d(e,"There was an error creating a resource!","danger")}))}function c(e){return a.a.get(Object(r["g"])("api:recipebook-list")+"?query="+e).then((function(e){return e.data})).catch((function(e){}))}function l(e){return a.a.post(Object(r["g"])("api:recipebookentry-list"),e).then((function(e){Object(r["f"])("Saved","Recipe Book entry saved!","success")})).catch((function(e){d(e,"There was an error creating a resource!","danger")}))}function d(e,t){if("response"in e){console.log(e.response);var i="statusText"in e.response?e.response.statusText:Object(r["e"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(r["f"])(i,t,"danger")}else Object(r["f"])("Error",t,"danger"),console.log(e)}a.a.defaults.xsrfCookieName="csrftoken",a.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.recipe.keywords.length>0?i("div",e._l(e.recipe.keywords,(function(t){return i("small",{key:t.id,staticStyle:{padding:"2px"}},[i("b-badge",{attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},a=[],r={name:"Keywords",props:{recipe:Object}},s=r,o=i("2877"),c=Object(o["a"])(s,n,a,!1,null,null,null);t["a"]=c.exports},9225:function(e,t,i){"use strict";i("159b"),i("d3b7"),i("ddb0"),i("ac1f"),i("466d");var n=i("a026"),a=i("a925");function r(){var e=i("49f8"),t={};return e.keys().forEach((function(i){var n=i.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var a=n[1];t[a]=e(i)}})),t}n["default"].use(a["a"]),t["a"]=new a["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: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"}')},d76c:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},a=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"row"},[i("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[i("i",{staticClass:"fas fa-spinner fa-spin fa-10x"})])])}],r={name:"LoadingSpinner",props:{recipe:Object}},s=r,o=i("2877"),c=Object(o["a"])(s,n,a,!1,null,null,null);t["a"]=c.exports},edd4:function(e){e.exports=JSON.parse('{"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","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Book":"Add to Book","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","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","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Export":"Export","Rating":"Rating","Close":"Close","Add":"Add","New":"New","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Edit":"Edit","Open":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information"}')},fa7d:function(e,t,i){"use strict";i.d(t,"c",(function(){return r})),i.d(t,"f",(function(){return s})),i.d(t,"a",(function(){return o})),i.d(t,"e",(function(){return c})),i.d(t,"b",(function(){return l})),i.d(t,"g",(function(){return d})),i.d(t,"d",(function(){return u}));i("99af");var n=i("59e4");function a(e,t,i){var n=Math.floor(e),a=1,r=n+1,s=1;if(e!==n)while(a<=t&&s<=t){var o=(n+r)/(a+s);if(e===o){a+s<=t?(a+=s,n+=r,s=t+1):a>s?s=t+1:a=t+1;break}et&&(a=s,n=r),!i)return[0,n,a];var c=Math.floor(n/a);return[c,n-c*a,a]}var r={methods:{makeToast:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return s(e,t,i)}}};function s(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=new n["a"];a.$bvToast.toast(t,{title:e,variant:i,toaster:"b-toaster-top-center",solid:!0})}var o={methods:{_:function(e){return c(e)}}};function c(e){return window.gettext(e)}var l={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return d(e,t)}}};function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null!==t?window.Urls[e](t):window.Urls[e]()}function p(e){return window.USER_PREF[e]}function u(e,t){if(p("use_fractions")){var i="",n=a(e*t,9,!0);return n[0]>0&&(i+=n[0]),n[1]>0&&(i+=" ".concat(n[1],"").concat(n[2],"")),i}return f(e*t)}function f(e){var t=p("user_fractions")?p("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}},fc0d:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"dropdown"},[e._m(0),i("div",{staticClass:"dropdown-menu dropdown-menu-right",attrs:{"aria-labelledby":"dropdownMenuLink"}},[i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_recipe",e.recipe.id)}},[i("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e.$t("Edit")))]),e.recipe.internal?e._e():i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_convert_recipe",e.recipe.id)}},[i("i",{staticClass:"fas fa-exchange-alt fa-fw"}),e._v(" "+e._s(e.$t("convert_internal")))]),i("button",{staticClass:"dropdown-item",on:{click:function(t){return e.$bvModal.show("id_modal_add_book")}}},[i("i",{staticClass:"fas fa-bookmark fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Book"))+" ")]),e.recipe.internal?i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_shopping")+"?r=["+e.recipe.id+","+e.servings_value+"]",target:"_blank",rel:"noopener noreferrer"}},[i("i",{staticClass:"fas fa-shopping-cart fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Shopping"))+" ")]):e._e(),i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_meal_plan")+"?recipe="+e.recipe.id,target:"_blank",rel:"noopener noreferrer"}},[i("i",{staticClass:"fas fa-calendar fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Plan"))+" ")]),i("button",{staticClass:"dropdown-item",on:{click:function(t){return e.$bvModal.show("id_modal_cook_log")}}},[i("i",{staticClass:"fas fa-clipboard-list fa-fw"}),e._v(" "+e._s(e.$t("Log_Cooking"))+" ")]),i("button",{staticClass:"dropdown-item",attrs:{onclick:"window.print()"}},[i("i",{staticClass:"fas fa-print fa-fw"}),e._v(" "+e._s(e.$t("Print"))+" ")]),i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_export")+"?r="+e.recipe.id,target:"_blank",rel:"noopener noreferrer"}},[i("i",{staticClass:"fas fa-file-export fa-fw"}),e._v(" "+e._s(e.$t("Export")))]),e.recipe.internal?i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_share_link",e.recipe.id),target:"_blank",rel:"noopener noreferrer"}},[i("i",{staticClass:"fas fa-share-alt fa-fw"}),e._v(" "+e._s(e.$t("Share")))]):e._e()])]),i("cook-log",{attrs:{recipe:e.recipe}})],1)},a=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{staticClass:"btn shadow-none",attrs:{href:"#",role:"button",id:"dropdownMenuLink","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}},[i("i",{staticClass:"fas fa-ellipsis-v"})])}],r=(i("a9e3"),i("fa7d")),s=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("b-modal",{staticClass:"modal",attrs:{id:"id_modal_cook_log",title:e.$t("Log_Recipe_Cooking"),"ok-title":e.$t("Save"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.logCook()}}},[i("p",[e._v(e._s(e.$t("all_fields_optional")))]),i("form",[i("label",{attrs:{for:"id_log_servings"}},[e._v(e._s(e.$t("Servings")))]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.logObject.servings,expression:"logObject.servings"}],staticClass:"form-control",attrs:{type:"number",id:"id_log_servings"},domProps:{value:e.logObject.servings},on:{input:function(t){t.target.composing||e.$set(e.logObject,"servings",t.target.value)}}}),i("label",{staticStyle:{"margin-top":"2vh"}},[e._v(e._s(e.$t("Rating"))+" - "),i("span",{attrs:{id:"id_rating_show"}},[e._v(e._s(e.logObject.rating)+"/5")])]),i("b-form-rating",{model:{value:e.logObject.rating,callback:function(t){e.$set(e.logObject,"rating",t)},expression:"logObject.rating"}}),i("label",{staticStyle:{"margin-top":"2vh"},attrs:{for:"id_date"}},[e._v(e._s(e.$t("Date")))]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.logObject.created_at,expression:"logObject.created_at"}],staticClass:"form-control",attrs:{type:"datetime-local",id:"id_date"},domProps:{value:e.logObject.created_at},on:{input:function(t){t.target.composing||e.$set(e.logObject,"created_at",t.target.value)}}})],1)])],1)},o=[],c=i("c1df"),l=i.n(c),d=i("a026"),p=i("5f5b"),u=i("7c15");d["default"].prototype.moment=l.a,d["default"].use(p["a"]);var f={name:"CookLog",props:{recipe:Object},data:function(){return{logObject:{recipe:this.recipe.id,servings:0,rating:0,created_at:l()().format("yyyy-MM-DDTHH:mm")}}},methods:{logCook:function(){Object(u["d"])(this.logObject)}}},_=f,m=i("2877"),g=Object(m["a"])(_,s,o,!1,null,null,null),v=g.exports,b={name:"RecipeContextMenu",mixins:[r["b"]],components:{CookLog:v},data:function(){return{servings_value:0}},props:{recipe:Object,servings:{type:Number,default:-1}},mounted:function(){this.servings_value=-1===this.servings?this.recipe.servings:this.servings}},h=b,j=Object(m["a"])(h,n,a,!1,null,null,null);t["a"]=j.exports}}); \ No newline at end of file +(function(e){function t(t){for(var n,s,o=t[0],c=t[1],l=t[2],p=0,u=[];p0?i("div",{staticClass:"col-md-6 order-md-1 col-sm-12 order-sm-2 col-12 order-2"},[i("div",{staticClass:"card border-primary"},[i("div",{staticClass:"card-body"},[i("div",{staticClass:"row"},[i("div",{staticClass:"col col-md-8"},[i("h4",{staticClass:"card-title"},[i("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))])])]),i("br"),i("div",{staticClass:"row"},[i("div",{staticClass:"col-md-12"},[i("table",{staticClass:"table table-sm"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(t){return[i("Ingredient",{key:t.id,attrs:{ingredient:t,ingredient_factor:e.ingredient_factor},on:{"checked-state-changed":e.updateIngredientCheckedState}})]}))]}))],2)])])])])]):e._e(),i("div",{staticClass:"col-12 order-1 col-sm-12 order-sm-1 col-md-6 order-md-2"},[i("div",{staticClass:"row"},[i("div",{staticClass:"col-12"},[null!==e.recipe.image?i("img",{staticClass:"img img-fluid rounded",staticStyle:{"max-height":"30vh"},attrs:{src:e.recipe.image,alt:e.$t("Recipe_Image")}}):e._e()])]),i("div",{staticClass:"row",staticStyle:{"margin-top":"2vh","margin-bottom":"2vh"}},[i("div",{staticClass:"col-12"},[i("Nutrition",{attrs:{recipe:e.recipe,ingredient_factor:e.ingredient_factor}})],1)])])]),e.recipe.internal?e._e():[e.recipe.file_path.includes(".pdf")?i("div",[i("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")?i("div",[i("ImageViewer",{attrs:{recipe:e.recipe}})],1):e._e()],e._l(e.recipe.steps,(function(t,n){return i("div",{key:t.id,staticStyle:{"margin-top":"1vh"}},[i("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),i("add-recipe-to-book",{attrs:{recipe:e.recipe}})],2)},r=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[i("i",{staticClass:"fas fa-user-clock fa-2x text-primary"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[i("i",{staticClass:"far fa-clock fa-2x text-primary"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"my-auto",staticStyle:{"padding-right":"4px"}},[i("i",{staticClass:"fas fa-pizza-slice fa-2x text-primary"})])}],s=i("b85c"),o=i("5f5b"),c=(i("2dd8"),i("7c15")),l=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("hr"),"TEXT"===e.step.type?[e.recipe.steps.length>1?i("div",{staticClass:"row"},[i("div",{staticClass:"col col-md-8"},[i("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?i("small",{staticClass:"text-muted",staticStyle:{"margin-left":"4px"}},[i("i",{staticClass:"fas fa-user-clock"}),e._v(" "+e._s(e.step.time)+" "+e._s(e.$t("min"))+" ")]):e._e(),""!==e.start_time?i("small",{staticClass:"d-print-none"},[i("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)]),i("div",{staticClass:"col col-md-4",staticStyle:{"text-align":"right"}},[i("b-button",{staticClass:"shadow-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}}},[i("i",{staticClass:"far fa-check-circle"})])],1)]):e._e(),i("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[i("div",{staticClass:"row"},[e.step.ingredients.length>0&&e.recipe.steps.length>1?i("div",{staticClass:"col col-md-4"},[i("table",{staticClass:"table table-sm"},[e._l(e.step.ingredients,(function(t){return[i("Ingredient",{key:t.id,attrs:{ingredient:t,ingredient_factor:e.ingredient_factor},on:{"checked-state-changed":function(i){return e.$emit("checked-state-changed",t)}}})]}))],2)]):e._e(),i("div",{staticClass:"col",class:{"col-md-8":e.recipe.steps.length>1,"col-md-12":e.recipe.steps.length<=1}},[i("compile-component",{attrs:{code:e.step.ingredients_markdown,ingredient_factor:e.ingredient_factor}})],1)])])]:e._e(),"TIME"===e.step.type?[i("div",{staticClass:"row"},[i("div",{staticClass:"col-md-8 offset-md-2",staticStyle:{"text-align":"center"}},[i("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?i("span",{staticClass:"text-muted",staticStyle:{"margin-left":"4px"}},[i("i",{staticClass:"fa fa-stopwatch"}),e._v(" "+e._s(e.step.time)+" "+e._s(e.$t("min")))]):e._e(),""!==e.start_time?i("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),i("div",{staticClass:"col-md-2",staticStyle:{"text-align":"right"}},[i("b-button",{staticClass:"shadow-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}}},[i("i",{staticClass:"far fa-check-circle"})])],1)]),i("b-collapse",{attrs:{id:"collapse-1"},model:{value:e.details_visible,callback:function(t){e.details_visible=t},expression:"details_visible"}},[""!==e.step.instruction?i("div",{staticClass:"row"},[i("div",{staticClass:"col col-md-12",staticStyle:{"text-align":"center"}},[i("compile-component",{attrs:{code:e.step.ingredients_markdown,ingredient_factor:e.ingredient_factor}})],1)]):e._e()])]:e._e(),""!==e.start_time?i("div",[i("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")}},[i("div",[i("b-form-group",{staticClass:"mb-1",attrs:{label:"Time","label-for":"popover-input-1","label-cols":"3"}},[i("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),i("div",{staticClass:"row",staticStyle:{"margin-top":"1vh"}},[i("div",{staticClass:"col-12",staticStyle:{"text-align":"right"}},[i("b-button",{staticStyle:{"margin-right":"8px"},attrs:{size:"sm",variant:"secondary"},on:{click:e.closePopover}},[e._v("Cancel")]),i("b-button",{attrs:{size:"sm",variant:"primary"},on:{click:e.updateTime}},[e._v("Ok")])],1)])])],1):e._e()],2)},d=[],p=(i("a9e3"),i("fa7d")),u=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("tr",{on:{click:function(t){return e.$emit("checked-state-changed",e.ingredient)}}},[e.ingredient.is_header?[i("td",{attrs:{colspan:"5"}},[i("b",[e._v(e._s(e.ingredient.note))])])]:[i("td",[e.ingredient.checked?i("i",{staticClass:"far fa-check-circle text-success"}):e._e(),e.ingredient.checked?e._e():i("i",{staticClass:"far fa-check-circle text-primary"})]),i("td",[0!==e.ingredient.amount?i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.ingredient.amount))}}):e._e()]),i("td",[null===e.ingredient.unit||e.ingredient.no_amount?e._e():i("span",[e._v(e._s(e.ingredient.unit.name))])]),i("td",[null!==e.ingredient.food?[null!==e.ingredient.food.recipe?i("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?i("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]:e._e()],2),i("td",[e.ingredient.note?i("div",[i("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none"},[i("i",{staticClass:"far fa-comment"})]),i("div",{staticClass:"d-none d-print-block"},[i("i",{staticClass:"far fa-comment-alt"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()])]],2)},f=[],_={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1}},mixins:[p["b"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(p["d"])(e,this.ingredient_factor)}}},m=_,g=i("2877"),v=Object(g["a"])(m,u,f,!1,null,null,null),b=v.exports,h=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i(e.compiled,{tag:"component",attrs:{ingredient_factor:e.ingredient_factor,code:e.code}})],1)},j=[],k=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.number))}})},C=[],y={name:"ScalableNumber",props:{number:Number,factor:{type:Number,default:4}},methods:{calculateAmount:function(e){return Object(p["d"])(e,this.factor)}}},w=y,S=Object(g["a"])(w,k,C,!1,null,null,null),x=S.exports,O={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:x},template:"
".concat(this.code,"
")})}},E=O,R=Object(g["a"])(E,h,j,!1,null,null,null),I=R.exports,$=i("c1df"),P=i.n($);n["default"].prototype.moment=P.a;var A={name:"Step",mixins:[p["a"]],components:{Ingredient:b,CompileComponent:I},props:{step:Object,ingredient_factor:Number,index:Number,recipe:Object,start_time:String},data:function(){return{details_visible:!0,set_time_input:""}},mounted:function(){this.set_time_input=P()(this.start_time).add(this.step.time_offset,"minutes").format("yyyy-MM-DDTHH:mm")},methods:{calculateAmount:function(e){return Object(p["d"])(e,this.ingredient_factor)},updateTime:function(){var e=P()(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")}}},N=A,L=Object(g["a"])(N,l,d,!1,null,null,null),z=L.exports,B=i("fc0d"),M=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("iframe",{staticStyle:{border:"none"},attrs:{src:e.pdfUrl,width:"100%",height:"700px"}})])},T=[],D={name:"PdfViewer",mixins:[p["b"]],props:{recipe:Object},computed:{pdfUrl:function(){return"/static/pdfjs/viewer.html?file="+Object(p["g"])("api_get_recipe_file",this.recipe.id)}}},U=D,V=Object(g["a"])(U,M,T,!1,null,null,null),H=V.exports,K=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"text-align":"center"}},[i("b-img",{attrs:{src:e.pdfUrl,alt:e.$t("External_Recipe_Image")}})],1)},F=[],Z={name:"ImageViewer",props:{recipe:Object},computed:{pdfUrl:function(){return Object(p["g"])("api_get_recipe_file",this.recipe.id)}}},W=Z,J=Object(g["a"])(W,K,F,!1,null,null,null),q=J.exports,G=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.recipe.nutrition?i("div",[i("div",{staticClass:"card border-success"},[i("div",{staticClass:"card-body"},[i("div",{staticClass:"row"},[i("div",{staticClass:"col-12"},[i("h4",{staticClass:"card-title"},[i("i",{staticClass:"fas fa-carrot"}),e._v(" "+e._s(e.$t("Nutrition")))])])]),i("div",{staticClass:"row"},[i("div",{staticClass:"col-6"},[i("i",{staticClass:"fas fa-fire fa-fw text-primary"}),e._v(" "+e._s(e.$t("Calories"))+" ")]),i("div",{staticClass:"col-6"},[i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.calories))}}),e._v(" kcal ")])]),i("div",{staticClass:"row"},[i("div",{staticClass:"col-6"},[i("i",{staticClass:"fas fa-bread-slice fa-fw text-primary"}),e._v(" "+e._s(e.$t("Carbohydrates"))+" ")]),i("div",{staticClass:"col-6"},[i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.carbohydrates))}}),e._v(" g ")])]),i("div",{staticClass:"row"},[i("div",{staticClass:"col-6"},[i("i",{staticClass:"fas fa-cheese fa-fw text-primary"}),e._v(" "+e._s(e.$t("Fats"))+" ")]),i("div",{staticClass:"col-6"},[i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.fats))}}),e._v(" g ")])]),i("div",{staticClass:"row"},[i("div",{staticClass:"col-6"},[i("i",{staticClass:"fas fa-drumstick-bite fa-fw text-primary"}),e._v(" "+e._s(e.$t("Proteins"))+" ")]),i("div",{staticClass:"col-6"},[i("span",{domProps:{innerHTML:e._s(e.calculateAmount(e.recipe.nutrition.proteins))}}),e._v(" g ")])])])])]):e._e()},X=[],Q={name:"Nutrition",props:{recipe:Object,ingredient_factor:Number},methods:{calculateAmount:function(e){return Object(p["d"])(e,this.ingredient_factor)}}},Y=Q,ee=Object(g["a"])(Y,G,X,!1,null,null,null),te=ee.exports,ie=i("81d5"),ne=i("d76c"),ae=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book",title:e.$t("Add_to_Book"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()}}},[i("multiselect",{attrs:{options:e.books,"preserve-search":!0,placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1},on:{"search-change":e.loadBook},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},re=[],se=i("8e5f"),oe=i.n(se);n["default"].prototype.moment=P.a,n["default"].use(o["a"]);var ce={name:"AddRecipeToBook",components:{Multiselect:oe.a},props:{recipe:Object},data:function(){return{books:[],selected_book:null}},mounted:function(){this.loadBook("")},methods:{loadBook:function(e){var t=this;Object(c["b"])(e).then((function(e){t.books=e}))},addToBook:function(){Object(c["a"])({recipe:this.recipe.id,book:this.selected_book.id})}}},le=ce,de=(i("60bc"),Object(g["a"])(le,ae,re,!1,null,null,null)),pe=de.exports;n["default"].prototype.moment=P.a,n["default"].use(o["a"]);var ue={name:"RecipeView",mixins:[p["b"],p["c"]],components:{PdfViewer:H,ImageViewer:q,Ingredient:b,Step:z,RecipeContextMenu:B["a"],Nutrition:te,Keywords:ie["a"],LoadingSpinner:ne["a"],AddRecipeToBook:pe},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:""}},mounted:function(){this.loadRecipe(window.RECIPE_ID),this.$i18n.locale=window.CUSTOM_LOCALE},methods:{loadRecipe:function(e){var t=this;Object(c["c"])(e).then((function(e){0!==window.USER_SERVINGS&&(e.servings=window.USER_SERVINGS),t.servings=e.servings;var i,n=0,a=Object(s["a"])(e.steps);try{for(a.s();!(i=a.n()).done;){var r=i.value;t.ingredient_count+=r.ingredients.length;var o,c=Object(s["a"])(r.ingredients);try{for(c.s();!(o=c.n()).done;){var l=o.value;t.$set(l,"checked",!1)}}catch(d){c.e(d)}finally{c.f()}r.time_offset=n,n+=r.time}}catch(d){a.e(d)}finally{a.f()}n>0&&(t.start_time=P()().format("yyyy-MM-DDTHH:mm")),t.recipe=e,t.loading=!1}))},updateStartTime:function(e){this.start_time=e},updateIngredientCheckedState:function(e){var t,i=Object(s["a"])(this.recipe.steps);try{for(i.s();!(t=i.n()).done;){var n,a=t.value,r=Object(s["a"])(a.ingredients);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.id===e.id&&this.$set(o,"checked",!o.checked)}}catch(c){r.e(c)}finally{r.f()}}}catch(c){i.e(c)}finally{i.f()}}}},fe=ue,_e=Object(g["a"])(fe,a,r,!1,null,null,null),me=_e.exports,ge=i("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:ge["a"],render:function(e){return e(me)}}).$mount("#app")},1:function(e,t,i){e.exports=i("0671")},4678:function(e,t,i){var n={"./af":"2bfb","./af.js":"2bfb","./ar":"8e73","./ar-dz":"a356","./ar-dz.js":"a356","./ar-kw":"423e","./ar-kw.js":"423e","./ar-ly":"1cfd","./ar-ly.js":"1cfd","./ar-ma":"0a84","./ar-ma.js":"0a84","./ar-sa":"8230","./ar-sa.js":"8230","./ar-tn":"6d83","./ar-tn.js":"6d83","./ar.js":"8e73","./az":"485c","./az.js":"485c","./be":"1fc1","./be.js":"1fc1","./bg":"84aa","./bg.js":"84aa","./bm":"a7fa","./bm.js":"a7fa","./bn":"9043","./bn-bd":"9686","./bn-bd.js":"9686","./bn.js":"9043","./bo":"d26a","./bo.js":"d26a","./br":"6887","./br.js":"6887","./bs":"2554","./bs.js":"2554","./ca":"d716","./ca.js":"d716","./cs":"3c0d","./cs.js":"3c0d","./cv":"03ec","./cv.js":"03ec","./cy":"9797","./cy.js":"9797","./da":"0f14","./da.js":"0f14","./de":"b469","./de-at":"b3eb","./de-at.js":"b3eb","./de-ch":"bb71","./de-ch.js":"bb71","./de.js":"b469","./dv":"598a","./dv.js":"598a","./el":"8d47","./el.js":"8d47","./en-au":"0e6b","./en-au.js":"0e6b","./en-ca":"3886","./en-ca.js":"3886","./en-gb":"39a6","./en-gb.js":"39a6","./en-ie":"e1d3","./en-ie.js":"e1d3","./en-il":"7333","./en-il.js":"7333","./en-in":"ec2e","./en-in.js":"ec2e","./en-nz":"6f50","./en-nz.js":"6f50","./en-sg":"b7e9","./en-sg.js":"b7e9","./eo":"65db","./eo.js":"65db","./es":"898b","./es-do":"0a3c","./es-do.js":"0a3c","./es-mx":"b5b7","./es-mx.js":"b5b7","./es-us":"55c9","./es-us.js":"55c9","./es.js":"898b","./et":"ec18","./et.js":"ec18","./eu":"0ff2","./eu.js":"0ff2","./fa":"8df4","./fa.js":"8df4","./fi":"81e9","./fi.js":"81e9","./fil":"d69a","./fil.js":"d69a","./fo":"0721","./fo.js":"0721","./fr":"9f26","./fr-ca":"d9f8","./fr-ca.js":"d9f8","./fr-ch":"0e49","./fr-ch.js":"0e49","./fr.js":"9f26","./fy":"7118","./fy.js":"7118","./ga":"5120","./ga.js":"5120","./gd":"f6b4","./gd.js":"f6b4","./gl":"8840","./gl.js":"8840","./gom-deva":"aaf2","./gom-deva.js":"aaf2","./gom-latn":"0caa","./gom-latn.js":"0caa","./gu":"e0c5","./gu.js":"e0c5","./he":"c7aa","./he.js":"c7aa","./hi":"dc4d","./hi.js":"dc4d","./hr":"4ba9","./hr.js":"4ba9","./hu":"5b14","./hu.js":"5b14","./hy-am":"d6b6","./hy-am.js":"d6b6","./id":"5038","./id.js":"5038","./is":"0558","./is.js":"0558","./it":"6e98","./it-ch":"6f12","./it-ch.js":"6f12","./it.js":"6e98","./ja":"079e","./ja.js":"079e","./jv":"b540","./jv.js":"b540","./ka":"201b","./ka.js":"201b","./kk":"6d79","./kk.js":"6d79","./km":"e81d","./km.js":"e81d","./kn":"3e92","./kn.js":"3e92","./ko":"22f8","./ko.js":"22f8","./ku":"2421","./ku.js":"2421","./ky":"9609","./ky.js":"9609","./lb":"440c","./lb.js":"440c","./lo":"b29d","./lo.js":"b29d","./lt":"26f9","./lt.js":"26f9","./lv":"b97c","./lv.js":"b97c","./me":"293c","./me.js":"293c","./mi":"688b","./mi.js":"688b","./mk":"6909","./mk.js":"6909","./ml":"02fb","./ml.js":"02fb","./mn":"958b","./mn.js":"958b","./mr":"39bd","./mr.js":"39bd","./ms":"ebe4","./ms-my":"6403","./ms-my.js":"6403","./ms.js":"ebe4","./mt":"1b45","./mt.js":"1b45","./my":"8689","./my.js":"8689","./nb":"6ce3","./nb.js":"6ce3","./ne":"3a39","./ne.js":"3a39","./nl":"facd","./nl-be":"db29","./nl-be.js":"db29","./nl.js":"facd","./nn":"b84c","./nn.js":"b84c","./oc-lnc":"167b","./oc-lnc.js":"167b","./pa-in":"f3ff","./pa-in.js":"f3ff","./pl":"8d57","./pl.js":"8d57","./pt":"f260","./pt-br":"d2d4","./pt-br.js":"d2d4","./pt.js":"f260","./ro":"972c","./ro.js":"972c","./ru":"957c","./ru.js":"957c","./sd":"6784","./sd.js":"6784","./se":"ffff","./se.js":"ffff","./si":"eda5","./si.js":"eda5","./sk":"7be6","./sk.js":"7be6","./sl":"8155","./sl.js":"8155","./sq":"c8f3","./sq.js":"c8f3","./sr":"cf1e","./sr-cyrl":"13e9","./sr-cyrl.js":"13e9","./sr.js":"cf1e","./ss":"52bd","./ss.js":"52bd","./sv":"5fbd","./sv.js":"5fbd","./sw":"74dc","./sw.js":"74dc","./ta":"3de5","./ta.js":"3de5","./te":"5cbb","./te.js":"5cbb","./tet":"576c","./tet.js":"576c","./tg":"3b1b","./tg.js":"3b1b","./th":"10e8","./th.js":"10e8","./tk":"5aff","./tk.js":"5aff","./tl-ph":"0f38","./tl-ph.js":"0f38","./tlh":"cf755","./tlh.js":"cf755","./tr":"0e81","./tr.js":"0e81","./tzl":"cf51","./tzl.js":"cf51","./tzm":"c109","./tzm-latn":"b53d","./tzm-latn.js":"b53d","./tzm.js":"c109","./ug-cn":"6117","./ug-cn.js":"6117","./uk":"ada2","./uk.js":"ada2","./ur":"5294","./ur.js":"5294","./uz":"2e8c","./uz-latn":"010e","./uz-latn.js":"010e","./uz.js":"2e8c","./vi":"2921","./vi.js":"2921","./x-pseudo":"fd7e","./x-pseudo.js":"fd7e","./yo":"7f33","./yo.js":"7f33","./zh-cn":"5c3a","./zh-cn.js":"5c3a","./zh-hk":"49ab","./zh-hk.js":"49ab","./zh-mo":"3a6c","./zh-mo.js":"3a6c","./zh-tw":"90ea","./zh-tw.js":"90ea"};function a(e){var t=r(e);return i(t)}function r(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}a.keys=function(){return Object.keys(n)},a.resolve=r,e.exports=a,a.id="4678"},"49f8":function(e,t,i){var n={"./de.json":"6ce2","./en.json":"edd4","./nl.json":"a625","./sv.json":"4c5b"};function a(e){var t=r(e);return i(t)}function r(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}a.keys=function(){return Object.keys(n)},a.resolve=r,e.exports=a,a.id="49f8"},"4c5b":function(e){e.exports=JSON.parse('{"import_running":"Import pågår, var god vänta!","all_fields_optional":"Alla rutor är valfria och kan lämnas tomma.","convert_internal":"Konvertera till internt recept","Log_Recipe_Cooking":"Logga tillagningen av receptet","External_Recipe_Image":"Externt receptbild","Add_to_Book":"Lägg till i kokbok","Add_to_Shopping":"Lägg till i handelslista","Add_to_Plan":"Lägg till i matsedel","Step_start_time":"Steg starttid","Select_Book":"Välj kokbok","Recipe_Image":"Receptbild","Import_finished":"Importering klar","View_Recipes":"Visa recept","Log_Cooking":"Logga tillagning","Proteins":"Protein","Fats":"Fett","Carbohydrates":"Kolhydrater","Calories":"Kalorier","Nutrition":"Näringsinnehåll","Date":"Datum","Share":"Dela","Export":"Exportera","Rating":"Betyg","Close":"Stäng","Add":"Lägg till","Ingredients":"Ingredienser","min":"min","Servings":"Portioner","Waiting":"Väntan","Preparation":"Förberedelse","Edit":"Redigera","Open":"Öppna","Save":"Spara","Step":"Steg","Search":"Sök","Import":"Importera","Print":"Skriv ut","Information":"Information"}')},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Import","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":"Zubereitung","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"}')},"7c15":function(e,t,i){"use strict";i.d(t,"c",(function(){return s})),i.d(t,"d",(function(){return o})),i.d(t,"b",(function(){return c})),i.d(t,"a",(function(){return l}));var n=i("bc3a"),a=i.n(n),r=i("fa7d");function s(e){var t=Object(r["g"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),a.a.get(t).then((function(e){return e.data})).catch((function(e){d(e,"There was an error loading a resource!","danger")}))}function o(e){return a.a.post(Object(r["g"])("api:cooklog-list"),e).then((function(e){Object(r["f"])("Saved","Cook Log entry saved!","success")})).catch((function(e){d(e,"There was an error creating a resource!","danger")}))}function c(e){return a.a.get(Object(r["g"])("api:recipebook-list")+"?query="+e).then((function(e){return e.data})).catch((function(e){}))}function l(e){return a.a.post(Object(r["g"])("api:recipebookentry-list"),e).then((function(e){Object(r["f"])("Saved","Recipe Book entry saved!","success")})).catch((function(e){d(e,"There was an error creating a resource!","danger")}))}function d(e,t){if("response"in e){console.log(e.response);var i="statusText"in e.response?e.response.statusText:Object(r["e"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(r["f"])(i,t,"danger")}else Object(r["f"])("Error",t,"danger"),console.log(e)}a.a.defaults.xsrfCookieName="csrftoken",a.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.recipe.keywords.length>0?i("div",e._l(e.recipe.keywords,(function(t){return i("small",{key:t.id,staticStyle:{padding:"2px"}},[i("b-badge",{attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},a=[],r={name:"Keywords",props:{recipe:Object}},s=r,o=i("2877"),c=Object(o["a"])(s,n,a,!1,null,null,null);t["a"]=c.exports},9225:function(e,t,i){"use strict";i("159b"),i("d3b7"),i("ddb0"),i("ac1f"),i("466d");var n=i("a026"),a=i("a925");function r(){var e=i("49f8"),t={};return e.keys().forEach((function(i){var n=i.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var a=n[1];t[a]=e(i)}})),t}n["default"].use(a["a"]),t["a"]=new a["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: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"}')},d76c:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},a=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"row"},[i("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[i("img",{staticClass:"spinner-tandoor",staticStyle:{height:"30vh"},attrs:{alt:"loading spinner",src:""}})])])}],r={name:"LoadingSpinner",props:{recipe:Object}},s=r,o=i("2877"),c=Object(o["a"])(s,n,a,!1,null,null,null);t["a"]=c.exports},edd4:function(e){e.exports=JSON.parse('{"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","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Book":"Add to Book","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","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","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Export":"Export","Rating":"Rating","Close":"Close","Add":"Add","New":"New","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Edit":"Edit","Open":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information"}')},fa7d:function(e,t,i){"use strict";i.d(t,"c",(function(){return r})),i.d(t,"f",(function(){return s})),i.d(t,"a",(function(){return o})),i.d(t,"e",(function(){return c})),i.d(t,"b",(function(){return l})),i.d(t,"g",(function(){return d})),i.d(t,"d",(function(){return u}));i("99af");var n=i("59e4");function a(e,t,i){var n=Math.floor(e),a=1,r=n+1,s=1;if(e!==n)while(a<=t&&s<=t){var o=(n+r)/(a+s);if(e===o){a+s<=t?(a+=s,n+=r,s=t+1):a>s?s=t+1:a=t+1;break}et&&(a=s,n=r),!i)return[0,n,a];var c=Math.floor(n/a);return[c,n-c*a,a]}var r={methods:{makeToast:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return s(e,t,i)}}};function s(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=new n["a"];a.$bvToast.toast(t,{title:e,variant:i,toaster:"b-toaster-top-center",solid:!0})}var o={methods:{_:function(e){return c(e)}}};function c(e){return window.gettext(e)}var l={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return d(e,t)}}};function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null!==t?window.Urls[e](t):window.Urls[e]()}function p(e){return window.USER_PREF[e]}function u(e,t){if(p("use_fractions")){var i="",n=a(e*t,9,!0);return n[0]>0&&(i+=n[0]),n[1]>0&&(i+=" ".concat(n[1],"").concat(n[2],"")),i}return f(e*t)}function f(e){var t=p("user_fractions")?p("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}},fc0d:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"dropdown"},[e._m(0),i("div",{staticClass:"dropdown-menu dropdown-menu-right",attrs:{"aria-labelledby":"dropdownMenuLink"}},[i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_recipe",e.recipe.id)}},[i("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e.$t("Edit")))]),e.recipe.internal?e._e():i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_convert_recipe",e.recipe.id)}},[i("i",{staticClass:"fas fa-exchange-alt fa-fw"}),e._v(" "+e._s(e.$t("convert_internal")))]),i("button",{staticClass:"dropdown-item",on:{click:function(t){return e.$bvModal.show("id_modal_add_book")}}},[i("i",{staticClass:"fas fa-bookmark fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Book"))+" ")]),e.recipe.internal?i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_shopping")+"?r=["+e.recipe.id+","+e.servings_value+"]",target:"_blank",rel:"noopener noreferrer"}},[i("i",{staticClass:"fas fa-shopping-cart fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Shopping"))+" ")]):e._e(),i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_meal_plan")+"?recipe="+e.recipe.id,target:"_blank",rel:"noopener noreferrer"}},[i("i",{staticClass:"fas fa-calendar fa-fw"}),e._v(" "+e._s(e.$t("Add_to_Plan"))+" ")]),i("button",{staticClass:"dropdown-item",on:{click:function(t){return e.$bvModal.show("id_modal_cook_log")}}},[i("i",{staticClass:"fas fa-clipboard-list fa-fw"}),e._v(" "+e._s(e.$t("Log_Cooking"))+" ")]),i("button",{staticClass:"dropdown-item",attrs:{onclick:"window.print()"}},[i("i",{staticClass:"fas fa-print fa-fw"}),e._v(" "+e._s(e.$t("Print"))+" ")]),i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_export")+"?r="+e.recipe.id,target:"_blank",rel:"noopener noreferrer"}},[i("i",{staticClass:"fas fa-file-export fa-fw"}),e._v(" "+e._s(e.$t("Export")))]),e.recipe.internal?i("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_share_link",e.recipe.id),target:"_blank",rel:"noopener noreferrer"}},[i("i",{staticClass:"fas fa-share-alt fa-fw"}),e._v(" "+e._s(e.$t("Share")))]):e._e()])]),i("cook-log",{attrs:{recipe:e.recipe}})],1)},a=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{staticClass:"btn shadow-none",attrs:{href:"#",role:"button",id:"dropdownMenuLink","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}},[i("i",{staticClass:"fas fa-ellipsis-v"})])}],r=(i("a9e3"),i("fa7d")),s=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("b-modal",{staticClass:"modal",attrs:{id:"id_modal_cook_log",title:e.$t("Log_Recipe_Cooking"),"ok-title":e.$t("Save"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.logCook()}}},[i("p",[e._v(e._s(e.$t("all_fields_optional")))]),i("form",[i("label",{attrs:{for:"id_log_servings"}},[e._v(e._s(e.$t("Servings")))]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.logObject.servings,expression:"logObject.servings"}],staticClass:"form-control",attrs:{type:"number",id:"id_log_servings"},domProps:{value:e.logObject.servings},on:{input:function(t){t.target.composing||e.$set(e.logObject,"servings",t.target.value)}}}),i("label",{staticStyle:{"margin-top":"2vh"}},[e._v(e._s(e.$t("Rating"))+" - "),i("span",{attrs:{id:"id_rating_show"}},[e._v(e._s(e.logObject.rating)+"/5")])]),i("b-form-rating",{model:{value:e.logObject.rating,callback:function(t){e.$set(e.logObject,"rating",t)},expression:"logObject.rating"}}),i("label",{staticStyle:{"margin-top":"2vh"},attrs:{for:"id_date"}},[e._v(e._s(e.$t("Date")))]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.logObject.created_at,expression:"logObject.created_at"}],staticClass:"form-control",attrs:{type:"datetime-local",id:"id_date"},domProps:{value:e.logObject.created_at},on:{input:function(t){t.target.composing||e.$set(e.logObject,"created_at",t.target.value)}}})],1)])],1)},o=[],c=i("c1df"),l=i.n(c),d=i("a026"),p=i("5f5b"),u=i("7c15");d["default"].prototype.moment=l.a,d["default"].use(p["a"]);var f={name:"CookLog",props:{recipe:Object},data:function(){return{logObject:{recipe:this.recipe.id,servings:0,rating:0,created_at:l()().format("yyyy-MM-DDTHH:mm")}}},methods:{logCook:function(){Object(u["d"])(this.logObject)}}},_=f,m=i("2877"),g=Object(m["a"])(_,s,o,!1,null,null,null),v=g.exports,b={name:"RecipeContextMenu",mixins:[r["b"]],components:{CookLog:v},data:function(){return{servings_value:0}},props:{recipe:Object,servings:{type:Number,default:-1}},mounted:function(){this.servings_value=-1===this.servings?this.recipe.servings:this.servings}},h=b,j=Object(m["a"])(h,n,a,!1,null,null,null);t["a"]=j.exports}}); \ No newline at end of file diff --git a/cookbook/templates/account/login.html b/cookbook/templates/account/login.html index 0e830030d..fe6a633ce 100644 --- a/cookbook/templates/account/login.html +++ b/cookbook/templates/account/login.html @@ -1,6 +1,7 @@ {% extends "base.html" %} {% load crispy_forms_filters %} {% load i18n %} +{% load static %} {% load account socialaccount %} @@ -8,6 +9,7 @@ {% block content %} +

{% trans "Sign In" %}

@@ -17,6 +19,7 @@
+
diff --git a/cookbook/templates/account/password_reset.html b/cookbook/templates/account/password_reset.html index 1071dee07..8bc2b0f4c 100644 --- a/cookbook/templates/account/password_reset.html +++ b/cookbook/templates/account/password_reset.html @@ -8,25 +8,31 @@ {% block content %} -

{% trans "Password Reset" %}

- {% if user.is_authenticated %} - {% include "account/snippets/already_logged_in.html" %} - {% endif %} +
+
+

{% trans "Password Reset" %}

+ {% if user.is_authenticated %} + {% include "account/snippets/already_logged_in.html" %} + {% endif %} +
+
- {% if EMAIL_ENABLED %} -

{% trans "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}

- -
- {% csrf_token %} - {{ form | crispy }} - - {% trans "Sign In" %} - {% trans "Sign Up" %} -
- {% else %} -

{% trans 'Password reset is disabled on this instance.' %}

- {% endif %} +
+
+
+ {% if EMAIL_ENABLED %} +

{% trans "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}

+
+ {% csrf_token %} + {{ form | crispy }} + +
+ {% else %} +

{% trans 'Password reset is disabled on this instance.' %}

+ {% endif %} +
+
{% endblock %} \ No newline at end of file diff --git a/cookbook/templates/account/signup.html b/cookbook/templates/account/signup.html index 1c8f28ece..f124621bc 100644 --- a/cookbook/templates/account/signup.html +++ b/cookbook/templates/account/signup.html @@ -7,52 +7,65 @@ {% block content %} -

{% trans 'Create your Account' %}

+
+
+

{% trans "Create an Account" %}

+
+
-
- {% csrf_token %} +
+
+
+ + {% csrf_token %} -
- {{ form.username |as_crispy_field }} -
-
- {{ form.email |as_crispy_field }} -
-
- {{ form.password1 |as_crispy_field }} -
-
- {{ form.password2 |as_crispy_field }} -
+
+ {{ form.username |as_crispy_field }} +
+
+ {{ form.email |as_crispy_field }} +
+
+ {{ form.password1 |as_crispy_field }} +
+
+ {{ form.password2 |as_crispy_field }} +
- {% if TERMS_URL != '' or PRIVACY_URL != '' %} -
- {{ form.terms |as_crispy_field }} - - {% trans 'I accept the follwoing' %} - {% if TERMS_URL != '' %} - {% trans 'Terms and Conditions' %} - {% endif %} {% if TERMS_URL != '' or PRIVACY_URL != '' %} - {% trans 'and' %} - {% endif %} - {% if PRIVACY_URL != '' %} - {% trans 'Privacy Policy' %} - {% endif %} - -
- {% endif %} +
+ {{ form.terms |as_crispy_field }} + + {% trans 'I accept the follwoing' %} + {% if TERMS_URL != '' %} + {% trans 'Terms and Conditions' %} + {% endif %} + {% if TERMS_URL != '' or PRIVACY_URL != '' %} + {% trans 'and' %} + {% endif %} + {% if PRIVACY_URL != '' %} + {% trans 'Privacy Policy' %} + {% endif %} + +
+ {% endif %} - {% if CAPTCHA_ENABLED %} -
- {{ form.captcha.errors }} - {{ form.captcha }} -
- {% endif %} + {% if CAPTCHA_ENABLED %} +
+ {{ form.captcha.errors }} + {{ form.captcha }} +
+ {% endif %} - - + + -

{% trans 'Already have an account?' %} {% trans "Sign In" %}

+

{% trans 'Already have an account?' %} {% trans "Sign In" %}

+
+ +
{% endblock %} \ No newline at end of file diff --git a/cookbook/templates/account/signup_closed.html b/cookbook/templates/account/signup_closed.html index 355d5a44b..48f29d9ff 100644 --- a/cookbook/templates/account/signup_closed.html +++ b/cookbook/templates/account/signup_closed.html @@ -5,9 +5,14 @@ {% block title %}{% trans "Sign Up Closed" %}{% endblock %} {% block content %} -

{% trans "Sign Up Closed" %}

+
+
+
+

{% trans "Sign Up Closed" %}

-

{% trans "We are sorry, but the sign up is currently closed." %}

+

{% trans "We are sorry, but the sign up is currently closed." %}

- {% trans "Sign In" %} + {% trans "Sign In" %} +
+
{% endblock %} \ No newline at end of file diff --git a/cookbook/templates/base.html b/cookbook/templates/base.html index 26907ffc1..cd9a7018c 100644 --- a/cookbook/templates/base.html +++ b/cookbook/templates/base.html @@ -31,6 +31,7 @@ + @@ -65,9 +66,9 @@ - {% if request.user.is_authenticated and request.user.userpreference.theme == request.user.userpreference.TANDOOR %} + {% if not request.user.is_authenticated or request.user.userpreference.theme == request.user.userpreference.TANDOOR %} - + {% endif %}