"use strict"; class RenderRecipes { /** * @param ent * @param [opts] * @param [opts.$selScaleFactor] */ static $getRenderedRecipe (ent, opts) { opts = opts || {}; const ptFluff = this._getFluffHtml(ent); const entriesMeta = Renderer.recipe.getRecipeRenderableEntriesMeta(ent); const ptTime = Renderer.recipe.getTimeHtml(ent, {entriesMeta}); const {ptMakes, ptServes} = Renderer.recipe.getMakesServesHtml(ent, {entriesMeta}); const $wrpSelScaleFactor = $$`
(${opts.$selScaleFactor})
`; return $$` ${Renderer.utils.getBorderTr()} ${Renderer.utils.getExcludedTr({entity: ent, dataProp: "recipe"})} ${Renderer.utils.getNameTr(ent, {page: UrlUtil.PG_RECIPES})} ${ptFluff ? `${ptFluff}
` : ""}
${ptTime} ${(ptMakes || ptServes) ? $$`
${ptMakes || ptServes}${$wrpSelScaleFactor}
` : ""} ${(ptMakes && ptServes) ? ptServes : ""} ${!(ptMakes || ptServes) && opts.$selScaleFactor ? $$`
Scale: ${opts.$selScaleFactor}
` : ""}
${Renderer.get().render(entriesMeta.entryIngredients, 0)}
${entriesMeta.entryEquipment ? `
Equipment
${Renderer.get().render(entriesMeta.entryEquipment)}
` : ""} ${entriesMeta.entryCooksNotes ? `
Cook's Notes
${Renderer.get().render(entriesMeta.entryCooksNotes)}
` : ""}
${Renderer.get().setFirstSection(true).render(entriesMeta.entryInstructions, 2)}
${Renderer.utils.getPageTr(ent)} ${Renderer.utils.getBorderTr()} `; } static _getFluffHtml (it) { if (!it.fluff?.images?.length) return null; const fluffReduced = { ...it.fluff, images: [it.fluff.images[0]], }; Renderer.get().setLazyImages(true); const out = Renderer.utils.getFluffTabContent({entity: it, isImageTab: true, fluff: fluffReduced}); Renderer.get().setLazyImages(false); return out; } }