mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-31 10:13:32 -04:00 
			
		
		
		
	* update naming * refactor tests to use shared structure * shorten names * add tools test case * refactor to support multi-tenant * set group_id on creation * initial refactor for multitenant tags/cats * spelling * additional test case for same valued resources * fix recipe update tests * apply indexes to foreign keys * fix performance regressions * handle unknown exception * utility decorator for function debugging * migrate recipe_id to UUID * GUID for recipes * remove unused import * move image functions into package * move utilities to packages dir * update import * linter * image image and asset routes * update assets and images to use UUIDs * fix migration base * image asset test coverage * use ids for categories and tag crud functions * refactor recipe organizer test suite to reduce duplication * add uuid serlization utility * organizer base router * slug routes testing and fixes * fix postgres error * adopt UUIDs * move tags, categories, and tools under "organizers" umbrella * update composite label * generate ts types * fix import error * update frontend types * fix type errors * fix postgres errors * fix #978 * add null check for title validation * add note in docs on multi-tenancy
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { Ref } from "@nuxtjs/composition-api";
 | |
| import { Recipe } from "~/types/api-types/recipe";
 | |
| 
 | |
| export const useRecipeMeta = (recipe: Ref<Recipe | null>) => {
 | |
|   return () => {
 | |
|     const imageURL = "";
 | |
|     return {
 | |
|       title: recipe?.value?.name,
 | |
|       mainImage: imageURL,
 | |
|       meta: [
 | |
|         { hid: "og:title", property: "og:title", content: recipe?.value?.name || "Recipe" },
 | |
|         {
 | |
|           hid: "og:desc",
 | |
|           property: "og:description",
 | |
|           content: recipe?.value?.description ?? "",
 | |
|         },
 | |
|         {
 | |
|           hid: "og-image",
 | |
|           property: "og:image",
 | |
|           content: imageURL,
 | |
|         },
 | |
|         {
 | |
|           hid: "twitter:title",
 | |
|           property: "twitter:title",
 | |
|           content: recipe?.value?.name ?? "",
 | |
|         },
 | |
|         {
 | |
|           hid: "twitter:desc",
 | |
|           property: "twitter:description",
 | |
|           content: recipe?.value?.description ?? "",
 | |
|         },
 | |
|         { hid: "t-type", name: "twitter:card", content: "summary_large_image" },
 | |
|       ],
 | |
|       __dangerouslyDisableSanitizers: ["script"],
 | |
|       script: [
 | |
|         {
 | |
|           innerHTML: JSON.stringify({
 | |
|             "@context": "http://schema.org",
 | |
|             "@type": "Recipe",
 | |
|             ...recipe.value,
 | |
|           }),
 | |
|           type: "application/ld+json",
 | |
|         },
 | |
|       ],
 | |
|     };
 | |
|   };
 | |
| };
 |