mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-11-03 02:33:31 -05:00 
			
		
		
		
	Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
		
			
				
	
	
		
			33 lines
		
	
	
		
			772 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			772 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { useFraction } from "~/composables/recipes";
 | 
						|
 | 
						|
function formatQuantity(val: number): string {
 | 
						|
  if (Number.isInteger(val)) {
 | 
						|
    return val.toString();
 | 
						|
  }
 | 
						|
 | 
						|
  const { frac } = useFraction();
 | 
						|
 | 
						|
  let valString = "";
 | 
						|
  const fraction = frac(val, 10, true);
 | 
						|
 | 
						|
  if (fraction[0] !== undefined && fraction[0] > 0) {
 | 
						|
    valString += fraction[0];
 | 
						|
  }
 | 
						|
 | 
						|
  if (fraction[1] > 0) {
 | 
						|
    valString += `<sup>${fraction[1]}</sup><span>⁄</span><sub>${fraction[2]}</sub>`;
 | 
						|
  }
 | 
						|
 | 
						|
  return valString.trim();
 | 
						|
}
 | 
						|
 | 
						|
export function useScaledAmount(amount: number, scale = 1) {
 | 
						|
  const scaledAmount = Number(((amount || 0) * scale).toFixed(3));
 | 
						|
  const scaledAmountDisplay = scaledAmount ? formatQuantity(scaledAmount) : "";
 | 
						|
 | 
						|
  return {
 | 
						|
    scaledAmount,
 | 
						|
    scaledAmountDisplay,
 | 
						|
  };
 | 
						|
}
 |