diff --git a/CLAUDE.md b/CLAUDE.md index 98dd643..15b9100 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -348,6 +348,15 @@ no adjustments. The `pf_bucket` datalist on the Baseline page was already per version (`bucketsInUse`), so the two now agree. +**Completion is the datalist and nothing else.** The operation panel used to +carry six quick-pick pills under the tag field as well. They wrapped to two rows +as soon as the tags were longer than a word, and the panel docked at the bottom +has a fixed height, so they pushed the form past its own border. The datalist +costs no space, is not capped at six, and now shows the tag alone — an option's +text content renders as a second column beside the value, so the use count was +widening every row of the pick list to carry a number nobody picks on. `uses` +and `last_used` still come back from the route; nothing reads them. + --- ## Renaming a version diff --git a/ui/src/components/OperationPanel.jsx b/ui/src/components/OperationPanel.jsx index f6e9193..e41dd66 100644 --- a/ui/src/components/OperationPanel.jsx +++ b/ui/src/components/OperationPanel.jsx @@ -898,7 +898,7 @@ export default function OperationPanel({ scaleInputs, setScaleInputs, scalePlug, setScalePlug, targetBasis, setTargetBasis, - opTag, setOpTag, knownTags = [], logMeta = {}, + opTag, setOpTag, logMeta = {}, scaleNote, setScaleNote, recodeSet, setRecodeSet, recodeNote, setRecodeNote, @@ -1066,24 +1066,12 @@ export default function OperationPanel({ )} - {/* Under the tag field and inside the same column, so they read as - values for it rather than as a row of unexplained buttons. */} - {knownTags.length > 0 && ( - -
- {knownTags.slice(0, 6).map(t => ( - - ))} -
-
- )} + {/* The six quick-pick pills that used to sit here are gone. They + wrapped onto two rows once the tags were more than a word long, + which is most of them, and the panel docked at the bottom has a + fixed height to spend -- so they pushed the form past its own + border. The same tags complete from the input's datalist, which + costs no space and is not capped at six. */} setNote(e.target.value)} diff --git a/ui/src/views/Forecast.jsx b/ui/src/views/Forecast.jsx index 8d8d528..45cbb7a 100644 --- a/ui/src/views/Forecast.jsx +++ b/ui/src/views/Forecast.jsx @@ -1881,7 +1881,7 @@ export default function Forecast({ sources = [], sourceId, versions = [], versio scaleInputs, setScaleInputs, scalePlug, setScalePlug, targetBasis, setTargetBasis, - opTag, setOpTag, knownTags, logMeta, + opTag, setOpTag, logMeta, scaleNote, setScaleNote, recodeSet, setRecodeSet, recodeNote, setRecodeNote, @@ -1898,10 +1898,11 @@ export default function Forecast({ sources = [], sourceId, versions = [], versio {/* Tag completions, shared by the operation panel and the change log's inline editor. Lives here so it is in the DOM even when the panel is shut. */} + {/* Value only. A datalist option's text content renders as a second + column beside the value, so the use count widened every row of the + pick list to carry a number nobody picks on. */} - {knownTags.map(t => ( - - ))} + {knownTags.map(t => {/* Toolbar */}