Merge branch 'develop' into feature/kilojoules

This commit is contained in:
vabene1111
2021-11-01 09:46:04 +01:00
committed by GitHub
44 changed files with 1284 additions and 1655 deletions

1602
vue/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -24,7 +24,7 @@
"vue-click-outside": "^1.1.0",
"vue-clickaway": "^2.2.2",
"vue-cookies": "^1.7.4",
"vue-i18n": "^8.24.4",
"vue-i18n": "^8.26.5",
"vue-infinite-loading": "^2.4.5",
"vue-multiselect": "^2.1.6",
"vue-property-decorator": "^9.1.2",
@@ -33,7 +33,7 @@
"vue2-touch-events": "^3.2.2",
"vuedraggable": "^2.24.3",
"vuex": "^3.6.0",
"workbox-webpack-plugin": "^6.1.5"
"workbox-webpack-plugin": "^6.3.0"
},
"devDependencies": {
"@kazupon/vue-i18n-loader": "^0.5.0",
@@ -44,12 +44,12 @@
"@vue/cli-plugin-pwa": "~4.5.13",
"@vue/cli-plugin-typescript": "^4.5.13",
"@vue/cli-service": "~4.5.13",
"@vue/compiler-sfc": "^3.1.1",
"@vue/compiler-sfc": "^3.2.20",
"@vue/eslint-config-typescript": "^7.0.0",
"babel-eslint": "^10.1.0",
"eslint": "^7.28.0",
"eslint-plugin-vue": "^7.10.0",
"typescript": "~4.4.3",
"eslint-plugin-vue": "^8.0.3",
"typescript": "~4.4.4",
"vue-cli-plugin-i18n": "^2.1.1",
"webpack-bundle-tracker": "1.4.0",
"workbox-expiration": "^6.3.0",

View File

@@ -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),

View File

@@ -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)

View File

@@ -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),

View File

@@ -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),

View File

@@ -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");

View File

@@ -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),

View File

@@ -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),

View File

@@ -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),

View File

@@ -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()

View File

@@ -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),

View File

@@ -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),

View File

@@ -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),

View File

@@ -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),

View File

@@ -108,7 +108,7 @@ export default {
mixins: [ApiMixin],
components: {
GenericMultiselect,
RecipeCard: () => import('./RecipeCard.vue')
RecipeCard: () => import('@/components/RecipeCard.vue')
},
data() {
return {

View File

@@ -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",

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -48,7 +48,7 @@ module.exports = {
filenameHashing: false,
productionSourceMap: false,
publicPath: process.env.NODE_ENV === 'production'
? '/static/vue'
? ''
: 'http://localhost:8080/',
outputDir: '../cookbook/static/vue/',
runtimeCompiler: true,