mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-06-21 22:41:31 -04:00
* feat(frontend): 💄 add recipe title * fix(frontend): 🐛 fixes #722 side-bar issue * feat(frontend): ✨ Add page titles to all pages * minor cleanup * refactor(backend): ♻️ rewrite scheduler to be more modulare and work * feat(frontend): ✨ start password reset functionality * refactor(backend): ♻️ refactor application settings to facilitate dependency injection * refactor(backend): 🔥 remove RECIPE_SETTINGS env variables in favor of group settings * formatting * refactor(backend): ♻️ align naming convention * feat(backend): ✨ password reset * test(backend): ✅ password reset * feat(frontend): ✨ self-service password reset * purge password schedule * update user creation for tests Co-authored-by: Hayden <hay-kot@pm.me>
36 lines
963 B
TypeScript
36 lines
963 B
TypeScript
import { useAsync, ref } from "@nuxtjs/composition-api";
|
|
import { useApiSingleton } from "~/composables/use-api";
|
|
import { Recipe } from "~/types/api-types/recipe";
|
|
|
|
export const useRecipeContext = function () {
|
|
const api = useApiSingleton();
|
|
const loading = ref(false);
|
|
|
|
function getBySlug(slug: string) {
|
|
loading.value = true;
|
|
const recipe = useAsync(async () => {
|
|
const { data } = await api.recipes.getOne(slug);
|
|
return data;
|
|
}, slug);
|
|
|
|
loading.value = false;
|
|
return recipe;
|
|
}
|
|
|
|
async function deleteRecipe(slug: string) {
|
|
loading.value = true;
|
|
const { data } = await api.recipes.deleteOne(slug);
|
|
loading.value = false;
|
|
return data;
|
|
}
|
|
|
|
async function updateRecipe(slug: string, recipe: Recipe) {
|
|
loading.value = true;
|
|
const { data } = await api.recipes.updateOne(slug, recipe);
|
|
loading.value = false;
|
|
return data;
|
|
}
|
|
|
|
return { loading, getBySlug, deleteRecipe, updateRecipe };
|
|
};
|