mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-29 01:04:18 -04:00 
			
		
		
		
	Refactor recipe page to use break up the component and make it more usable across different pages. I've left the old route in as well in case there is some functional breaks, I plan to remove it before the official release once we've tested the new editor some more in production. For now there will just have to be some duplicate components and pages around.
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { useContext } from "@nuxtjs/composition-api";
 | |
| import { detectServerBaseUrl } from "../use-utils";
 | |
| 
 | |
| function UnknownToString(ukn: string | unknown) {
 | |
|   return typeof ukn === "string" ? ukn : "";
 | |
| }
 | |
| 
 | |
| export const useStaticRoutes = () => {
 | |
|   const { $config, req } = useContext();
 | |
|   const serverBase = detectServerBaseUrl(req);
 | |
| 
 | |
|   const prefix = `${$config.SUB_PATH as string}/api`.replace("//", "/");
 | |
| 
 | |
|   const fullBase = serverBase + prefix;
 | |
| 
 | |
|   // Methods to Generate reference urls for assets/images *
 | |
|   function recipeImage(recipeId: string, version: string | unknown = "", key: string | number = 1) {
 | |
|     return `${fullBase}/media/recipes/${recipeId}/images/original.webp?rnd=${key}&version=${UnknownToString(version)}`;
 | |
|   }
 | |
| 
 | |
|   function recipeSmallImage(recipeId: string, version: string | unknown = "", key: string | number = 1) {
 | |
|     return `${fullBase}/media/recipes/${recipeId}/images/min-original.webp?rnd=${key}&version=${UnknownToString(
 | |
|       version
 | |
|     )}`;
 | |
|   }
 | |
| 
 | |
|   function recipeTinyImage(recipeId: string, version: string | unknown = "", key: string | number = 1) {
 | |
|     return `${fullBase}/media/recipes/${recipeId}/images/tiny-original.webp?rnd=${key}&version=${UnknownToString(
 | |
|       version
 | |
|     )}`;
 | |
|   }
 | |
| 
 | |
|   function recipeAssetPath(recipeId: string, assetName: string) {
 | |
|     return `${fullBase}/media/recipes/${recipeId}/assets/${assetName}`;
 | |
|   }
 | |
| 
 | |
|   return {
 | |
|     recipeImage,
 | |
|     recipeSmallImage,
 | |
|     recipeTinyImage,
 | |
|     recipeAssetPath,
 | |
|   };
 | |
| };
 |