Skip to content

Add the Sell tab: post a listing from one screen - #119

Open
AndrewG828 wants to merge 1 commit into
user/andrewgao/feature/UI-UX-Lucid-Refactor-08-multi-image-pickerfrom
user/andrewgao/feature/UI-UX-Lucid-Refactor-09-sell-tab
Open

Add the Sell tab: post a listing from one screen#119
AndrewG828 wants to merge 1 commit into
user/andrewgao/feature/UI-UX-Lucid-Refactor-08-multi-image-pickerfrom
user/andrewgao/feature/UI-UX-Lucid-Refactor-09-sell-tab

Conversation

@AndrewG828

@AndrewG828 AndrewG828 commented Sep 3, 2026

Copy link
Copy Markdown
Member

Stacked PR 9 of 15. Based on #118 — merge in order.
#111#112#113#114#115#116#117#118#119#120#121#122#123#124#125

Replaces the three-step push flow (add button → images → details) with a single
form: photos, title and price, category, condition, description, publish.
Nothing routes to it yet — the tab bar rework wires it up.

The photo well is a carousel rather than a strip, so each image is reviewed at
the size it will be posted at, with delete and add controls on the image itself
and arrows only where there is somewhere to go.

Categories come from Constants.filters instead of a hand-written list. The
first cut hardcoded seven, which already disagreed with the taxonomy — it was
missing Household. Only the "Handmade" → "Homemade" display name is
special-cased here.

New listings default to "Gently Used" rather than "Never Used": the previous
default made the strongest claim on the seller's behalf, which is the wrong way
round for a form that people will submit without reading.

Left out of the port: a clothing-only "Additional Details" block whose call site
was commented out and whose fields did nothing.

Worth flagging for a follow-up — NewListingViewModel.createNewListing() calls
clear() on failure as well as success, so a network error silently empties the
form. That was survivable when the form was a pushed screen you were about to
leave; on a tab root that keeps you where you are, it reads as the app throwing
your listing away.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_017R8mua9xepzF3mnRETtd6W

Replaces the three-step push flow (add button → images → details) with a single
form: photos, title and price, category, condition, description, publish.
Nothing routes to it yet — the tab bar rework wires it up.

The photo well is a carousel rather than a strip, so each image is reviewed at
the size it will be posted at, with delete and add controls on the image itself
and arrows only where there is somewhere to go.

Categories come from `Constants.filters` instead of a hand-written list. The
first cut hardcoded seven, which already disagreed with the taxonomy — it was
missing Household. Only the "Handmade" → "Homemade" display name is
special-cased here.

New listings default to "Gently Used" rather than "Never Used": the previous
default made the strongest claim on the seller's behalf, which is the wrong way
round for a form that people will submit without reading.

Left out of the port: a clothing-only "Additional Details" block whose call site
was commented out and whose fields did nothing.

Worth flagging for a follow-up — `NewListingViewModel.createNewListing()` calls
`clear()` on failure as well as success, so a network error silently empties the
form. That was survivable when the form was a pushed screen you were about to
leave; on a tab root that keeps you where you are, it reads as the app throwing
your listing away.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017R8mua9xepzF3mnRETtd6W
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: eb1efbb8-e820-4c0c-a4b4-e3459891aaa1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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