source url added

This commit is contained in:
Kaibu
2022-04-22 18:53:23 +02:00
parent 2ddb0c719a
commit 42dfc9d126

View File

@ -5,7 +5,7 @@
</template>
<div v-if="!loading">
<RecipeSwitcher ref="ref_recipe_switcher" @switch="quickSwitch($event)" />
<RecipeSwitcher ref="ref_recipe_switcher" @switch="quickSwitch($event)"/>
<div class="row">
<div class="col-12" style="text-align: center">
<h3>{{ recipe.name }}</h3>
@ -29,7 +29,7 @@
<keywords-component :recipe="recipe"></keywords-component>
</div>
<hr />
<hr/>
<div class="row">
<div class="col col-md-3">
<div class="row d-flex" style="padding-left: 16px">
@ -38,8 +38,8 @@
</div>
<div class="my-auto" style="padding-right: 4px">
<span class="text-primary"
><b>{{ $t("Preparation") }}</b></span
><br />
><b>{{ $t("Preparation") }}</b></span
><br/>
{{ recipe.working_time }} {{ $t("min") }}
</div>
</div>
@ -52,8 +52,8 @@
</div>
<div class="my-auto" style="padding-right: 4px">
<span class="text-primary"
><b>{{ $t("Waiting") }}</b></span
><br />
><b>{{ $t("Waiting") }}</b></span
><br/>
{{ recipe.waiting_time }} {{ $t("min") }}
</div>
</div>
@ -65,7 +65,7 @@
<i class="fas fa-pizza-slice fa-2x text-primary"></i>
</div>
<div class="my-auto" style="padding-right: 4px">
<CustomInputSpinButton v-model.number="servings" />
<CustomInputSpinButton v-model.number="servings"/>
</div>
<div class="my-auto">
<span class="text-primary">
@ -82,10 +82,11 @@
<recipe-context-menu v-bind:recipe="recipe" :servings="servings"></recipe-context-menu>
</div>
</div>
<hr />
<hr/>
<div class="row">
<div class="col-md-6 order-md-1 col-sm-12 order-sm-2 col-12 order-2" v-if="recipe && ingredient_count > 0">
<div class="col-md-6 order-md-1 col-sm-12 order-sm-2 col-12 order-2"
v-if="recipe && ingredient_count > 0">
<ingredients-card
:recipe="recipe.id"
:steps="recipe.steps"
@ -100,13 +101,15 @@
<div class="col-12 order-1 col-sm-12 order-sm-1 col-md-6 order-md-2">
<div class="row">
<div class="col-12">
<img class="img img-fluid rounded" :src="recipe.image" style="max-height: 30vh" :alt="$t('Recipe_Image')" v-if="recipe.image !== null" @load="onImgLoad" />
<img class="img img-fluid rounded" :src="recipe.image" style="max-height: 30vh"
:alt="$t('Recipe_Image')" v-if="recipe.image !== null" @load="onImgLoad"/>
</div>
</div>
<div class="row" style="margin-top: 2vh; margin-bottom: 2vh">
<div class="col-12">
<Nutrition-component :recipe="recipe" :ingredient_factor="ingredient_factor"></Nutrition-component>
<Nutrition-component :recipe="recipe"
:ingredient_factor="ingredient_factor"></Nutrition-component>
</div>
</div>
</div>
@ -116,7 +119,8 @@
<div v-if="recipe.file_path.includes('.pdf')">
<PdfViewer :recipe="recipe"></PdfViewer>
</div>
<div v-if="recipe.file_path.includes('.png') || recipe.file_path.includes('.jpg') || recipe.file_path.includes('.jpeg') || recipe.file_path.includes('.gif')">
<div
v-if="recipe.file_path.includes('.png') || recipe.file_path.includes('.jpg') || recipe.file_path.includes('.jpeg') || recipe.file_path.includes('.gif')">
<ImageViewer :recipe="recipe"></ImageViewer>
</div>
</template>
@ -132,11 +136,15 @@
@checked-state-changed="updateIngredientCheckedState"
></step-component>
</div>
<h5 class="d-print-none"><i class="fas fa-file-import"></i> {{ $t("Imported_From") }}</h5>
<span class="text-muted mt-1"><a :href="recipe.source_url">{{ recipe.source_url }}</a></span>
</div>
<add-recipe-to-book :recipe="recipe"></add-recipe-to-book>
<div class="row text-center d-print-none" style="margin-top: 3vh; margin-bottom: 3vh" v-if="share_uid !== 'None'">
<div class="row text-center d-print-none" style="margin-top: 3vh; margin-bottom: 3vh"
v-if="share_uid !== 'None'">
<div class="col col-md-12">
<a :href="resolveDjangoUrl('view_report_share_abuse', share_uid)">{{ $t("Report Abuse") }}</a>
</div>
@ -146,13 +154,13 @@
<script>
import Vue from "vue"
import { BootstrapVue } from "bootstrap-vue"
import {BootstrapVue} from "bootstrap-vue"
import "bootstrap-vue/dist/bootstrap-vue.css"
import { apiLoadRecipe } from "@/utils/api"
import {apiLoadRecipe} from "@/utils/api"
import RecipeContextMenu from "@/components/RecipeContextMenu"
import { ResolveUrlMixin, ToastMixin } from "@/utils/utils"
import {ResolveUrlMixin, ToastMixin} from "@/utils/utils"
import PdfViewer from "@/components/PdfViewer"
import ImageViewer from "@/components/ImageViewer"
@ -225,7 +233,7 @@ export default {
this.destroyWakeLock()
},
methods: {
requestWakeLock: async function() {
requestWakeLock: async function () {
if ('wakeLock' in navigator) {
try {
this.wake_lock = await navigator.wakeLock.request('screen')
@ -235,7 +243,7 @@ export default {
}
}
},
destroyWakeLock: function() {
destroyWakeLock: function () {
if (this.wake_lock != null) {
this.wake_lock.release()
.then(() => {
@ -245,7 +253,7 @@ export default {
document.removeEventListener('visibilitychange', this.visibilityChange)
},
visibilityChange: async function() {
visibilityChange: async function () {
if (this.wake_lock != null && document.visibilityState === 'visible') {
await this.requestWakeLock()
}
@ -271,8 +279,8 @@ export default {
this.start_time = moment().format("yyyy-MM-DDTHH:mm")
}
if(recipe.image === null) this.printReady()
if (recipe.image === null) this.printReady()
this.recipe = this.rootrecipe = recipe
this.servings = this.servings_cache[this.rootrecipe.id] = recipe.servings
@ -300,12 +308,12 @@ export default {
this.servings = this.servings_cache?.[e.id] ?? e.servings
}
},
printReady: function(){
printReady: function () {
const template = document.createElement("template");
template.id = "printReady";
document.body.appendChild(template);
},
onImgLoad: function(){
onImgLoad: function () {
this.printReady()
},
},