Skip to content

feat(ux): inline-edit select/status fields from the record detail - #124

Merged
os-zhuang merged 1 commit into
mainfrom
feat/ux-inline-status-edit
Jun 11, 2026
Merged

feat(ux): inline-edit select/status fields from the record detail#124
os-zhuang merged 1 commit into
mainfrom
feat/ux-inline-status-edit

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

UX-F — Inline status edit (final walkthrough item)

The last remaining item from the UX walkthrough.

What

  • A select / status / priority field on the detail screen now renders its coloured badge with a pencil affordance.
  • Tapping opens an option picker (BottomSheet of coloured option badges); choosing a value persists it (data.update) and refetches, with a saving spinner and a success/failure toast.
  • Non-select fields stay read-only; a field marked readonly is left alone.

How

DetailViewRenderer gained an optional onFieldEdit(field, value) prop — the detail screen wires it to a data.update + refetch + toast. When the prop is absent the detail is strictly read-only, exactly as before (so other callers are unaffected). i18n: records.{updated,updateFailed,editField} in en/zh/ar.

Verified

Browser (375dp, dark): tapped Status on a task → picker (Not Started / In Progress / Waiting / Completed ✓ / Deferred) → chose In Progress → badge updated Completed → In Progress with the change persisted. Full suite: 1328 passing, tsc + lint clean.

This closes the UX optimization pass (dark mode, dashboard KPI grid + measure/derived values, list sort/group/density/value-labels, detail action overflow + dark-mode fix, form sticky-save + unsaved guard, home recents + quick-create, notification grouping, recent searches, haptics, inline status edit).

🤖 Generated with Claude Code

The final walkthrough item. A select/status/priority field on the detail
screen now renders its coloured badge with a pencil affordance; tapping opens
an option picker, and choosing a value persists it (data.update) and refetches,
with a saving spinner and a success/failure toast. Non-select fields stay
read-only, and a field marked readonly is left alone.

DetailViewRenderer gained an optional `onFieldEdit(field, value)` prop (the
detail screen wires it); when absent the detail is strictly read-only as before.
i18n: records.{updated,updateFailed,editField} in en/zh/ar.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@os-zhuang
os-zhuang merged commit 05f54b4 into main Jun 11, 2026
@os-zhuang
os-zhuang deleted the feat/ux-inline-status-edit branch June 11, 2026 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant