mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-01 04:10:06 -05:00
Merge branch 'develop' into feature/kilojoules
This commit is contained in:
@@ -4,6 +4,14 @@ import i18n from '@/i18n'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -61,10 +61,10 @@ import Vue from 'vue'
|
||||
import {BootstrapVue} from 'bootstrap-vue'
|
||||
|
||||
import 'bootstrap-vue/dist/bootstrap-vue.css'
|
||||
import {ApiApiFactory} from "../../utils/openapi/api";
|
||||
import CookbookSlider from "../../components/CookbookSlider";
|
||||
import LoadingSpinner from "../../components/LoadingSpinner";
|
||||
import {StandardToasts} from "../../utils/utils";
|
||||
import {ApiApiFactory} from "@/utils/openapi/api";
|
||||
import CookbookSlider from "@/components/CookbookSlider";
|
||||
import LoadingSpinner from "@/components/LoadingSpinner";
|
||||
import {StandardToasts} from "@/utils/utils";
|
||||
|
||||
Vue.use(BootstrapVue)
|
||||
|
||||
|
||||
@@ -4,6 +4,14 @@ import i18n from '@/i18n'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -4,6 +4,14 @@ import i18n from '@/i18n'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -231,22 +231,24 @@
|
||||
|
||||
<script>
|
||||
|
||||
import Vue from "vue";
|
||||
import {BootstrapVue} from 'bootstrap-vue'
|
||||
import 'bootstrap-vue/dist/bootstrap-vue.css'
|
||||
|
||||
import ContextMenu from "@/components/ContextMenu/ContextMenu";
|
||||
import ContextMenuItem from "@/components/ContextMenu/ContextMenuItem";
|
||||
import {CalendarView, CalendarMathMixin} from "vue-simple-calendar/src/components/bundle";
|
||||
import Vue from "vue";
|
||||
import {ApiApiFactory} from "@/utils/openapi/api";
|
||||
import MealPlanCard from "../../components/MealPlanCard";
|
||||
import moment from 'moment'
|
||||
import {ApiMixin, StandardToasts} from "@/utils/utils";
|
||||
import MealPlanEditModal from "../../components/MealPlanEditModal";
|
||||
import VueCookies from "vue-cookies";
|
||||
import MealPlanCard from "@/components/MealPlanCard";
|
||||
import MealPlanEditModal from "@/components/MealPlanEditModal";
|
||||
import MealPlanCalenderHeader from "@/components/MealPlanCalenderHeader";
|
||||
import EmojiInput from "../../components/Modals/EmojiInput";
|
||||
import draggable from 'vuedraggable'
|
||||
import EmojiInput from "@/components/Modals/EmojiInput";
|
||||
|
||||
import moment from "moment"
|
||||
import draggable from "vuedraggable"
|
||||
import VueCookies from "vue-cookies";
|
||||
|
||||
import {ApiMixin, StandardToasts} from "@/utils/utils";
|
||||
import {CalendarView, CalendarMathMixin} from "vue-simple-calendar/src/components/bundle";
|
||||
import {ApiApiFactory} from "@/utils/openapi/api";
|
||||
|
||||
const {makeToast} = require("@/utils/utils");
|
||||
|
||||
|
||||
@@ -4,6 +4,13 @@ import i18n from '@/i18n'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -4,6 +4,14 @@ import i18n from '@/i18n'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -4,6 +4,14 @@ import i18n from "@/i18n";
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -93,22 +93,28 @@
|
||||
<h5 class="d-table-cell align-middle">{{ $t('Nutrition') }}</h5>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<button type="button" @click="addNutrition()"
|
||||
class="btn btn-sm btn-light shadow-none float-right" v-b-toggle.id_nutrition_collapse
|
||||
v-if="recipe.nutrition === null"><i class="fas fa-plus-circle"></i>
|
||||
<button type="button" @click="addNutrition()" v-if="recipe.nutrition === null"
|
||||
v-b-tooltip.hover v-bind:title="$t('Add_nutrition_recipe')"
|
||||
class="btn btn-sm btn-success shadow-none float-right" ><i class="fas fa-plus-circle"></i>
|
||||
</button>
|
||||
<button type="button" @click="removeNutrition()" v-if="recipe.nutrition !== null"
|
||||
v-b-toggle.id_nutrition_collapse
|
||||
class="btn btn-sm btn-light shadow-none float-right"><i class="fas fa-minus-circle"></i>
|
||||
v-b-tooltip.hover v-bind:title="$t('Remove_nutrition_recipe')"
|
||||
class="btn btn-sm btn-danger shadow-none float-right"><i class="fas fa-trash-alt"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<b-collapse id="id_nutrition_collapse" class="mt-2">
|
||||
<div class="card-body " v-if="recipe.nutrition">
|
||||
<b-collapse id="id_nutrition_collapse" class="mt-2" v-model="nutrition_visible">
|
||||
<div class="card-body " v-if="recipe.nutrition !== null">
|
||||
<b-alert show>
|
||||
There is currently only very basic support for tracking nutritional information.
|
||||
A <a href="https://github.com/vabene1111/recipes/issues/896" target="_blank" rel="noreferrer nofollow">big update</a> is planned to improve on this in many different areas.
|
||||
</b-alert>
|
||||
|
||||
<label for="id_name"> {{ $t(energy()) }}</label>
|
||||
|
||||
<input class="form-control" id="id_calories" v-model="recipe.nutrition.calories">
|
||||
|
||||
<label for="id_name"> {{ $t('Carbohydrates') }}</label>
|
||||
@@ -461,7 +467,8 @@
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-md-3 col-6">
|
||||
<button type="button" @click="updateRecipe(true)" v-b-tooltip.hover :title="`${$t('Key_Ctrl')} + ${$t('Key_Shift')} + S`"
|
||||
<button type="button" @click="updateRecipe(true)" v-b-tooltip.hover
|
||||
:title="`${$t('Key_Ctrl')} + ${$t('Key_Shift')} + S`"
|
||||
class="btn btn-sm btn-block btn-success shadow-none">{{ $t('Save_and_View') }}
|
||||
</button>
|
||||
</div>
|
||||
@@ -505,7 +512,7 @@ Vue.use(VueMarkdownEditor);
|
||||
Vue.use(BootstrapVue)
|
||||
|
||||
export default {
|
||||
name: 'RecipeSearchView',
|
||||
name: 'RecipeEditView',
|
||||
mixins: [ResolveUrlMixin, ApiMixin],
|
||||
components: {Multiselect, LoadingSpinner, draggable},
|
||||
data() {
|
||||
@@ -527,7 +534,11 @@ export default {
|
||||
}
|
||||
|
||||
},
|
||||
computed: {},
|
||||
computed: {
|
||||
nutrition_visible: function () {
|
||||
return this.recipe.nutrition !== null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
this.loadRecipe()
|
||||
|
||||
@@ -4,6 +4,14 @@ import i18n from '@/i18n'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -4,6 +4,14 @@ import i18n from '@/i18n'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -4,6 +4,14 @@ import i18n from "@/i18n";
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -4,6 +4,14 @@ import i18n from '@/i18n'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// TODO move this and other default stuff to centralized JS file (verify nothing breaks)
|
||||
let publicPath = localStorage.STATIC_URL + 'vue/'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
publicPath = 'http://localhost:8080/'
|
||||
}
|
||||
export default __webpack_public_path__ = publicPath // eslint-disable-line
|
||||
|
||||
|
||||
new Vue({
|
||||
i18n,
|
||||
render: h => h(App),
|
||||
|
||||
@@ -108,7 +108,7 @@ export default {
|
||||
mixins: [ApiMixin],
|
||||
components: {
|
||||
GenericMultiselect,
|
||||
RecipeCard: () => import('./RecipeCard.vue')
|
||||
RecipeCard: () => import('@/components/RecipeCard.vue')
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
"Recipes_per_page": "Recipes per Page",
|
||||
"Show_as_header": "Show as header",
|
||||
"Hide_as_header": "Hide as header",
|
||||
"Add_nutrition_recipe": "Add nutrition to recipe",
|
||||
"Remove_nutrition_recipe": "Delete nutrition from recipe",
|
||||
"Copy_template_reference": "Copy template reference",
|
||||
"Save_and_View": "Save & View",
|
||||
"Manage_Books": "Manage Books",
|
||||
|
||||
@@ -120,5 +120,17 @@
|
||||
"move_title": "Déplacer {type}",
|
||||
"del_confirmation_tree": "Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?",
|
||||
"warning_feature_beta": "Cette fonctionnalité est actuellement en phase BETA (test). Veuillez vous attendre à des bugs et éventuellement à des changements avenir (éventuellement la perte de données liées aux fonctionnalités) lorsque vous utilisez cette fonctionnalité.",
|
||||
"confirm_delete": "Voulez-vous vraiment supprimer {objet} ?"
|
||||
"confirm_delete": "Voulez-vous vraiment supprimer {objet} ?",
|
||||
"Note": "Noter",
|
||||
"Add_Step": "Ajouter une étape",
|
||||
"Step_Name": "Nom de l'étape",
|
||||
"Parameter": "Paramètre",
|
||||
"Automation": "Automatisation",
|
||||
"Text": "Texte",
|
||||
"Color": "Couleur",
|
||||
"New_Meal_Type": "Nouveau type de repas",
|
||||
"Select_File": "Choisir le fichier",
|
||||
"Shopping_list": "Liste de courses",
|
||||
"Save_and_View": "Sauvegarder et visualiser",
|
||||
"step_time_minutes": "Temps passé en minute"
|
||||
}
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
"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",
|
||||
"Log_Recipe_Cooking": "Bereiding loggen",
|
||||
"External_Recipe_Image": "Externe Afbeelding Recept",
|
||||
"Add_to_Book": "Voeg toe aan Boek",
|
||||
"Add_to_Shopping": "Voeg toe aan Boodschappenlijst",
|
||||
"Add_to_Shopping": "Voeg toe aan winkelen",
|
||||
"Add_to_Plan": "Voeg toe aan Plan",
|
||||
"Step_start_time": "Starttijd stap",
|
||||
"Select_Book": "Selecteer Boek",
|
||||
"Select_Book": "Selecteer boek",
|
||||
"Recipe_Image": "Afbeelding Recept",
|
||||
"Import_finished": "Importeren gereed",
|
||||
"View_Recipes": "Bekijk Recepten",
|
||||
@@ -76,8 +76,8 @@
|
||||
"Delete": "Verwijder",
|
||||
"Ok": "Open",
|
||||
"Load_More": "Laad meer",
|
||||
"Manage_Books": "Beheer Boeken",
|
||||
"Create": "Maak",
|
||||
"Manage_Books": "Beheer boeken",
|
||||
"Create": "Voeg toe",
|
||||
"Failure": "Storing",
|
||||
"View": "Bekijk",
|
||||
"Recipes": "Recepten",
|
||||
@@ -117,8 +117,8 @@
|
||||
"Add_Step": "Voeg Stap toe",
|
||||
"Note": "Notitie",
|
||||
"delete_confirmation": "Weet je zeker dat je {source} wil verwijderen?",
|
||||
"Ignore_Shopping": "Negeer Boodschappen",
|
||||
"Shopping_Category": "Boodschappen Categorie",
|
||||
"Ignore_Shopping": "Negeer winkelen",
|
||||
"Shopping_Category": "Boodschappencategorie",
|
||||
"Edit_Food": "Bewerk Eten",
|
||||
"Move_Food": "Verplaats Eten",
|
||||
"New_Food": "Nieuw Eten",
|
||||
@@ -138,7 +138,7 @@
|
||||
"Keyword_Alias": "Etiket Alias",
|
||||
"Recipe_Book": "Kookboek",
|
||||
"New_Unit": "Nieuwe Eenheid",
|
||||
"Create_New_Shopping Category": "Maak nieuwe Boodschappen Categorie",
|
||||
"Create_New_Shopping Category": "Maak nieuwe boodschappencategorie",
|
||||
"delete_title": "Verwijder {type}",
|
||||
"create_title": "Nieuw {type}",
|
||||
"edit_title": "Bewerk {type}",
|
||||
@@ -166,8 +166,8 @@
|
||||
"Table_of_Contents": "Inhoudsopgave",
|
||||
"Create_New_Meal_Type": "Voeg Nieuw Maaltijdtype toe",
|
||||
"Empty": "Leeg",
|
||||
"Create_Meal_Plan_Entry": "Maak maaltijdplan regel",
|
||||
"Edit_Meal_Plan_Entry": "Bewerk maaltijdplan regel",
|
||||
"Create_Meal_Plan_Entry": "Maak maaltijdplan",
|
||||
"Edit_Meal_Plan_Entry": "Bewerk maaltijdplan",
|
||||
"Title": "Titel",
|
||||
"Week": "Week",
|
||||
"Month": "Maand",
|
||||
@@ -190,5 +190,17 @@
|
||||
"Select_File": "Selecteer Bestand",
|
||||
"Year": "Jaar",
|
||||
"Planner": "Planner",
|
||||
"file_upload_disabled": "Het uploaden van bestanden is niet ingeschakeld voor uw ruimte."
|
||||
"file_upload_disabled": "Het uploaden van bestanden is niet ingeschakeld voor uw ruimte.",
|
||||
"Export_As_ICal": "Exporteer huidige periode naar iCal formaat",
|
||||
"Week_Numbers": "Weeknummers",
|
||||
"Show_Week_Numbers": "Toon weeknummers?",
|
||||
"Export_To_ICal": "Exporteer .ics",
|
||||
"Added_To_Shopping_List": "Toegevoegd aan boodschappenlijst",
|
||||
"Shopping_List_Empty": "Je boodschappenlijst is op dit moment leeg, je kan artikelen via het context menu of een maaltijdplan (rechtermuisknop op de kaart of linkermuisknop op het menu icoon) toevoegen",
|
||||
"Next_Period": "Volgende periode",
|
||||
"Previous_Period": "Vorige periode",
|
||||
"Current_Period": "Huidige periode",
|
||||
"Next_Day": "Volgende dag",
|
||||
"Previous_Day": "Vorige dag",
|
||||
"Cannot_Add_Notes_To_Shopping": "Notities kunnen niet aan de boodschappenlijst toegevoegd worden"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user