@@ -74,10 +76,11 @@ import RecipeChips from "./RecipeChips.vue";
import RecipeContextMenu from "./RecipeContextMenu.vue";
import RecipeCardImage from "./RecipeCardImage.vue";
import RecipeRating from "./RecipeRating.vue";
+import RecipeTimeCard from "./RecipeTimeCard.vue";
import { useLoggedInState } from "~/composables/use-logged-in-state";
export default defineComponent({
- components: { RecipeFavoriteBadge, RecipeChips, RecipeContextMenu, RecipeRating, RecipeCardImage },
+ components: { RecipeFavoriteBadge, RecipeChips, RecipeContextMenu, RecipeRating, RecipeCardImage, RecipeTimeCard },
props: {
name: {
type: String,
@@ -117,6 +120,14 @@ export default defineComponent({
type: Number,
default: 200,
},
+ totalTime: {
+ type: Number,
+ default: 0
+ },
+ displayTotalTimes: {
+ type: Boolean,
+ default: false
+ }
},
setup(props) {
const { $auth } = useContext();
diff --git a/frontend/components/Domain/Recipe/RecipeCardMobile.vue b/frontend/components/Domain/Recipe/RecipeCardMobile.vue
index 8f46d2f6b47..e30df05d705 100644
--- a/frontend/components/Domain/Recipe/RecipeCardMobile.vue
+++ b/frontend/components/Domain/Recipe/RecipeCardMobile.vue
@@ -35,6 +35,9 @@
+
+
+
@@ -83,6 +86,7 @@ import { computed, defineComponent, useContext, useRoute } from "@nuxtjs/composi
import RecipeFavoriteBadge from "./RecipeFavoriteBadge.vue";
import RecipeContextMenu from "./RecipeContextMenu.vue";
import RecipeCardImage from "./RecipeCardImage.vue";
+import RecipeTimeCard from "./RecipeTimeCard.vue";
import { useLoggedInState } from "~/composables/use-logged-in-state";
export default defineComponent({
@@ -90,6 +94,7 @@ export default defineComponent({
RecipeFavoriteBadge,
RecipeContextMenu,
RecipeCardImage,
+ RecipeTimeCard,
},
props: {
name: {
@@ -129,6 +134,14 @@ export default defineComponent({
type: Boolean,
default: false,
},
+ totalTime: {
+ type: Number,
+ default: 0,
+ },
+ displayTotalTimes: {
+ type: Boolean,
+ default: false
+ }
},
setup(props) {
const { $auth } = useContext();
diff --git a/frontend/components/Domain/Recipe/RecipeCardSection.vue b/frontend/components/Domain/Recipe/RecipeCardSection.vue
index ecdfe9e7a33..58911af695c 100644
--- a/frontend/components/Domain/Recipe/RecipeCardSection.vue
+++ b/frontend/components/Domain/Recipe/RecipeCardSection.vue
@@ -81,6 +81,8 @@
:image="recipe.image"
:tags="recipe.tags"
:recipe-id="recipe.id"
+ :total-time="recipe.totalTime"
+ :display-total-times="displayTotalTimes"
/>
@@ -104,6 +106,8 @@
:image="recipe.image"
:tags="recipe.tags"
:recipe-id="recipe.id"
+ :total-time="recipe.totalTime"
+ :display-total-times="displayTotalTimes"
/>
@@ -173,6 +177,10 @@ export default defineComponent({
type: Object as () => RecipeSearchQuery,
default: null,
},
+ displayTotalTimes: {
+ type: Boolean,
+ default: false
+ }
},
setup(props, context) {
const preferences = useUserSortPreferences();
diff --git a/frontend/components/Domain/Recipe/RecipeExplorerPage.vue b/frontend/components/Domain/Recipe/RecipeExplorerPage.vue
index 72c47cebbc6..bb005346edc 100644
--- a/frontend/components/Domain/Recipe/RecipeExplorerPage.vue
+++ b/frontend/components/Domain/Recipe/RecipeExplorerPage.vue
@@ -100,6 +100,7 @@
+
{{ $tc("general.reset") }}
@@ -125,6 +126,7 @@
:title="$tc('search.results')"
:recipes="recipes"
:query="passedQuery"
+ :display-total-times="state.displayTotalTimes"
@replaceRecipes="replaceRecipes"
@appendRecipes="appendRecipes"
/>
@@ -157,6 +159,7 @@ export default defineComponent({
const { isOwnGroup } = useLoggedInState();
const state = ref({
auto: true,
+ displayTotalTimes: true,
search: "",
orderBy: "created_at",
orderDirection: "desc" as "asc" | "desc",
@@ -230,6 +233,7 @@ export default defineComponent({
// Only add the query param if it's or not default
...{
auto: state.value.auto ? undefined : "false",
+ displayTotalTimes: state.value.displayTotalTimes ? undefined : "false",
search: state.value.search === "" ? undefined : state.value.search,
orderBy: state.value.orderBy === "createdAt" ? undefined : state.value.orderBy,
orderDirection: state.value.orderDirection === "desc" ? undefined : state.value.orderDirection,
@@ -336,6 +340,10 @@ export default defineComponent({
state.value.auto = query.auto === "true";
}
+ if (query.auto) {
+ state.value.displayTotalTimes = query.displayTotalTimes === "true";
+ }
+
if (query.search) {
state.value.search = query.search as string;
}
diff --git a/frontend/lang/messages/en-US.json b/frontend/lang/messages/en-US.json
index e107864591d..b48b2719b85 100644
--- a/frontend/lang/messages/en-US.json
+++ b/frontend/lang/messages/en-US.json
@@ -561,7 +561,8 @@
"tag-filter": "Tag Filter",
"search-hint": "Press '/'",
"advanced": "Advanced",
- "auto-search": "Auto Search"
+ "auto-search": "Auto Search",
+ "display-total-times": "Display Total Times"
},
"settings": {
"add-a-new-theme": "Add a New Theme",