[Feature]: Use NumberField for the auto-settle inactivity days input
Before submitting
- I searched existing issues and did not find a duplicate.
- I am describing a concrete problem or use case.
Area
apps/web Settings (desktop wraps the same UI)
Problem or use case
Settings has two day-count inputs that look and behave differently:
- Storage cleanup (
RetentionControl,apps/web/src/components/settings/StorageSettings.tsx) uses the sharedNumberField: − / value / inlinedays/ +,size="sm", commits ononValueCommitted. - Auto-settle inactivity (
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. SettingsPanels already uses NumberField for the Git fetch interval, so the older days input is the odd one out.
Proposed solution
Render AutoSettleDaysInput with the same NumberField composition Storage cleanup uses (steppers, inline days, size="sm", commit on onValueCommitted). 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 into RetentionControl; 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.
Source: pingdotgg/t3code