Skip to content

[Mobile] Issue creation and editing - #24

Merged
wak327 merged 1 commit into
mobile-boardfrom
mobile-issue-crud
Sep 11, 2026
Merged

wak327 merged 1 commit into
mobile-boardfrom
mobile-issue-crud

Conversation

@wak327

@wak327 wak327 commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Closes #6.

Stacked on #23 (board). Review the chain in order.

Every property the web's new-issue modal offers, as tappable rows opening a sheet rather than a column of <select>s — a phone has no <select> worth having. Only the title is required.

On the detail screen properties are written through as they are picked rather than collected behind a Save button: each is a single-field PATCH, and a form that must be submitted invites half-made edits to be lost when the screen is dismissed. Title and description are the exception, because they are typed, so they save on blur.

"Not sized" and "Unassigned" get their own rows rather than being expressed by closing the sheet. The API distinguishes them from an absent edit, and the board's point totals read differently for an unsized issue than a zero one.

Labels and projects can be created inline, as the web allows any member to do — leaving for team settings to add a label mid-triage is worse on a phone than at a desk.

Verification

5 integration tests against a live instance: the identifier is server-allocated as TEAMKEY-n, every property round-trips, the estimate scale is exactly what the picker offers (4 is refused with a 422), clearing back to null works, and a deleted issue stops being listed.

Closes #6.

Every property the web's new-issue modal offers, as tappable rows opening a
sheet rather than a column of selects -- a phone has no `<select>` worth having.
Only the title is required, so capturing a thought costs one field and a tap.

On the detail screen properties are written through as they are picked rather
than collected behind a Save button: each is a single-field PATCH, and a form
that must be submitted invites half-made edits to be lost when the screen is
dismissed. Title and description are the exception, because they are typed, so
they save on blur.

"Not sized" and "Unassigned" get their own rows rather than being expressed by
closing the sheet. The API distinguishes them from an absent edit, and the
board's point totals read differently for an unsized issue than a zero one.

Labels and projects can be created inline, as the web allows any member to do --
leaving for team settings to add a label mid-triage is worse on a phone than at
a desk.

The detail screen resolves its team from the issue rather than the active one,
since a link can arrive from anywhere.

Verified against the reference stack: the identifier is server-allocated as
TEAMKEY-n, every property round-trips, the estimate scale is exactly what the
picker offers (4 is refused), clearing back to null works, and a deleted issue
stops being listed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@wak327
wak327 merged commit 26c251f into mobile-board Sep 11, 2026
2 checks passed
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