One name for one column: Note

Description was the original field and Note replaced it, but nothing removed
it -- so the edit form carried both, writing the same pf.log.note, with
`note: description || segNote` letting Description win silently over whatever
was typed in Note right below it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Paul Trowbridge 2026-09-17 23:18:41 -04:00
parent 2306315a17
commit 1286351be3

View File

@ -97,7 +97,6 @@ export default function Baseline({ sources = [], sourceId, versions = [], versio
// segment form // segment form
const [segType, setSegType] = useState('baseline') const [segType, setSegType] = useState('baseline')
const [description, setDescription] = useState('')
const [filters, setFilters] = useState([]) // [[cond,...], [cond,...]] const [filters, setFilters] = useState([]) // [[cond,...], [cond,...]]
const [useRaw, setUseRaw] = useState(false) const [useRaw, setUseRaw] = useState(false)
const [rawSql, setRawSql] = useState('') const [rawSql, setRawSql] = useState('')
@ -222,7 +221,7 @@ export default function Baseline({ sources = [], sourceId, versions = [], versio
const endpoint = isRef ? 'reference' : 'baseline' const endpoint = isRef ? 'reference' : 'baseline'
const body = { const body = {
where_clause: clause, where_clause: clause,
note: description || segNote, note: segNote,
date_offset: offsetStr, date_offset: offsetStr,
label: segLabel.trim(), label: segLabel.trim(),
bucket: segBucket.trim(), bucket: segBucket.trim(),
@ -263,7 +262,6 @@ export default function Baseline({ sources = [], sourceId, versions = [], versio
setSegNote(entry.note || '') setSegNote(entry.note || '')
setSegLabel(entry.label || '') setSegLabel(entry.label || '')
setSegBucket(entry.bucket || '') setSegBucket(entry.bucket || '')
setDescription('')
setOffset(params.date_offset || '0 days') setOffset(params.date_offset || '0 days')
const groups = normalizeFilters(params.filters) const groups = normalizeFilters(params.filters)
if (groups) { if (groups) {
@ -290,7 +288,6 @@ export default function Baseline({ sources = [], sourceId, versions = [], versio
function cancelEdit() { function cancelEdit() {
setEditingLogId(null) setEditingLogId(null)
setShowAddForm(false) setShowAddForm(false)
setDescription('')
setSegNote('') setSegNote('')
setSegLabel('') setSegLabel('')
setSegBucket('') setSegBucket('')
@ -559,7 +556,6 @@ export default function Baseline({ sources = [], sourceId, versions = [], versio
filters={filters} setFilters={setFilters} filters={filters} setFilters={setFilters}
useRaw={useRaw} setUseRaw={setUseRaw} useRaw={useRaw} setUseRaw={setUseRaw}
rawSql={rawSql} setRawSql={setRawSql} rawSql={rawSql} setRawSql={setRawSql}
description={description} setDescription={setDescription}
segNote={segNote} setSegNote={setSegNote} segNote={segNote} setSegNote={setSegNote}
segBucket={segBucket} setSegBucket={setSegBucket} segBucket={segBucket} setSegBucket={setSegBucket}
segLabel={segLabel} setSegLabel={setSegLabel} segLabel={segLabel} setSegLabel={setSegLabel}
@ -588,7 +584,6 @@ function segmentValuesFor(entry, filterCols) {
filters: groups || (filterCols.length > 0 ? [emptyGroup(filterCols)] : []), filters: groups || (filterCols.length > 0 ? [emptyGroup(filterCols)] : []),
useRaw: !groups && !!params.where_clause, useRaw: !groups && !!params.where_clause,
rawSql: params.where_clause || '', rawSql: params.where_clause || '',
description: '',
segNote: entry.note || '', segNote: entry.note || '',
segBucket: entry.bucket || '', segBucket: entry.bucket || '',
segLabel: entry.label || '', segLabel: entry.label || '',
@ -602,7 +597,6 @@ function SegmentForm({
filters, setFilters, filters, setFilters,
useRaw, setUseRaw, useRaw, setUseRaw,
rawSql, setRawSql, rawSql, setRawSql,
description, setDescription,
segNote, setSegNote, segNote, setSegNote,
segBucket, setSegBucket, segBucket, setSegBucket,
segLabel, setSegLabel, segLabel, setSegLabel,
@ -676,14 +670,6 @@ function SegmentForm({
</div> </div>
</div> </div>
{/* Description (edit only) */}
{mode === 'edit' && (
<div className="flex items-center gap-3">
<label className="text-xs text-gray-500 w-28 shrink-0">Description</label>
<input value={description} onChange={e => setDescription(e.target.value)} placeholder="e.g. FY25 actuals +1yr" className="border border-gray-200 rounded px-2 py-1.5 text-sm flex-1 max-w-sm" />
</div>
)}
{/* Filters */} {/* Filters */}
<div> <div>
<div className="flex items-center justify-between mb-2"> <div className="flex items-center justify-between mb-2">