mealie/frontend/pages/recipes/categories/_slug.vue

49 lines
1.2 KiB
Vue
Raw Normal View History

<template>
<v-container>
<RecipeCardSection
v-if="category"
:icon="$globals.icons.tags"
:title="category.name"
:recipes="category.recipes"
@sort="assignSorted"
></RecipeCardSection>
</v-container>
</template>
<script lang="ts">
import { defineComponent, useAsync, useRoute } from "@nuxtjs/composition-api";
import RecipeCardSection from "~/components/Domain/Recipe/RecipeCardSection.vue";
import { useApiSingleton } from "~/composables/use-api";
import { Recipe } from "~/types/api-types/recipe";
export default defineComponent({
components: { RecipeCardSection },
setup() {
const api = useApiSingleton();
const route = useRoute();
const slug = route.value.params.slug;
const category = useAsync(async () => {
const { data } = await api.categories.getOne(slug);
return data;
}, slug);
return { category };
},
head() {
return {
title: this.$t("sidebar.categories") as string,
};
},
methods: {
assignSorted(val: Array<Recipe>) {
2021-08-09 05:15:20 +00:00
if (this.category) {
// @ts-ignore
2021-08-09 05:15:20 +00:00
this.category.recipes = val;
}
},
},
});
</script>
<style scoped>
</style>