mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-01 04:10:06 -05:00
fixed import page share intent
This commit is contained in:
@@ -39,7 +39,9 @@
|
||||
<v-alert-title>{{ $t('Duplicate') }}</v-alert-title>
|
||||
{{ $t('DuplicateFoundInfo') }}
|
||||
<v-list>
|
||||
<v-list-item :to="{name: 'view_recipe', params: {id: r.id}}" v-for="r in importResponse.duplicates" :key="r.id"> {{ r.name }} (#{{r.id}})</v-list-item>
|
||||
<v-list-item :to="{name: 'view_recipe', params: {id: r.id}}" v-for="r in importResponse.duplicates" :key="r.id"> {{ r.name }}
|
||||
(#{{ r.id }})
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-alert>
|
||||
</v-card-text>
|
||||
@@ -192,7 +194,9 @@
|
||||
<v-btn @click="stepper = (parseInt(stepper) - 1).toString()">Zurück</v-btn>
|
||||
</template>
|
||||
<template #next>
|
||||
<v-btn @click="createRecipeFromImport()" color="success" :disabled="Object.keys(importResponse).length == 0" v-if="stepper == '1'">{{$t('Import')}}</v-btn>
|
||||
<v-btn @click="createRecipeFromImport()" color="success" :disabled="Object.keys(importResponse).length == 0" v-if="stepper == '1'">
|
||||
{{ $t('Import') }}
|
||||
</v-btn>
|
||||
<v-btn @click="stepper = (parseInt(stepper) + 1).toString()" :disabled="Object.keys(importResponse).length == 0" v-if="stepper != '5'">
|
||||
{{ stepper == '1' ? $t('Edit') : $t('Next') }}
|
||||
</v-btn>
|
||||
@@ -211,7 +215,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
|
||||
import {nextTick, ref} from "vue";
|
||||
import {nextTick, onMounted, ref} from "vue";
|
||||
import {ApiApi, Keyword, RecipeFromSourceResponse, type SourceImportIngredient, SourceImportKeyword, SourceImportStep} from "@/openapi";
|
||||
import {ErrorMessageType, MessageType, useMessageStore} from "@/stores/MessageStore";
|
||||
import {useRouter} from "vue-router";
|
||||
@@ -223,7 +227,9 @@ import {VNumberInput} from 'vuetify/labs/VNumberInput'
|
||||
import {useFileApi} from "@/composables/useFileApi";
|
||||
import ModelSelect from "@/components/inputs/ModelSelect.vue";
|
||||
import {useDisplay} from "vuetify";
|
||||
import {useUrlSearchParams} from "@vueuse/core";
|
||||
|
||||
const params = useUrlSearchParams('history', {})
|
||||
const {mobile} = useDisplay()
|
||||
const router = useRouter()
|
||||
const {updateRecipeImage, convertImageToRecipe, fileApiLoading} = useFileApi()
|
||||
@@ -234,13 +240,25 @@ const loading = ref(false)
|
||||
const importUrl = ref("")
|
||||
|
||||
|
||||
|
||||
const image = ref<null | File>(null)
|
||||
|
||||
const importResponse = ref({} as RecipeFromSourceResponse)
|
||||
const keywordSelect = ref<null | SourceImportKeyword>(null)
|
||||
const editingIngredient = ref({} as SourceImportIngredient)
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
// handle manifest share intend passing url to import page
|
||||
if (params.url && typeof params.url === "string") {
|
||||
importUrl.value = params.url
|
||||
loadRecipeFromUrl()
|
||||
}
|
||||
if (params.text && typeof params.text === "string") {
|
||||
importUrl.value = params.text
|
||||
loadRecipeFromUrl()
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* call server to load recipe from a given URl
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user