1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-07-20 05:39:40 +02:00
mealie/frontend/composables/recipes/use-scaled-amount.ts
Hoa (Kyle) Trinh c24d532608
feat: Migrate to Nuxt 3 framework (#5184)
Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
2025-06-19 17:09:12 +00:00

32 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>&frasl;</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,
};
}