Repository navigation
[Feature]: Use NumberField for the auto-settle inactivity days input #17992
Replies: 2 comments
TriageConfirmed on current What we checked
Storage cleanup’s
Out of scope, as filed: mobile Related, not the same#7251 (still open) is visual hierarchy — the days row looking like a top-level setting. Closed-unmerged #7093 only added indent/ #9281 already unified settings control sizing; this issue is widget + commit timing. Suggested fixReplace only Type: enhancement (low / cosmetic). Next: implement as specified; small localized change. |
|
Working on this now, following the triage: only One thing I noticed while doing it: the new code ends up almost identical to the I'm keeping it duplicated here so this change stays small, as requested. But would you be open to a follow-up that moves that inner block into a small shared component (something like |
Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/web Settings (desktop wraps the same UI)
Problem or use case
Settings has two day-count inputs that look and behave differently:
RetentionControl,apps/web/src/components/settings/StorageSettings.tsx) uses the sharedNumberField: − / value / inlinedays/ +,size="sm", commits ononValueCommitted.AutoSettleDaysInput,apps/web/src/components/settings/SettingsPanels.tsx) is still a plain<Input type="number">: native browser spinner, no unit label, commits on every keystroke and snaps back on blur.Same kind of value, two controls.
SettingsPanelsalready usesNumberFieldfor the Git fetch interval, so the older days input is the odd one out.Proposed solution
Render
AutoSettleDaysInputwith the sameNumberFieldcomposition Storage cleanup uses (steppers, inlinedays,size="sm", commit ononValueCommitted). Keep the 1–90 range (MIN/MAX_SIDEBAR_AUTO_SETTLE_AFTER_DAYS) and leave the enable switch on its current row. Do not fold this intoRetentionControl; it owns its own switch, range, and default.Out of scope: mobile (already has native days fields), port and price inputs, browser toolbar viewport fields. No contract or server change.
All reactions