Gen Progress
A generation's status, small, for places outside its frame: a run in a history list, an activity tray, the submit area, a toast.
In use
The Video Studio's strip of past clips, one per run, with its time. Generate a clip to see it.
Your image will appear here
Your image will appear here
Your image will appear here
Your image will appear here

Paint over what to change. Tab reaches the marks: arrow keys move one, Enter edits its note, Delete removes it.
Your video will appear here
Installation
pnpm dlx shadcn@latest add https://mgp.paukraft.com/r/gen-progress.jsonGenProgress
Takes what ImageGenLoader takes, so a loader from useBflGeneration or useBflBatch spreads on: <GenProgress {...generation.loader} />. Timestamps are yours: note when you submit.
| Prop | Type | Default |
|---|---|---|
| status | "idle" | "queued" | "generating" | "ready" | "moderated" | "error"Where the task is at, as ImageGenLoader takes it. | — |
| progress | number0–1 while generating. The ring spins until it's reported, then fills; the label adds the percent. | — |
| src | stringThe result, shown as a thumbnail in place of the check once ready. Images only. | — |
| error | ReactNodeWhat went wrong; the failure's tooltip when it's text. | — |
| onRetry | () => voidRenders a retry button on failure, except when moderated. | — |
| startedAt / settledAt | numberTimestamps in ms. startedAt shows the time it's taking, live; settledAt keeps the time it took once done. | — |
| size | "default" | "sm"default fits an h-8 toolbar; sm a list row's second line. | "default" |
| labels | Partial<Record<ImageGenStatus, string>>Words per status. Defaults: Not started, Queued, Generating, Ready, Failed, Moderated. | — |
Parts
| Prop | Type | Default |
|---|---|---|
| GenProgressRoot | GenProgressRootPropsHolds the status for its parts. Takes the props above but labels. | — |
| GenProgressIndicator | spanDashed ring while queued, spinning or filling while generating, then a check, thumbnail or warning. | — |
| GenProgressLabel | { labels? }The status in words: "Generating 42%". | — |
| GenProgressElapsed | timem:ss since startedAt. Hidden without it, or once settled without settledAt. | — |
| GenProgressRetry | ButtonCalls the root's onRetry; shown on failure. | — |
| useGenProgress | () => { status, progress, busy, … }The root's state, for your own parts. | — |