feat(ui): show save status on every settings field #205
No reviewers
Labels
No labels
backend
bug
chore
duplication
effort:complex
effort:medium
effort:trivial
enhancement
frontend
fullstack
priority:high
ready-for-agent
refactor
security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
dries/ocman!205
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/settings-row-save-status"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Extends the existing spinner/checkmark save indicator to every settings row, not just the two server-persisted ones (Human review window, Reviewer prompt sections). Previously the client-only toggles (System notifications, Bell sound, Enable-by-default, the day inputs) and the async Sharing toggle showed no feedback.
What changed
components/SettingRow.tsx:<SettingRow>+<SettingToggle>/<SettingNumber>. The control owns the save-and-show-status flow — sync (localStorage) saves get a brief min-spinner so the checkmark still reads as feedback; async (API) saves spin for real; a rejected save shows the error mark without throwing.Dashboard.tsxandSharingSettings.tsxto the new components. The Sharing toggle was async with no indicator — fixed.useSettingSavehook added touseSaveStatus.ts.Guardrail (so it can't be missed again)
scripts/check-settings-rows.shfails on hand-rolledclassName="settings-row"markup outside the component. Wired intomake lintand CI (mirrors the existingcheck-platform-branchingguard). Action-only rows (Install / Sign out) are pragma-suppressed.Tests
SettingRow.test.tsxcovers spinner→checkmark, error indicator, and value parsing.Stacked on #203 (base:
feat/share-settings-toggle).