shadcn.io is not affiliated with official shadcn/ui
Recipe Steps Task List Block for Vue
A cook-along recipe with a servings stepper that scales every ingredient, tick boxes for ingredients and steps, prep and cook times, and one countdown timer you start from a timed step.
Installation
Overview
Cook from one screen, with this recipe checklist block for Vue with Ark UI. A frame in two cells holds the ingredients at the start and the steps at the end. A servings stepper from 2 to 12 rescales every quantity from the amounts written for four, using fractions for spoons and counts and whole grams and millilitres for the rest. Ingredients and steps each have a Checkbox and a running count, and a list shows prep time, cook time and the servings. A timer chip on a timed step sets the one Timer under the steps to that step's time; it counts down only when you press Start, supports Pause, Resume and Reset, runs one step at a time and says "Timer done" in the status line when it ends. Guides rule the cells. For recipe sites, meal-kit apps and any checklist with times and scaled amounts.
FAQ
How are quantities scaled?
Each ingredient stores its amount for four servings. The block multiplies by the chosen servings, divides by four and rounds: to the nearest eighth for spoons and counts, shown as ⅛ to ⅞, and to a whole number for grams and millilitres. Add an ingredient by giving it a per4 amount, a step (8 for eighths, 1 for whole units) and a unit.
Do cooking times change with servings?
No. The steps keep their times, because a larger pot takes about as long to simmer. The foot says so. If your recipe needs longer times for bigger batches, make minutes a function of the servings.
How does the timer behave?
Pressing a chip such as "8:00 timer" selects that step and resets the timer to its time; it never starts by itself. Start, Pause, Resume and Reset are the Timer's own controls, and choosing another chip replaces the current timer. The status line speaks only when the timer is set, started, paused, reset or done, not every second.