diff --git a/ui/src/components/OperationPanel.jsx b/ui/src/components/OperationPanel.jsx index e41dd66..dd40ae7 100644 --- a/ui/src/components/OperationPanel.jsx +++ b/ui/src/components/OperationPanel.jsx @@ -666,53 +666,53 @@ function ScaleLedger({ currentTotals, scaleInputs, setScaleInputs, scalePlug, se {/* A dollar figure on its own does not say whether price or volume moved. Only ask once the edit is actually dollars-only -- naming units or price has already answered it, and the control would just be noise. */} - {valueCol && unitsCol && dollarsOnly && ( -
-
- Absorbed by - -
-
- {scalePlug === 'price' - ? `${unitsCol} holds; price moves to reach the number.` - : `Price holds; ${unitsCol} scales with the dollars.`} -
-
- )} + {/* Both of these are settings on the edit, so they use Field like every + other one -- an aligned label column and a hint below the control. + They used to hand-roll their own label row and hint, with two + different type sizes and no shared label width, so the two stacked + into a paragraph of loose words rather than reading as two settings. */} + {(valueCol && unitsCol && dollarsOnly || hasExcl || perSlice) && ( +
- {hasExcl && ( -
-
- Target applies to - -
-

- {onTotal - ? `The ${exclName} rows cannot change, so the adjustable rows absorb the whole difference — the pivot will show your target.` - : `${exclName} rows are ignored. The pivot will show your target plus ${fmtNum(excl.value)}.`} -

-
- )} + {valueCol && unitsCol && dollarsOnly && ( + + + + )} - {perSlice && ( -

- Applied to each slice separately — the figures above are combined totals, - so each slice's own change will differ. -

+ {hasExcl && ( + + + + )} + + {perSlice && ( + + Applied to each slice separately + + )} +
)} )