mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2025-12-30 21:49:50 -05:00
food editor WIP
This commit is contained in:
@@ -25,15 +25,15 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fortawesome/fontawesome-free": "^6.6.0",
|
||||
"@tsconfig/node18": "^18.2.4",
|
||||
"@tsconfig/node20": "^20.1.4",
|
||||
"@types/jsdom": "^21.1.1",
|
||||
"@types/node": "^18.17.5",
|
||||
"@vitejs/plugin-vue": "^5.0.5",
|
||||
"@types/node": "^20.16.5",
|
||||
"@vitejs/plugin-vue": "^5.1.4",
|
||||
"@vue/tsconfig": "^0.5.1",
|
||||
"jsdom": "^24.1.0",
|
||||
"typescript": "^5.5.3",
|
||||
"vite": "^5.3.3",
|
||||
"vite-plugin-vuetify": "^2.0.3",
|
||||
"typescript": "^5.6.2",
|
||||
"vite": "^5.4.7",
|
||||
"vite-plugin-vuetify": "^2.0.4",
|
||||
"vue-tsc": "^2.0.26"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<invite-link-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == SupportedModels.InviteLink"></invite-link-editor>
|
||||
<user-space-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == SupportedModels.UserSpace"></user-space-editor>
|
||||
<meal-type-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == SupportedModels.MealType"></meal-type-editor>
|
||||
<property-editor :item="item" @create="createEvent" @save="saveEvent" @delete="deleteEvent" dialog @close="dialog = false" v-if="model == SupportedModels.Property"></property-editor>
|
||||
</v-dialog>
|
||||
</template>
|
||||
|
||||
@@ -16,12 +17,14 @@ import {AccessToken, Food} from "@/openapi";
|
||||
import InviteLinkEditor from "@/components/model_editors/InviteLinkEditor.vue";
|
||||
import UserSpaceEditor from "@/components/model_editors/UserSpaceEditor.vue";
|
||||
import MealTypeEditor from "@/components/model_editors/MealTypeEditor.vue";
|
||||
import PropertyEditor from "@/components/model_editors/PropertyEditor.vue";
|
||||
|
||||
enum SupportedModels {
|
||||
AccessToken = 'AccessToken',
|
||||
InviteLink = 'InviteLink',
|
||||
UserSpace = 'UserSpace',
|
||||
MealType = 'MealType',
|
||||
Property = 'Property',
|
||||
}
|
||||
|
||||
const emit = defineEmits(['create', 'save', 'delete'])
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<template>
|
||||
<v-input :hint="hint" persistent-hint :label="label">
|
||||
<!-- TODO label is not showing for some reason, for now in placeholder -->
|
||||
<!-- TODO support density prop -->
|
||||
<v-input :hint="hint" persistent-hint :label="label" class="">
|
||||
|
||||
<!-- TODO resolve-on-load false for now, race condition with model class, make prop once better solution is found -->
|
||||
<!-- TODO strange behavior/layering issues with appendTo body, find solution to make it work -->
|
||||
<!-- TODO label is not showing for some reason -->
|
||||
|
||||
<Multiselect
|
||||
:id="id"
|
||||
@@ -24,7 +25,7 @@
|
||||
:can-clear="canClear"
|
||||
:can-deselect="canClear"
|
||||
:limit="limit"
|
||||
:placeholder="$t('Search')"
|
||||
:placeholder="label"
|
||||
:noOptionsText="$t('No_Results')"
|
||||
:noResultsText="$t('No_Results')"
|
||||
/>
|
||||
|
||||
@@ -1,13 +1,77 @@
|
||||
<template>
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
{{ $t(OBJ_LOCALIZATION_KEY) }}
|
||||
{{ $t(OBJ_LOCALIZATION_KEY) }} <span class="text-disabled">{{ editingObj.name }}</span>
|
||||
<v-btn class="float-right" icon="$close" variant="plain" @click="emit('close')" v-if="dialog"></v-btn>
|
||||
</v-card-title>
|
||||
<v-tabs v-model="tab">
|
||||
<v-tab value="food">{{ $t('Food') }}</v-tab>
|
||||
<v-tab value="properties">{{ $t('Properties') }}</v-tab>
|
||||
<v-tab value="conversions">{{ $t('Conversion') }}</v-tab>
|
||||
<v-tab value="misc">{{ $t('Miscellaneous') }}</v-tab>
|
||||
</v-tabs>
|
||||
|
||||
<v-card-text>
|
||||
<v-form>
|
||||
<v-text-field v-model="editingObj.name"></v-text-field>
|
||||
</v-form>
|
||||
<v-tabs-window v-model="tab">
|
||||
<v-tabs-window-item value="food">
|
||||
<v-form>
|
||||
<v-text-field :label="$t('Name')" v-model="editingObj.name"></v-text-field>
|
||||
<v-text-field :label="$t('Plural')" v-model="editingObj.pluralName"></v-text-field>
|
||||
<v-textarea :label="$t('Description')" v-model="editingObj.description"></v-textarea>
|
||||
<!-- TODO fix card overflow invisible, overflow-visible class is not working -->
|
||||
<model-select :label="$t('Category')" v-model="editingObj.supermarketCategory" model="SupermarketCategory"></model-select>
|
||||
</v-form>
|
||||
</v-tabs-window-item>
|
||||
|
||||
<v-tabs-window-item value="properties">
|
||||
<v-alert icon="$help">{{ $t('PropertiesFoodHelp') }}</v-alert>
|
||||
<v-form class="mt-5">
|
||||
<v-number-input :label="$t('Properties_Food_Amount')" v-model="editingObj.propertiesFoodAmount"></v-number-input>
|
||||
<model-select :label="$t('Properties_Food_Unit')" v-model="editingObj.propertiesFoodUnit" model="Unit"></model-select>
|
||||
|
||||
<v-btn-group density="compact">
|
||||
<v-btn color="create" @click="editingObj.properties.push({} as Property)" prepend-icon="$create">{{ $t('Add') }}</v-btn>
|
||||
<v-btn color="secondary" @click="addAllProperties" prepend-icon="fa-solid fa-list">{{ $t('AddAll') }}</v-btn>
|
||||
</v-btn-group>
|
||||
|
||||
<v-row class="mt-2" v-for="p in editingObj.properties" dense>
|
||||
<v-col cols="0" md="5">
|
||||
<v-number-input :step="10" v-model="p.propertyAmount" control-variant="stacked">
|
||||
<template #append-inner v-if="p.propertyType">
|
||||
<v-chip class="me-4">{{ p.propertyType.unit }} / {{ editingObj.propertiesFoodAmount }} <span v-if="editingObj.propertiesFoodUnit"> {{
|
||||
editingObj.propertiesFoodUnit.name
|
||||
}}</span>
|
||||
</v-chip>
|
||||
</template>
|
||||
</v-number-input>
|
||||
</v-col>
|
||||
<v-col cols="0" md="6">
|
||||
<!-- TODO fix card overflow invisible, overflow-visible class is not working -->
|
||||
<model-select :label="$t('Property')" v-model="p.propertyType" model="PropertyType"></model-select>
|
||||
</v-col>
|
||||
<v-col cols="0" md="1">
|
||||
<v-btn color="delete" @click="deleteFoodProperty(p)">
|
||||
<v-icon icon="$delete"></v-icon>
|
||||
</v-btn>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-list >
|
||||
<v-list-item v-for="p in editingObj.properties" border>
|
||||
<span v-if="p.propertyType">{{ p.propertyAmount }} {{p.propertyType.unit}} {{p.propertyType.name}}
|
||||
<span v-if="editingObj.propertiesFoodUnit"> / {{ editingObj.propertiesFoodAmount }} {{ editingObj.propertiesFoodUnit.name }}</span>
|
||||
</span>
|
||||
<span v-else><i><{{$t('New')}}></i></span>
|
||||
<template #append>
|
||||
<v-btn color="edit"><v-icon icon="$edit"></v-icon>
|
||||
<model-editor-dialog model="Property" :item="p"></model-editor-dialog>
|
||||
</v-btn>
|
||||
</template>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-form>
|
||||
</v-tabs-window-item>
|
||||
</v-tabs-window>
|
||||
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-btn color="delete" prepend-icon="$delete" v-if="isUpdate">{{ $t('Delete') }}
|
||||
@@ -20,11 +84,14 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
|
||||
import {computed, onMounted, ref} from "vue";
|
||||
import {ApiApi, Food} from "@/openapi";
|
||||
import {computed, onMounted, Prop, ref} from "vue";
|
||||
import {ApiApi, Food, Property, Unit} from "@/openapi";
|
||||
import DeleteConfirmDialog from "@/components/dialogs/DeleteConfirmDialog.vue";
|
||||
import {useI18n} from "vue-i18n";
|
||||
import {ErrorMessageType, PreparedMessage, useMessageStore} from "@/stores/MessageStore";
|
||||
import ModelSelect from "@/components/inputs/ModelSelect.vue";
|
||||
import {VNumberInput} from 'vuetify/labs/VNumberInput'
|
||||
import ModelEditorDialog from "@/components/dialogs/ModelEditorDialog.vue"; //TODO remove once component is out of labs
|
||||
|
||||
const {t} = useI18n()
|
||||
|
||||
@@ -40,6 +107,14 @@ const OBJ_LOCALIZATION_KEY = 'Food'
|
||||
const editingObj = ref({} as Food)
|
||||
const loading = ref(false)
|
||||
|
||||
// object specific data (for selects/display)
|
||||
const tab = ref("properties")
|
||||
const propertyTableHeaders = ref([
|
||||
{title: t('Amount'), key: 'propertyAmount'},
|
||||
{title: t('Type'), key: 'propertyType'},
|
||||
{title: t('Delete'), key: 'action', align: 'end'},
|
||||
])
|
||||
|
||||
/**
|
||||
* checks if given object has ID property to determine if it needs to be updated or created
|
||||
*/
|
||||
@@ -57,7 +132,7 @@ const objectName = computed(() => {
|
||||
onMounted(() => {
|
||||
if (props.item != null) {
|
||||
editingObj.value = props.item
|
||||
} else if(props.itemId != null){
|
||||
} else if (props.itemId != null) {
|
||||
const api = new ApiApi()
|
||||
api.apiFoodRetrieve({id: props.itemId}).then(r => {
|
||||
editingObj.value = r
|
||||
@@ -66,7 +141,8 @@ onMounted(() => {
|
||||
})
|
||||
} else {
|
||||
// functions to populate defaults for new item
|
||||
|
||||
editingObj.value.propertiesFoodAmount = 100
|
||||
editingObj.value.propertiesFoodUnit = {name: 'g'} as Unit // TODO properly fetch default unit
|
||||
}
|
||||
})
|
||||
|
||||
@@ -76,7 +152,7 @@ onMounted(() => {
|
||||
async function saveObject() {
|
||||
let api = new ApiApi()
|
||||
if (isUpdate.value) {
|
||||
api.apiFoodUpdate({id: editingObj.value.id, accessToken: editingObj.value}).then(r => {
|
||||
api.apiFoodUpdate({id: editingObj.value.id, food: editingObj.value}).then(r => {
|
||||
editingObj.value = r
|
||||
emit('save', r)
|
||||
useMessageStore().addPreparedMessage(PreparedMessage.UPDATE_SUCCESS)
|
||||
@@ -84,7 +160,7 @@ async function saveObject() {
|
||||
useMessageStore().addError(ErrorMessageType.UPDATE_ERROR, err)
|
||||
})
|
||||
} else {
|
||||
api.apiFoodCreate({accessToken: editingObj.value}).then(r => {
|
||||
api.apiFoodCreate({food: editingObj.value}).then(r => {
|
||||
editingObj.value = r
|
||||
emit('create', r)
|
||||
useMessageStore().addPreparedMessage(PreparedMessage.CREATE_SUCCESS)
|
||||
@@ -107,6 +183,34 @@ async function deleteObject() {
|
||||
})
|
||||
}
|
||||
|
||||
// ------------------------------------------------------
|
||||
// object specific functions
|
||||
// ------------------------------------------------------
|
||||
|
||||
/**
|
||||
* load list of property types from server and add all types that are not yet linked
|
||||
* to the given food to its properties
|
||||
*/
|
||||
function addAllProperties() {
|
||||
const api = new ApiApi()
|
||||
api.apiPropertyTypeList().then(r => {
|
||||
r.results.forEach(pt => {
|
||||
if (editingObj.value.properties.findIndex(x => x.propertyType.name == pt.name) == -1) {
|
||||
editingObj.value.properties.push({propertyAmount: 0, propertyType: pt} as Property)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* remove property from food
|
||||
* //TODO also delete relation in database
|
||||
* @param property property to delete
|
||||
*/
|
||||
function deleteFoodProperty(property: Property) {
|
||||
editingObj.value.properties = editingObj.value.properties.filter(p => p !== property)
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
133
vue3/src/components/model_editors/PropertyEditor.vue
Normal file
133
vue3/src/components/model_editors/PropertyEditor.vue
Normal file
@@ -0,0 +1,133 @@
|
||||
<template>
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
{{ $t(OBJ_LOCALIZATION_KEY) }}
|
||||
<v-btn class="float-right" icon="$close" variant="plain" @click="emit('close')" v-if="dialog"></v-btn>
|
||||
</v-card-title>
|
||||
|
||||
<v-card-text>
|
||||
<v-form>
|
||||
<v-number-input :step="10" v-model="editingObj.propertyAmount" control-variant="stacked">
|
||||
<template #append-inner v-if="editingObj.propertyType">
|
||||
<v-chip class="me-4">{{ editingObj.propertyType.unit }}</v-chip>
|
||||
</template>
|
||||
</v-number-input>
|
||||
<model-select :label="$t('Property')" v-model="editingObj.propertyType" model="PropertyType"></model-select>
|
||||
</v-form>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-btn color="delete" prepend-icon="$delete" v-if="isUpdate">{{ $t('Delete') }}
|
||||
<delete-confirm-dialog :object-name="objectName" @delete="deleteObject"></delete-confirm-dialog>
|
||||
</v-btn>
|
||||
<v-btn color="save" prepend-icon="$save" @click="saveObject">{{ isUpdate ? $t('Save') : $t('Create') }}</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
||||
import {computed, onMounted, ref} from "vue";
|
||||
import {ApiApi, Property} from "@/openapi";
|
||||
import DeleteConfirmDialog from "@/components/dialogs/DeleteConfirmDialog.vue";
|
||||
import {useI18n} from "vue-i18n";
|
||||
import {ErrorMessageType, PreparedMessage, useMessageStore} from "@/stores/MessageStore";
|
||||
import ModelSelect from "@/components/inputs/ModelSelect.vue";
|
||||
import {VNumberInput} from 'vuetify/labs/VNumberInput' //TODO remove once component is out of labs
|
||||
|
||||
const {t} = useI18n()
|
||||
|
||||
const emit = defineEmits(['create', 'save', 'delete', 'close'])
|
||||
|
||||
const props = defineProps({
|
||||
item: {type: {} as Property, required: false},
|
||||
itemId: {type: String, required: false},
|
||||
dialog: {type: Boolean, default: false}
|
||||
})
|
||||
|
||||
const OBJ_LOCALIZATION_KEY = 'Food'
|
||||
const editingObj = ref({} as Property)
|
||||
const loading = ref(false)
|
||||
|
||||
// object specific data (for selects/display)
|
||||
|
||||
/**
|
||||
* checks if given object has ID property to determine if it needs to be updated or created
|
||||
*/
|
||||
const isUpdate = computed(() => {
|
||||
return Object.keys(editingObj.value).length > 0
|
||||
})
|
||||
|
||||
/**
|
||||
* display name for object in headers/delete dialog/...
|
||||
*/
|
||||
const objectName = computed(() => {
|
||||
return isUpdate ? `${t(OBJ_LOCALIZATION_KEY)} ${editingObj.value.token}` : `${t(OBJ_LOCALIZATION_KEY)} (${t('New')})`
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
if (props.item != null) {
|
||||
editingObj.value = props.item
|
||||
} else if (props.itemId != null) {
|
||||
const api = new ApiApi()
|
||||
api.apiPropertyRetrieve({id: props.itemId}).then(r => {
|
||||
editingObj.value = r
|
||||
}).catch(err => {
|
||||
useMessageStore().addError(ErrorMessageType.FETCH_ERROR, err)
|
||||
})
|
||||
} else {
|
||||
// functions to populate defaults for new item
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* saves the edited object in the database
|
||||
*/
|
||||
async function saveObject() {
|
||||
let api = new ApiApi()
|
||||
if (isUpdate.value) {
|
||||
api.apiPropertyUpdate({id: editingObj.value.id, property: editingObj.value}).then(r => {
|
||||
editingObj.value = r
|
||||
emit('save', r)
|
||||
useMessageStore().addPreparedMessage(PreparedMessage.UPDATE_SUCCESS)
|
||||
}).catch(err => {
|
||||
useMessageStore().addError(ErrorMessageType.UPDATE_ERROR, err)
|
||||
})
|
||||
} else {
|
||||
api.apiPropertyCreate({property: editingObj.value}).then(r => {
|
||||
editingObj.value = r
|
||||
emit('create', r)
|
||||
useMessageStore().addPreparedMessage(PreparedMessage.CREATE_SUCCESS)
|
||||
}).catch(err => {
|
||||
useMessageStore().addError(ErrorMessageType.CREATE_ERROR, err)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* deletes the editing object from the database
|
||||
*/
|
||||
async function deleteObject() {
|
||||
if (editingObj.value.id !== undefined) {
|
||||
let api = new ApiApi()
|
||||
api.apiPropertyDestroy({id: editingObj.value.id}).then(r => {
|
||||
editingObj.value = {} as Property
|
||||
emit('delete', editingObj.value)
|
||||
}).catch(err => {
|
||||
useMessageStore().addError(ErrorMessageType.DELETE_ERROR, err)
|
||||
})
|
||||
} else {
|
||||
editingObj.value = {} as Property
|
||||
emit('delete', editingObj.value)
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------
|
||||
// object specific functions
|
||||
// ------------------------------------------------------
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "",
|
||||
"AddToShopping": "",
|
||||
"Add_Servings_to_Shopping": "",
|
||||
@@ -147,6 +148,7 @@
|
||||
"Merge": "",
|
||||
"Merge_Keyword": "",
|
||||
"Message": "",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "",
|
||||
"Move": "",
|
||||
@@ -201,6 +203,7 @@
|
||||
"Previous_Period": "",
|
||||
"Print": "",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Protected": "",
|
||||
"Proteins": "",
|
||||
"Quick actions": "",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "Добави",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Добавете {food} към списъка си за пазаруване",
|
||||
"AddToShopping": "Добавяне към списъка за пазаруване",
|
||||
"Add_Servings_to_Shopping": "Добавете {servings} порции към Пазаруване",
|
||||
@@ -141,6 +142,7 @@
|
||||
"Meal_Types": "Видове хранене",
|
||||
"Merge": "Обединяване",
|
||||
"Merge_Keyword": "Обединяване на ключова дума",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Месец",
|
||||
"Move": "Премести",
|
||||
@@ -194,6 +196,7 @@
|
||||
"Previous_Period": "Предишен период",
|
||||
"Print": "Печат",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Protected": "Защитен",
|
||||
"Proteins": "Протеини (белтъчини)",
|
||||
"Quick actions": "Бързи действия",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "",
|
||||
"Add": "",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "",
|
||||
"AddToShopping": "",
|
||||
"Add_Servings_to_Shopping": "",
|
||||
@@ -197,6 +198,7 @@
|
||||
"Merge": "",
|
||||
"Merge_Keyword": "Fusioneu paraula clau",
|
||||
"Message": "",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "",
|
||||
"Move": "",
|
||||
@@ -267,6 +269,7 @@
|
||||
"Private_Recipe_Help": "Només tu i la gent amb qui l'has compartit podran veure aquesta recepta.",
|
||||
"Profile": "",
|
||||
"Properties": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "",
|
||||
"Properties_Food_Unit": "",
|
||||
"Property": "",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Účet",
|
||||
"Add": "Přidat",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Přidat {food} na váš nákupní seznam",
|
||||
"AddToShopping": "Přidat do nákupního seznamu",
|
||||
"Add_Servings_to_Shopping": "Přidat {servings} porce na nákupní seznam",
|
||||
@@ -196,6 +197,7 @@
|
||||
"Merge": "Spojit",
|
||||
"Merge_Keyword": "Sloučit štítek",
|
||||
"Message": "Zpráva",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Měsíc",
|
||||
"Move": "Přesunout",
|
||||
@@ -265,6 +267,7 @@
|
||||
"Private_Recipe_Help": "Recept můžete zobrazit pouze vy a lidé, se kterými jej sdílíte.",
|
||||
"Profile": "",
|
||||
"Properties": "Nutriční vlastnosti",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "Množství nutriční vlastnosti",
|
||||
"Properties_Food_Unit": "Jednotka nutriční vlastnosti",
|
||||
"Property": "Nutriční vlastnost",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Bruger",
|
||||
"Add": "Tilføj",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Tilføj {food} til indkøbsliste",
|
||||
"AddToShopping": "Tilføj til indkøbsliste",
|
||||
"Add_Servings_to_Shopping": "Tilføj {servings} serveringer til indkøb",
|
||||
@@ -183,6 +184,7 @@
|
||||
"Merge": "Sammenflet",
|
||||
"Merge_Keyword": "Sammenflet nøgleord",
|
||||
"Message": "Besked",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Måned",
|
||||
"Move": "Flyt",
|
||||
@@ -250,6 +252,7 @@
|
||||
"Private_Recipe_Help": "Opskriften er kun synlig for dig, og dem som den er delt med.",
|
||||
"Profile": "",
|
||||
"Properties": "Egenskaber",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Property": "Egenskab",
|
||||
"Protected": "Beskyttet",
|
||||
"Proteins": "Proteiner",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "Zugriffstoken",
|
||||
"Account": "Konto",
|
||||
"Add": "Hinzufügen",
|
||||
"AddAll": "Alle Hinzufügen",
|
||||
"AddFoodToShopping": "Fügen Sie {food} zur Einkaufsliste hinzu",
|
||||
"AddToShopping": "Zur Einkaufsliste hinzufügen",
|
||||
"Add_Servings_to_Shopping": "{servings} Portionen zum Einkauf hinzufügen",
|
||||
@@ -199,6 +200,7 @@
|
||||
"Merge": "Zusammenführen",
|
||||
"Merge_Keyword": "Schlagworte zusammenführen",
|
||||
"Message": "Nachricht",
|
||||
"Miscellaneous": "Sonstige",
|
||||
"Monday": "Montag",
|
||||
"Month": "Monat",
|
||||
"Move": "Verschieben",
|
||||
@@ -269,6 +271,7 @@
|
||||
"Private_Recipe_Help": "Dieses Rezept ist nur für dich und Personen mit denen du es geteilt hast sichtbar.",
|
||||
"Profile": "Profil",
|
||||
"Properties": "Eigenschaften",
|
||||
"PropertiesFoodHelp": "Jedes Lebensmittel kann Eigenschaften zugeordnet bekommen. Rezepte berechnen die Summe der Eigenschaften basierend auf den verwendeten Lebensmitteln und Ihren Mengen.",
|
||||
"Properties_Food_Amount": "Eigenschaften: Lebensmittelmenge",
|
||||
"Properties_Food_Unit": "Nährwert Einheit",
|
||||
"Property": "Eigenschaft",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Λογαριασμός",
|
||||
"Add": "Προσθήκη",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Προσθήκη του φαγητού {food} στη λίστα αγορών σας",
|
||||
"AddToShopping": "Προσθήκη στη λίστα αγορών",
|
||||
"Add_Servings_to_Shopping": "Προσθήκη {servings} μερίδων στις αγορές",
|
||||
@@ -178,6 +179,7 @@
|
||||
"Merge": "Συγχώνευση",
|
||||
"Merge_Keyword": "Συγχώνευση λέξης-κλειδί",
|
||||
"Message": "Μήνυμα",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Μήνας",
|
||||
"Move": "Μετακίνηση",
|
||||
@@ -242,6 +244,7 @@
|
||||
"Private_Recipe_Help": "Η συνταγή είναι ορατή μόνο σε εσάς και στα άτομα με τα οποία την μοιράζεστε.",
|
||||
"Profile": "",
|
||||
"Properties": "Ιδιότητες",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Property": "Ιδιότητα",
|
||||
"Protected": "Προστατευμένο",
|
||||
"Proteins": "Πρωτεΐνες",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "Access Token",
|
||||
"Account": "Account",
|
||||
"Add": "Add",
|
||||
"AddAll": "Add all",
|
||||
"AddFoodToShopping": "Add {food} to your shopping list",
|
||||
"AddToShopping": "Add to shopping list",
|
||||
"Add_Servings_to_Shopping": "Add {servings} Servings to Shopping",
|
||||
@@ -199,6 +200,7 @@
|
||||
"Merge": "Merge",
|
||||
"Merge_Keyword": "Merge Keyword",
|
||||
"Message": "Message",
|
||||
"Miscellaneous": "Miscellaneous",
|
||||
"Monday": "Monday",
|
||||
"Month": "Month",
|
||||
"Move": "Move",
|
||||
@@ -270,6 +272,7 @@
|
||||
"Private_Recipe_Help": "Recipe is only shown to you and people its shared with.",
|
||||
"Profile": "Profile",
|
||||
"Properties": "Properties",
|
||||
"PropertiesFoodHelp": "Every food can have properties. Recipes calculate the properties automatically, based on the properties of their foods and the amount given in the ingredients.",
|
||||
"Properties_Food_Amount": "Properties Food Amount",
|
||||
"Properties_Food_Unit": "Properties Food Unit",
|
||||
"Property": "Property",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Cuenta",
|
||||
"Add": "Añadir",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Añadir {food} a la lista de la compra",
|
||||
"AddToShopping": "Añadir a la lista de la compra",
|
||||
"Add_Servings_to_Shopping": "Añadir {servings} raciones a la compra",
|
||||
@@ -198,6 +199,7 @@
|
||||
"Merge": "Unificar",
|
||||
"Merge_Keyword": "Fusionar palabra clave",
|
||||
"Message": "Mensaje",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Mes",
|
||||
"Move": "Mover",
|
||||
@@ -268,6 +270,7 @@
|
||||
"Private_Recipe_Help": "La receta solo podrás verla tu y la gente con la que esta compartida.",
|
||||
"Profile": "",
|
||||
"Properties": "Propiedades",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Property": "Propiedad",
|
||||
"Property_Editor": "Editor de Propiedades",
|
||||
"Protected": "Protegido",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "Lisää",
|
||||
"AddAll": "",
|
||||
"Add_Step": "Lisää Vaihe",
|
||||
"Add_nutrition_recipe": "Lisää ravintoaine reseptiin",
|
||||
"Add_to_Plan": "Lisää suunnitelmaan",
|
||||
@@ -96,6 +97,7 @@
|
||||
"Meal_Types": "Ateriatyypit",
|
||||
"Merge": "Yhdistä",
|
||||
"Merge_Keyword": "Yhdistä Avainsana",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Kuukausi",
|
||||
"Move": "Siirry",
|
||||
@@ -135,6 +137,7 @@
|
||||
"Previous_Period": "Edellinen Jakso",
|
||||
"Print": "Tulosta",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Proteins": "Proteiinit",
|
||||
"Rating": "Luokitus",
|
||||
"Recently_Viewed": "Äskettäin katsotut",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Compte",
|
||||
"Add": "Ajouter",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Ajouter l’aliment {food} à votre liste de courses",
|
||||
"AddToShopping": "Ajouter à la liste de courses",
|
||||
"Add_Servings_to_Shopping": "Ajouter {servings} portions aux courses",
|
||||
@@ -197,6 +198,7 @@
|
||||
"Merge": "Fusionner",
|
||||
"Merge_Keyword": "Fusionner le mot-clé",
|
||||
"Message": "Message",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Mois",
|
||||
"Move": "Déplacer",
|
||||
@@ -267,6 +269,7 @@
|
||||
"Private_Recipe_Help": "La recette est uniquement visible par vous et les gens avec qui elle est partagée.",
|
||||
"Profile": "",
|
||||
"Properties": "Propriétés",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "Propriété Quantité de nourriture",
|
||||
"Properties_Food_Unit": "Propriété Unité de nourriture",
|
||||
"Property": "Propriété",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "חשבון",
|
||||
"Add": "הוספה",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "הוסף {מזון} לרשימת הקניות",
|
||||
"AddToShopping": "הוסף לרשימת קניות",
|
||||
"Add_Servings_to_Shopping": "הוסף{מנה}מנות לקנייה",
|
||||
@@ -198,6 +199,7 @@
|
||||
"Merge": "איחוד",
|
||||
"Merge_Keyword": "איחוד מילת מפתח",
|
||||
"Message": "הודעה",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "חודש",
|
||||
"Move": "העברה",
|
||||
@@ -268,6 +270,7 @@
|
||||
"Private_Recipe_Help": "המתכון מוצג רק לך ולאנשים ששותפו.",
|
||||
"Profile": "",
|
||||
"Properties": "ערכים",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "הגדרות כמות אוכל",
|
||||
"Properties_Food_Unit": "הגדרות יחידת אוכל",
|
||||
"Property": "נכס",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Fiók",
|
||||
"Add": "Hozzáadás",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "{food} hozzáadása bevásárlólistához",
|
||||
"AddToShopping": "Hozzáadás a bevásárlólistához",
|
||||
"Add_Servings_to_Shopping": "",
|
||||
@@ -179,6 +180,7 @@
|
||||
"Merge": "Összefűzés",
|
||||
"Merge_Keyword": "Kulcsszó összevonása",
|
||||
"Message": "Üzenet",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Hónap",
|
||||
"Move": "Mozgatás",
|
||||
@@ -244,6 +246,7 @@
|
||||
"Private_Recipe_Help": "A recept csak Önnek és azoknak az embereknek jelenik meg, akikkel megosztotta.",
|
||||
"Profile": "",
|
||||
"Properties": "Tulajdonságok",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Property": "Tulajdonság",
|
||||
"Protected": "Védett",
|
||||
"Proteins": "Fehérjék",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "",
|
||||
"AddAll": "",
|
||||
"Add_nutrition_recipe": "Ավելացնել սննդայնություն բաղադրատոմսին",
|
||||
"Add_to_Book": "",
|
||||
"Add_to_Plan": "Ավելացնել պլանին",
|
||||
@@ -61,6 +62,7 @@
|
||||
"Meal_Plan": "Ճաշացուցակ",
|
||||
"Merge": "Միացնել",
|
||||
"Merge_Keyword": "Միացնել բանալի բառը",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Move": "Տեղափոխել",
|
||||
"Move_Food": "Տեղափոխել սննդամթերքը",
|
||||
@@ -81,6 +83,7 @@
|
||||
"Preparation": "",
|
||||
"Print": "Տպել",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Proteins": "",
|
||||
"Rating": "",
|
||||
"Recently_Viewed": "Վերջերս դիտած",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "",
|
||||
"Add": "Tambahkan",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "",
|
||||
"AddToShopping": "",
|
||||
"Add_Servings_to_Shopping": "",
|
||||
@@ -164,6 +165,7 @@
|
||||
"Merge": "Menggabungkan",
|
||||
"Merge_Keyword": "Gabungkan Kata Kunci",
|
||||
"Message": "",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "",
|
||||
"Move": "Bergerak",
|
||||
@@ -221,6 +223,7 @@
|
||||
"Private_Recipe": "Resep Pribadi",
|
||||
"Private_Recipe_Help": "Resep hanya diperlihatkan kepada Anda dan orang-orang yang dibagikan resep tersebut.",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Protected": "Terlindung",
|
||||
"Proteins": "Protein",
|
||||
"Quick actions": "",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "",
|
||||
"Add": "",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "",
|
||||
"AddToShopping": "",
|
||||
"Add_Servings_to_Shopping": "",
|
||||
@@ -197,6 +198,7 @@
|
||||
"Merge": "",
|
||||
"Merge_Keyword": "",
|
||||
"Message": "",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "",
|
||||
"Move": "",
|
||||
@@ -267,6 +269,7 @@
|
||||
"Private_Recipe_Help": "",
|
||||
"Profile": "",
|
||||
"Properties": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "",
|
||||
"Properties_Food_Unit": "",
|
||||
"Property": "",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Account",
|
||||
"Add": "Aggiungi",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Aggiungi {food} alla tua lista della spesa",
|
||||
"AddToShopping": "Aggiungi a lista della spesa",
|
||||
"Add_Servings_to_Shopping": "Aggiungi {servings} porzioni alla spesa",
|
||||
@@ -169,6 +170,7 @@
|
||||
"Merge": "Unisci",
|
||||
"Merge_Keyword": "Unisci parola chiave",
|
||||
"Message": "Messaggio",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Mese",
|
||||
"Move": "Sposta",
|
||||
@@ -229,6 +231,7 @@
|
||||
"Private_Recipe": "Ricetta privata",
|
||||
"Private_Recipe_Help": "La ricetta viene mostrata solo a te e a chi l'hai condivisa.",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Protected": "Protetto",
|
||||
"Proteins": "Proteine",
|
||||
"Quick actions": "Azioni rapide",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "",
|
||||
"Add": "",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "",
|
||||
"AddToShopping": "",
|
||||
"Add_Servings_to_Shopping": "",
|
||||
@@ -181,6 +182,7 @@
|
||||
"Merge": "",
|
||||
"Merge_Keyword": "Sujungti raktažodį",
|
||||
"Message": "",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "",
|
||||
"Move": "",
|
||||
@@ -248,6 +250,7 @@
|
||||
"Private_Recipe_Help": "",
|
||||
"Profile": "",
|
||||
"Properties": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Property": "",
|
||||
"Protected": "",
|
||||
"Proteins": "",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "",
|
||||
"Add": "Legg til",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Legg til {food] i handlelisten din",
|
||||
"AddToShopping": "Legg til i handleliste",
|
||||
"Add_Servings_to_Shopping": "Legg til {servings} serveringer i handlelisten",
|
||||
@@ -176,6 +177,7 @@
|
||||
"Merge": "Slå sammen",
|
||||
"Merge_Keyword": "Slå sammen nøkkelord",
|
||||
"Message": "Melding",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Måned",
|
||||
"Move": "Flytt",
|
||||
@@ -240,6 +242,7 @@
|
||||
"Private_Recipe_Help": "Oppskriften er bare vist til deg og dem du har delt den med.",
|
||||
"Profile": "",
|
||||
"Properties": "Egenskaper",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Property": "Egenskap",
|
||||
"Protected": "Beskyttet",
|
||||
"Proteins": "Protein",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Account",
|
||||
"Add": "Voeg toe",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Voeg {food} toe aan je boodschappenlijst",
|
||||
"AddToShopping": "Voeg toe aan boodschappenlijst",
|
||||
"Add_Servings_to_Shopping": "Voeg {servings} porties toe aan Winkelen",
|
||||
@@ -180,6 +181,7 @@
|
||||
"Merge": "Samenvoegen",
|
||||
"Merge_Keyword": "Voeg Etiket samen",
|
||||
"Message": "Bericht",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Maand",
|
||||
"Move": "Verplaats",
|
||||
@@ -244,6 +246,7 @@
|
||||
"Private_Recipe_Help": "Recept is alleen zichtbaar voor jou en de mensen waar je het mee gedeeld hebt.",
|
||||
"Profile": "",
|
||||
"Properties": "Eigenschappen",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Property": "Eigenschap",
|
||||
"Protected": "Beschermd",
|
||||
"Proteins": "Eiwitten",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Konto",
|
||||
"Add": "Dodaj",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Dodaj {food} do swojej listy zakupów",
|
||||
"AddToShopping": "Dodaj do listy zakupów",
|
||||
"Add_Servings_to_Shopping": "Dodaj {servings} porcje do zakupów",
|
||||
@@ -199,6 +200,7 @@
|
||||
"Merge": "Scal",
|
||||
"Merge_Keyword": "Scal słowa kluczowe",
|
||||
"Message": "Wiadomość",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Miesiąc",
|
||||
"Move": "Przenieś",
|
||||
@@ -269,6 +271,7 @@
|
||||
"Private_Recipe_Help": "Przepis jest widoczny tylko dla Ciebie i dla osób, którym jest udostępniany.",
|
||||
"Profile": "",
|
||||
"Properties": "Właściwości",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "Właściwości ilości żywności",
|
||||
"Properties_Food_Unit": "Właściwości jednostek żywności",
|
||||
"Property": "Właściwość",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "Adicionar",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Adicionar {food} à sua lista de compras",
|
||||
"AddToShopping": "Adicionar á lista de compras",
|
||||
"Add_Servings_to_Shopping": "Adicionar {servings} doses ás compras",
|
||||
@@ -138,6 +139,7 @@
|
||||
"Meal_Types": "Tipos de refeições",
|
||||
"Merge": "Juntar",
|
||||
"Merge_Keyword": "Unir palavra-chave",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Mês",
|
||||
"Move": "Mover",
|
||||
@@ -191,6 +193,7 @@
|
||||
"Private_Recipe": "Receita Privada",
|
||||
"Private_Recipe_Help": "A receita só é mostrada ás pessoas com que foi partilhada.",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Protected": "Protegido",
|
||||
"Proteins": "Proteínas",
|
||||
"Quick actions": "Acções Rápidas",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Conta",
|
||||
"Add": "Adicionar",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Incluir {food} na sua lista de compras",
|
||||
"AddToShopping": "Incluir na Lista de Compras",
|
||||
"Add_Servings_to_Shopping": "Adicionar {servings} porções às compras",
|
||||
@@ -191,6 +192,7 @@
|
||||
"Merge": "Mesclar",
|
||||
"Merge_Keyword": "Mesclar palavra-chave",
|
||||
"Message": "Mensagem",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Mês",
|
||||
"Move": "Mover",
|
||||
@@ -256,6 +258,7 @@
|
||||
"Private_Recipe_Help": "Receita é visível somente para você e para pessoas compartilhadas.",
|
||||
"Profile": "",
|
||||
"Properties": "Propriedades",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "Quantidade de Alimento das Propriedades",
|
||||
"Properties_Food_Unit": "Unidade de Alimento das Propriedades",
|
||||
"Property": "Propriedade",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Cont",
|
||||
"Add": "Adaugă",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Adăugă {food} în lista de cumpărături",
|
||||
"AddToShopping": "Adaugă la lista de cumpărături",
|
||||
"Add_Servings_to_Shopping": "Adăugă {servings} porții la cumpărături",
|
||||
@@ -173,6 +174,7 @@
|
||||
"Merge": "Unire",
|
||||
"Merge_Keyword": "Unește cuvânt cheie",
|
||||
"Message": "Mesaj",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Lună",
|
||||
"Move": "Mută",
|
||||
@@ -233,6 +235,7 @@
|
||||
"Private_Recipe": "Rețetă privată",
|
||||
"Private_Recipe_Help": "Rețeta este arătată doar ție și oamenilor cu care este împărtășită.",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Protected": "Protejat",
|
||||
"Proteins": "Proteine",
|
||||
"Quick actions": "Acțiuni rapide",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "Добавить",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Добавить {food} в ваш список покупок",
|
||||
"AddToShopping": "Добавить в лист покупок",
|
||||
"Add_Servings_to_Shopping": "Добавить {servings} порции в список покупок",
|
||||
@@ -127,6 +128,7 @@
|
||||
"Meal_Types": "Типы питания",
|
||||
"Merge": "Объединить",
|
||||
"Merge_Keyword": "Объеденить ключевые слова",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Месяц",
|
||||
"Move": "Переместить",
|
||||
@@ -177,6 +179,7 @@
|
||||
"Previous_Period": "Предыдущий период",
|
||||
"Print": "Распечатать",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Protected": "Защищено",
|
||||
"Proteins": "Белки",
|
||||
"Quick actions": "Быстрые действия",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "Dodaj",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Dodaj {food} v nakupovalni listek",
|
||||
"AddToShopping": "Dodaj nakupovlanemu listku",
|
||||
"Add_Step": "Dodaj korak",
|
||||
@@ -123,6 +124,7 @@
|
||||
"Meal_Types": "Tipi obroka",
|
||||
"Merge": "Združi",
|
||||
"Merge_Keyword": "Združi ključno besedo",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Mesec",
|
||||
"Move": "Premakni",
|
||||
@@ -172,6 +174,7 @@
|
||||
"Private_Recipe": "Zasebni Recept",
|
||||
"Private_Recipe_Help": "Recept je prikazan samo vam in osebam, s katerimi ga delite.",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Proteins": "Beljakovine",
|
||||
"QuickEntry": "Hitri vnos",
|
||||
"Rating": "Ocena",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Konto",
|
||||
"Add": "Lägg till",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Lägg till {food} på din inköpslista",
|
||||
"AddToShopping": "Lägg till i inköpslista",
|
||||
"Add_Servings_to_Shopping": "Lägg till {servings} portioner till inköp",
|
||||
@@ -199,6 +200,7 @@
|
||||
"Merge": "Slå samman",
|
||||
"Merge_Keyword": "Slå samman nyckelord",
|
||||
"Message": "Meddelande",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Månad",
|
||||
"Move": "Flytta",
|
||||
@@ -269,6 +271,7 @@
|
||||
"Private_Recipe_Help": "Receptet visas bara för dig och personer som det delas med.",
|
||||
"Profile": "",
|
||||
"Properties": "Egenskaper",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "Egenskaper Livsmedel Mängd",
|
||||
"Properties_Food_Unit": "Egenskaper Livsmedel Enhet",
|
||||
"Property": "Egendom",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "Hesap",
|
||||
"Add": "Ekle",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "{food}'ı alışveriş listenize ekleyin",
|
||||
"AddToShopping": "Alışveriş listesine ekle",
|
||||
"Add_Servings_to_Shopping": "Alışverişe {servings} Porsiyon Ekle",
|
||||
@@ -198,6 +199,7 @@
|
||||
"Merge": "Birleştir",
|
||||
"Merge_Keyword": "Anahtar Kelimeyi Birleştir",
|
||||
"Message": "Mesaj",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Ay",
|
||||
"Move": "Taşı",
|
||||
@@ -268,6 +270,7 @@
|
||||
"Private_Recipe_Help": "Tarif yalnızca size ve paylaştığınız kişilere gösterilir.",
|
||||
"Profile": "",
|
||||
"Properties": "Özellikler",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "Özellikler Yiyecek Miktar",
|
||||
"Properties_Food_Unit": "Özellikler Yiyecek Birim",
|
||||
"Property": "Özellik",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "Додати",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "Додати {food} до вашого списку покупок",
|
||||
"AddToShopping": "Додати до списку покупок",
|
||||
"Add_Servings_to_Shopping": "Додати {servings} Порції до Покупок",
|
||||
@@ -152,6 +153,7 @@
|
||||
"Meal_Types": "Типи страви",
|
||||
"Merge": "Об'єднати",
|
||||
"Merge_Keyword": "Об'єднати Ключове слово",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "Місяць",
|
||||
"Move": "Перемістити",
|
||||
@@ -209,6 +211,7 @@
|
||||
"Private_Recipe": "Приватний Рецепт",
|
||||
"Private_Recipe_Help": "Рецепт показаний тільки Вам і тими з ким ви поділилися їм.",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Protected": "Захищено",
|
||||
"Proteins": "Білки",
|
||||
"Quick actions": "",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"Access_Token": "",
|
||||
"Account": "账户",
|
||||
"Add": "添加",
|
||||
"AddAll": "",
|
||||
"AddFoodToShopping": "添加 {food} 到购物清单",
|
||||
"AddToShopping": "添加到购物清单",
|
||||
"Add_Servings_to_Shopping": "添加 {servings} 份到购物",
|
||||
@@ -194,6 +195,7 @@
|
||||
"Merge": "合并",
|
||||
"Merge_Keyword": "合并关键词",
|
||||
"Message": "信息",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"Month": "月份",
|
||||
"Move": "移动",
|
||||
@@ -263,6 +265,7 @@
|
||||
"Private_Recipe_Help": "食谱只有你和共享的人会显示。",
|
||||
"Profile": "",
|
||||
"Properties": "属性",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Properties_Food_Amount": "食物数量属性",
|
||||
"Properties_Food_Unit": "食品单位属性",
|
||||
"Property": "属性",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Access_Token": "",
|
||||
"Add": "",
|
||||
"AddAll": "",
|
||||
"Add_nutrition_recipe": "為食譜添加營養資訊",
|
||||
"Add_to_Plan": "加入計劃",
|
||||
"Add_to_Shopping": "加入購物清單",
|
||||
@@ -44,6 +45,7 @@
|
||||
"ManageSubscription": "",
|
||||
"Manage_Books": "管理書籍",
|
||||
"Meal_Plan": "膳食計劃",
|
||||
"Miscellaneous": "",
|
||||
"Monday": "",
|
||||
"New": "",
|
||||
"New_Recipe": "",
|
||||
@@ -56,6 +58,7 @@
|
||||
"Preparation": "",
|
||||
"Print": "",
|
||||
"Profile": "",
|
||||
"PropertiesFoodHelp": "",
|
||||
"Proteins": "",
|
||||
"Rating": "",
|
||||
"Recently_Viewed": "",
|
||||
|
||||
@@ -8,6 +8,8 @@ import {
|
||||
MealType as IMealType,
|
||||
User as IUser,
|
||||
FoodInheritField as IFoodInheritField,
|
||||
SupermarketCategory as ISupermarketCategory,
|
||||
PropertyType as IPropertyType,
|
||||
} from "@/openapi";
|
||||
|
||||
export function getModelFromStr(model_name: String) {
|
||||
@@ -33,6 +35,12 @@ export function getModelFromStr(model_name: String) {
|
||||
case 'foodinheritfield': {
|
||||
return new FoodInheritField
|
||||
}
|
||||
case 'supermarketcategory': {
|
||||
return new SupermarketCategory
|
||||
}
|
||||
case 'propertytype': {
|
||||
return new PropertyType
|
||||
}
|
||||
default: {
|
||||
throw Error(`Invalid Model ${model_name}, did you forget to register it in Models.ts?`)
|
||||
}
|
||||
@@ -152,7 +160,7 @@ export class MealType extends GenericModel<IMealType> {
|
||||
create(name: string) {
|
||||
const api = new ApiApi()
|
||||
return api.apiMealTypeCreate({mealType: {name: name} as IMealType}).then(r => {
|
||||
return r as unknown as IRecipeOverview
|
||||
return r as unknown as IMealType
|
||||
})
|
||||
}
|
||||
|
||||
@@ -202,4 +210,46 @@ export class FoodInheritField extends GenericModel<IFoodInheritField> {
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export class SupermarketCategory extends GenericModel<ISupermarketCategory> {
|
||||
|
||||
create(name: string) {
|
||||
const api = new ApiApi()
|
||||
return api.apiSupermarketCategoryCreate({supermarketCategory: {name: name} as ISupermarketCategory}).then(r => {
|
||||
return r as unknown as ISupermarketCategory
|
||||
})
|
||||
}
|
||||
|
||||
list(query: string) {
|
||||
const api = new ApiApi()
|
||||
return api.apiSupermarketCategoryList({query: query}).then(r => {
|
||||
if (r.results) {
|
||||
return r.results
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export class PropertyType extends GenericModel<IPropertyType> {
|
||||
|
||||
create(name: string) {
|
||||
const api = new ApiApi()
|
||||
return api.apiPropertyTypeCreate({propertyType: {name: name} as IPropertyType}).then(r => {
|
||||
return r as unknown as IPropertyType
|
||||
})
|
||||
}
|
||||
|
||||
list(query: string) {
|
||||
const api = new ApiApi()
|
||||
return api.apiPropertyTypeList({query: query}).then(r => {
|
||||
if (r.results) {
|
||||
return r.results
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -64,6 +64,7 @@ export default createVuetify({
|
||||
search: 'fa-solid fa-magnifying-glass',
|
||||
copy: 'fa-solid fa-copy',
|
||||
close: 'fa-solid fa-xmark',
|
||||
help: 'fa-solid fa-info',
|
||||
settings: 'fa-solid fa-sliders',
|
||||
spaces: 'fa-solid fa-database',
|
||||
shopping: 'fa-solid fa-cart-shopping',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"extends": "@tsconfig/node18/tsconfig.json",
|
||||
"extends": "@tsconfig/node20/tsconfig.json",
|
||||
"include": [
|
||||
"vite.config.*",
|
||||
"vitest.config.*",
|
||||
|
||||
243
vue3/yarn.lock
243
vue3/yarn.lock
@@ -189,90 +189,90 @@
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
|
||||
integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
|
||||
|
||||
"@rollup/rollup-android-arm-eabi@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz#f0da481244b7d9ea15296b35f7fe39cd81157396"
|
||||
integrity sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==
|
||||
"@rollup/rollup-android-arm-eabi@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5"
|
||||
integrity sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==
|
||||
|
||||
"@rollup/rollup-android-arm64@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz#82ab3c575f4235fb647abea5e08eec6cf325964e"
|
||||
integrity sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==
|
||||
"@rollup/rollup-android-arm64@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz#654ca1049189132ff602bfcf8df14c18da1f15fb"
|
||||
integrity sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==
|
||||
|
||||
"@rollup/rollup-darwin-arm64@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz#6a530452e68a9152809ce58de1f89597632a085b"
|
||||
integrity sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==
|
||||
"@rollup/rollup-darwin-arm64@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz#6d241d099d1518ef0c2205d96b3fa52e0fe1954b"
|
||||
integrity sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==
|
||||
|
||||
"@rollup/rollup-darwin-x64@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz#47727479f5ca292cf434d7e75af2725b724ecbc7"
|
||||
integrity sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==
|
||||
"@rollup/rollup-darwin-x64@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz#42bd19d292a57ee11734c980c4650de26b457791"
|
||||
integrity sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==
|
||||
|
||||
"@rollup/rollup-linux-arm-gnueabihf@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz#46193c498aa7902a8db89ac00128060320e84fef"
|
||||
integrity sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==
|
||||
"@rollup/rollup-linux-arm-gnueabihf@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz#f23555ee3d8fe941c5c5fd458cd22b65eb1c2232"
|
||||
integrity sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==
|
||||
|
||||
"@rollup/rollup-linux-arm-musleabihf@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz#22d831fe239643c1d05c98906420325cee439d85"
|
||||
integrity sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==
|
||||
"@rollup/rollup-linux-arm-musleabihf@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz#f3bbd1ae2420f5539d40ac1fde2b38da67779baa"
|
||||
integrity sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==
|
||||
|
||||
"@rollup/rollup-linux-arm64-gnu@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz#19abd33695ec9d588b4a858d122631433084e4a3"
|
||||
integrity sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==
|
||||
"@rollup/rollup-linux-arm64-gnu@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz#7abe900120113e08a1f90afb84c7c28774054d15"
|
||||
integrity sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==
|
||||
|
||||
"@rollup/rollup-linux-arm64-musl@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz#d60af8c0b9be424424ff96a0ba19fce65d26f6ab"
|
||||
integrity sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==
|
||||
"@rollup/rollup-linux-arm64-musl@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz#9e655285c8175cd44f57d6a1e8e5dedfbba1d820"
|
||||
integrity sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==
|
||||
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz#b1194e5ed6d138fdde0842d126fccde74a90f457"
|
||||
integrity sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz#9a79ae6c9e9d8fe83d49e2712ecf4302db5bef5e"
|
||||
integrity sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==
|
||||
|
||||
"@rollup/rollup-linux-riscv64-gnu@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz#f5a635c017b9bff8b856b0221fbd5c0e3373b7ec"
|
||||
integrity sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==
|
||||
"@rollup/rollup-linux-riscv64-gnu@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz#67ac70eca4ace8e2942fabca95164e8874ab8128"
|
||||
integrity sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==
|
||||
|
||||
"@rollup/rollup-linux-s390x-gnu@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz#f1043d9f4026bf6995863cb3f8dd4732606e4baa"
|
||||
integrity sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==
|
||||
"@rollup/rollup-linux-s390x-gnu@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz#9f883a7440f51a22ed7f99e1d070bd84ea5005fc"
|
||||
integrity sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==
|
||||
|
||||
"@rollup/rollup-linux-x64-gnu@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz#1e781730be445119f06c9df5f185e193bc82c610"
|
||||
integrity sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==
|
||||
"@rollup/rollup-linux-x64-gnu@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz#70116ae6c577fe367f58559e2cffb5641a1dd9d0"
|
||||
integrity sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==
|
||||
|
||||
"@rollup/rollup-linux-x64-musl@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz#08f12e1965d6f27d6898ff932592121cca6abc4b"
|
||||
integrity sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==
|
||||
"@rollup/rollup-linux-x64-musl@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz#f473f88219feb07b0b98b53a7923be716d1d182f"
|
||||
integrity sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==
|
||||
|
||||
"@rollup/rollup-win32-arm64-msvc@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz#4a5dcbbe7af7d41cac92b09798e7c1831da1f599"
|
||||
integrity sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==
|
||||
"@rollup/rollup-win32-arm64-msvc@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz#4349482d17f5d1c58604d1c8900540d676f420e0"
|
||||
integrity sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==
|
||||
|
||||
"@rollup/rollup-win32-ia32-msvc@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz#075b0713de627843a73b4cf0e087c56b53e9d780"
|
||||
integrity sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==
|
||||
"@rollup/rollup-win32-ia32-msvc@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz#a6fc39a15db618040ec3c2a24c1e26cb5f4d7422"
|
||||
integrity sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==
|
||||
|
||||
"@rollup/rollup-win32-x64-msvc@4.18.1":
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz#0cb240c147c0dfd0e3eaff4cc060a772d39e155c"
|
||||
integrity sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==
|
||||
"@rollup/rollup-win32-x64-msvc@4.22.4":
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz#3dd5d53e900df2a40841882c02e56f866c04d202"
|
||||
integrity sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==
|
||||
|
||||
"@tsconfig/node18@^18.2.4":
|
||||
version "18.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node18/-/node18-18.2.4.tgz#094efbdd70f697d37c09f34067bf41bc4a828ae3"
|
||||
integrity sha512-5xxU8vVs9/FNcvm3gE07fPbn9tl6tqGGWA9tSlwsUEkBxtRnTsNmwrV8gasZ9F/EobaSv9+nu8AxUKccw77JpQ==
|
||||
"@tsconfig/node20@^20.1.4":
|
||||
version "20.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node20/-/node20-20.1.4.tgz#3457d42eddf12d3bde3976186ab0cd22b85df928"
|
||||
integrity sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==
|
||||
|
||||
"@types/estree@1.0.5":
|
||||
version "1.0.5"
|
||||
@@ -300,12 +300,12 @@
|
||||
dependencies:
|
||||
undici-types "~5.26.4"
|
||||
|
||||
"@types/node@^18.17.5":
|
||||
version "18.19.17"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.17.tgz#a581a9fb4b2cfdbc61f008804f4436b2d5c40354"
|
||||
integrity sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==
|
||||
"@types/node@^20.16.5":
|
||||
version "20.16.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.5.tgz#d43c7f973b32ffdf9aa7bd4f80e1072310fd7a53"
|
||||
integrity sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==
|
||||
dependencies:
|
||||
undici-types "~5.26.4"
|
||||
undici-types "~6.19.2"
|
||||
|
||||
"@types/tough-cookie@*":
|
||||
version "4.0.5"
|
||||
@@ -317,10 +317,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597"
|
||||
integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==
|
||||
|
||||
"@vitejs/plugin-vue@^5.0.5":
|
||||
version "5.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz#e3dc11e427d4b818b7e3202766ad156e3d5e2eaa"
|
||||
integrity sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==
|
||||
"@vitejs/plugin-vue@^5.1.4":
|
||||
version "5.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.1.4.tgz#72b8b705cfce36b00b59af196195146e356500c4"
|
||||
integrity sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==
|
||||
|
||||
"@volar/language-core@2.4.0-alpha.15", "@volar/language-core@~2.4.0-alpha.15":
|
||||
version "2.4.0-alpha.15"
|
||||
@@ -893,11 +893,6 @@ picocolors@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
||||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
||||
|
||||
picocolors@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1"
|
||||
integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==
|
||||
|
||||
picocolors@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59"
|
||||
@@ -920,16 +915,7 @@ postcss@^8.4.33:
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
postcss@^8.4.39:
|
||||
version "8.4.39"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3"
|
||||
integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==
|
||||
dependencies:
|
||||
nanoid "^3.3.7"
|
||||
picocolors "^1.0.1"
|
||||
source-map-js "^1.2.0"
|
||||
|
||||
postcss@^8.4.47:
|
||||
postcss@^8.4.43, postcss@^8.4.47:
|
||||
version "8.4.47"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365"
|
||||
integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==
|
||||
@@ -958,29 +944,29 @@ requires-port@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
|
||||
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
|
||||
|
||||
rollup@^4.13.0:
|
||||
version "4.18.1"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.18.1.tgz#18a606df5e76ca53b8a69f2d8eab256d69dda851"
|
||||
integrity sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==
|
||||
rollup@^4.20.0:
|
||||
version "4.22.4"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.22.4.tgz#4135a6446671cd2a2453e1ad42a45d5973ec3a0f"
|
||||
integrity sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==
|
||||
dependencies:
|
||||
"@types/estree" "1.0.5"
|
||||
optionalDependencies:
|
||||
"@rollup/rollup-android-arm-eabi" "4.18.1"
|
||||
"@rollup/rollup-android-arm64" "4.18.1"
|
||||
"@rollup/rollup-darwin-arm64" "4.18.1"
|
||||
"@rollup/rollup-darwin-x64" "4.18.1"
|
||||
"@rollup/rollup-linux-arm-gnueabihf" "4.18.1"
|
||||
"@rollup/rollup-linux-arm-musleabihf" "4.18.1"
|
||||
"@rollup/rollup-linux-arm64-gnu" "4.18.1"
|
||||
"@rollup/rollup-linux-arm64-musl" "4.18.1"
|
||||
"@rollup/rollup-linux-powerpc64le-gnu" "4.18.1"
|
||||
"@rollup/rollup-linux-riscv64-gnu" "4.18.1"
|
||||
"@rollup/rollup-linux-s390x-gnu" "4.18.1"
|
||||
"@rollup/rollup-linux-x64-gnu" "4.18.1"
|
||||
"@rollup/rollup-linux-x64-musl" "4.18.1"
|
||||
"@rollup/rollup-win32-arm64-msvc" "4.18.1"
|
||||
"@rollup/rollup-win32-ia32-msvc" "4.18.1"
|
||||
"@rollup/rollup-win32-x64-msvc" "4.18.1"
|
||||
"@rollup/rollup-android-arm-eabi" "4.22.4"
|
||||
"@rollup/rollup-android-arm64" "4.22.4"
|
||||
"@rollup/rollup-darwin-arm64" "4.22.4"
|
||||
"@rollup/rollup-darwin-x64" "4.22.4"
|
||||
"@rollup/rollup-linux-arm-gnueabihf" "4.22.4"
|
||||
"@rollup/rollup-linux-arm-musleabihf" "4.22.4"
|
||||
"@rollup/rollup-linux-arm64-gnu" "4.22.4"
|
||||
"@rollup/rollup-linux-arm64-musl" "4.22.4"
|
||||
"@rollup/rollup-linux-powerpc64le-gnu" "4.22.4"
|
||||
"@rollup/rollup-linux-riscv64-gnu" "4.22.4"
|
||||
"@rollup/rollup-linux-s390x-gnu" "4.22.4"
|
||||
"@rollup/rollup-linux-x64-gnu" "4.22.4"
|
||||
"@rollup/rollup-linux-x64-musl" "4.22.4"
|
||||
"@rollup/rollup-win32-arm64-msvc" "4.22.4"
|
||||
"@rollup/rollup-win32-ia32-msvc" "4.22.4"
|
||||
"@rollup/rollup-win32-x64-msvc" "4.22.4"
|
||||
fsevents "~2.3.2"
|
||||
|
||||
rrweb-cssom@^0.6.0:
|
||||
@@ -1059,16 +1045,21 @@ tr46@^5.0.0:
|
||||
dependencies:
|
||||
punycode "^2.3.1"
|
||||
|
||||
typescript@^5.5.3:
|
||||
version "5.5.3"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa"
|
||||
integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==
|
||||
typescript@^5.6.2:
|
||||
version "5.6.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.2.tgz#d1de67b6bef77c41823f822df8f0b3bcff60a5a0"
|
||||
integrity sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==
|
||||
|
||||
undici-types@~5.26.4:
|
||||
version "5.26.5"
|
||||
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
|
||||
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
|
||||
|
||||
undici-types@~6.19.2:
|
||||
version "6.19.8"
|
||||
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
|
||||
integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
|
||||
|
||||
universalify@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
|
||||
@@ -1087,23 +1078,23 @@ url-parse@^1.5.3:
|
||||
querystringify "^2.1.1"
|
||||
requires-port "^1.0.0"
|
||||
|
||||
vite-plugin-vuetify@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/vite-plugin-vuetify/-/vite-plugin-vuetify-2.0.3.tgz#b65ee4e05cfc6bf2b478a32b6d58b42398519f1e"
|
||||
integrity sha512-HbYajgGgb/noaVKNRhnnXIiQZrNXfNIeanUGAwXgOxL6h/KULS40Uf51Kyz8hNmdegF+DwjgXXI/8J1PNS83xw==
|
||||
vite-plugin-vuetify@^2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/vite-plugin-vuetify/-/vite-plugin-vuetify-2.0.4.tgz#9beb700ee50da58d83399721d6cf4b0af83202d5"
|
||||
integrity sha512-A4cliYUoP/u4AWSRVRvAPKgpgR987Pss7LpFa7s1GvOe8WjgDq92Rt3eVXrvgxGCWvZsPKziVqfHHdCMqeDhfw==
|
||||
dependencies:
|
||||
"@vuetify/loader-shared" "^2.0.3"
|
||||
debug "^4.3.3"
|
||||
upath "^2.0.1"
|
||||
|
||||
vite@^5.3.3:
|
||||
version "5.3.3"
|
||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.3.tgz#5265b1f0a825b3b6564c2d07524777c83e3c04c2"
|
||||
integrity sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==
|
||||
vite@^5.4.7:
|
||||
version "5.4.7"
|
||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.7.tgz#d226f57c08b61379e955f3836253ed3efb2dcf00"
|
||||
integrity sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==
|
||||
dependencies:
|
||||
esbuild "^0.21.3"
|
||||
postcss "^8.4.39"
|
||||
rollup "^4.13.0"
|
||||
postcss "^8.4.43"
|
||||
rollup "^4.20.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.3"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user