import stuff

This commit is contained in:
vabene1111
2024-12-11 20:56:27 +01:00
parent f1f907ee33
commit ad57ce7790
38 changed files with 279 additions and 15 deletions

View File

@@ -28,6 +28,15 @@
</v-text-field>
<v-textarea :placeholder="$t('paste_json')"></v-textarea>
<v-alert variant="tonal" v-if="importResponse.duplicates && importResponse.duplicates.length > 0">
<v-alert-title>{{ $t('Duplicate') }}</v-alert-title>
{{ $t('DuplicateFoundInfo') }}
<v-chip-group>
<v-chip :to="{name: 'view_recipe', params: {id: r.id}}" v-for="r in importResponse.duplicates" :key="r.id"> {{ r.name }}</v-chip>
</v-chip-group>
<v-btn color="primary" class="float-right" @click="stepper = '2'">{{ $t('Continue') }}</v-btn>
</v-alert>
</v-card-text>
</v-card>
</v-stepper-window-item>
@@ -50,18 +59,47 @@
</v-stepper-window-item>
<v-stepper-window-item value="3">
<v-list>
<v-list-item border v-for="k in importResponse.recipe.keywords" :key="k" :class="{'bg-success': k.import}" @click="k.import = !k.import">
<v-list-item border v-for="k in importResponse.recipe.keywords" :key="k" :class="{'bg-success': k.importKeyword}"
@click="k.importKeyword = !k.importKeyword">
{{ k.label }}
<template #append>
<v-checkbox-btn :model-value="k.import"></v-checkbox-btn>
<v-checkbox-btn :model-value="k.importKeyword"></v-checkbox-btn>
</template>
</v-list-item>
</v-list>
</v-stepper-window-item>
<v-stepper-window-item value="4">
test4
<v-row>
<v-col class="text-center">
<v-btn-group border divided>
<v-btn prepend-icon="fa-solid fa-shuffle">Auto Sort</v-btn>
<v-btn prepend-icon="fa-solid fa-maximize">Split All</v-btn>
<v-btn prepend-icon="fa-solid fa-minimize">Merge All</v-btn>
</v-btn-group>
</v-col>
</v-row>
<v-row>
<v-col>
<v-list>
<v-list-item v-for="(s,i) in importResponse.recipe.steps" :key="i">
<v-list-item-title>
<v-chip color="primary">#{{ i + 1 }}</v-chip>
<v-btn variant="plain" size="small" class="float-right">
<v-icon icon="$settings"></v-icon>
<v-menu activator="parent">
<v-list>
<v-list-item prepend-icon="$delete">{{ $t('Delete') }}</v-list-item>
<v-list-item prepend-icon="fa-solid fa-maximize">{{ $t('Split') }}</v-list-item>
</v-list>
</v-menu>
</v-btn>
</v-list-item-title>
<v-textarea class="mt-2" v-model="s.instruction"></v-textarea>
</v-list-item>
</v-list>
</v-col>
</v-row>
</v-stepper-window-item>
<v-stepper-window-item value="5">
<v-btn @click="createRecipeFromImport()">Import</v-btn>
@@ -103,12 +141,18 @@ function loadRecipeFromUrl() {
let api = new ApiApi()
api.apiRecipeFromSourceCreate({recipeFromSource: {url: importUrl.value}}).then(r => {
importResponse.value = r
stepper.value = "2"
if (r.duplicates.length == 0) {
// automatically continue only if no duplicates were found
stepper.value = "2"
}
}).catch(err => {
useMessageStore().addError(ErrorMessageType.FETCH_ERROR, err)
})
}
/**
* create recipe in database
*/
function createRecipeFromImport() {
let api = new ApiApi()
console.log(importResponse.value)