Redesign scan flow and UI #77
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
Rudy Tajalle requested a redesign of the scan flow and user interface for the Gambit inventory management application. This is a feature/enhancement task to improve the scanning experience.
Reported via Mattermost bot by Gambit Agent
Implemented the first incremental scan-flow onboarding step in the mobile app: users with empty inventory now see an animated Home-screen prompt to add inventory by scanning their first item. The prompt points toward the bottom Scan tab, opens the scanner when tapped, and disappears automatically after inventory is added. Also removed the old POS/Scan/Lister quick-action row beneath Inventory Value. Validation: focused Home-screen lint passes and Expo web export succeeds. Changes are not shipped yet.
Added a 'SKIP FOR NOW' action to the empty-inventory first-scan coachmark. Skipping dismisses the prompt for the current app session so the user can explore without scanning; it can appear again on a later app open while inventory remains empty. Focused lint and Expo web export pass. Changes remain unshipped.
Updated the mobile scan camera screen: replaced the boxed Home icon in the top-left with a plain back arrow to Home; removed the Cost counter from the Inventory Scan top row while preserving the Trade Scan Offer counter; and changed taps on populated scanned-queue cards to open item details directly so cost can be entered there. Cost editing remains available in Review Scans. Validation: scan.tsx lint has 0 errors (existing warnings only), Expo web export succeeds, and mobile-preview.html still redirects to the live Expo preview. Changes remain unshipped.
Corrected the prior scan-screen change per feedback: restored populated queue-card taps to their original contextual behavior (graded comps, eBay comps, variant picker, alternatives, then item details fallback), and removed cost editing from the Review Scans item-details editor. Preserved only the requested plain back arrow and removal of the Inventory Scan top-row Cost counter. Validation: scan.tsx lint has 0 errors (existing warnings only), Expo web export succeeds, and the live mobile preview remains active. Changes remain unshipped.
Investigated missing graded eBay sales after scanning PSA cert 75073154. Root cause was zero-price sold listings being accepted and persisted, which deleted previously valid cached rows; the API retained summary pricing but returned records=null to mobile. Fixed sold-search ingestion to reject zero-price rows and trigger fallback, added a persistence guard so zero-price scrapes cannot replace valid cached sales, refreshed the affected design cache, and added regression tests. Verified design streaming endpoint now returns sale_count=22, records=50, total_matched=59; focused unittest suite passes 7/7.
Work paused at user request. Current state: graded eBay sales issue is fixed and active in the design environment; affected cache was refreshed; live graded scan response returns 50 individual sales rows; focused regression suite passes 7/7. Changes remain unshipped alongside the in-progress mobile scan-flow work. Resume from this state later; do not close issue.
Resumed and validated the paused #77 checkpoint. Scope ready to ship: empty-inventory first-scan Home coachmark with session skip; removal of the old Home quick-action row; scan-screen plain back arrow; Inventory Scan Cost counter removal while Trade Scan retains Offer; Review Scans cost editing removal; and eBay sold-result guards that reject zero-price rows and preserve valid cached sales. Validation: focused mobile lint passes with 0 errors (6 existing scan.tsx warnings), Expo web export succeeds, design API health is OK, live mobile-preview redirect is active, backend py_compile passes in the design API container, focused eBay scraper suite passes 7/7, and git diff --check passes. Full mobile tsc remains blocked by unrelated existing errors in analytics.tsx and trade.tsx. Shipping only the five scoped files; issue remains open for continued scan-flow redesign.
Publish blocker after validation: gitgambit created local commits 09f9b39 (mobile scan-flow checkpoint + graded sales guard) and 8e06d25 (mixed zero-price regression coverage), but both managed ship attempts were rejected by GitHub with 'Repository not found' before merge/sync. Diagnosis: local gh account rudytajalle has an invalid token; connected GitHub app account tcgpaparudy cannot access sknroiws/runrecon; both design and mirror remotes still point to that repository. The feature branch is safely 2 commits ahead of origin, unrelated untracked fablemobile work remains untouched, design API is healthy, and focused backend suite passes 8/8. Issue remains open pending renewed GitHub repository access.
Added a new top-right ADD ITEM control beside the Gambit G badge on the mobile Home screen. It opens a functional choice sheet for SCAN ITEM or MANUAL SEARCH. Scan routes into Inventory Scan; Manual Search routes into the existing add-inventory catalog search. Updated manual search to use /external/search-cards with game=auto and enrich=false so it searches all products stored in the local Gambit catalog database rather than only the configured default game. Validation: focused lint passes, Expo web export succeeds, git diff --check passes, design API health is 200, and authenticated search for 'charizard' returned stored results across pokemon and pokemon-japan. Full mobile tsc remains blocked only by existing unrelated analytics.tsx and trade.tsx errors. Changes not yet shipped.
Homepage Add Item work checkpointed locally in commit a6af6a8 (add homepage item entry and catalog search). gitgambit selected only the two scoped mobile files, committed successfully, then GitHub rejected the managed push with the existing 'Repository not found' access blocker before merge/sync. Feature is validated and active in the design workspace; issue remains open pending GitHub access restoration.
Simplified Home > Add Item > Manual Search by removing the visible Condition, Quantity, and Buy Percentage controls. Adding a catalog result now silently uses quantity 1 plus the operator's saved default condition and buy percentage, preserving existing add behavior while keeping the screen focused on search and results. Validation: focused add-search lint passes, Expo web export succeeds, and git diff --check passes.
Manual-search simplification checkpointed locally in commit 8a2ba7b. gitgambit committed only mobile/rork-recon-card-scanner/expo/app/inventory/add-search.tsx, then GitHub rejected the managed push with the existing 'Repository not found' access blocker before merge/sync. The validated change remains active in the design workspace.
Enhanced Home > Add Item > Manual Search: typing 2+ characters now triggers a 300ms debounced all-catalog search while preserving the familiar SEARCH button; results render as a two-column image grid with larger product pictures; tapping a picture opens a near-full-screen contained image preview; and both the grid card and preview retain explicit ADD actions to prevent accidental inventory additions. Validation: focused lint passes, Expo web export succeeds, git diff --check passes, and authenticated live search for 'char' returned 20/20 results with images. Full mobile tsc remains blocked only by the known unrelated analytics.tsx and trade.tsx errors.
Live-search image-grid enhancement checkpointed locally in commit dc32147. gitgambit committed only the scoped manual-search file, then GitHub rejected the managed push with the existing 'Repository not found' access blocker before merge/sync. The validated change remains active in the design workspace.