Skip to content

Bulk rows follow the user-approved mockup: artwork, condition, language, quantity and deletion above two side-by-side fields. The abbreviated card name and old Price column are removed. Accessible card names remain available.

Purchase cost is optional editable per-copy acquisition cost. Current value is an automatic read-only per-copy quote; the total sums quote times quantity. The user explicitly selected automatic read-only current value. The previous separate bottom editor is removed. A missing quote stays unavailable regardless of purchase cost. Empty cost remains unknown; zero is explicit. Invalid drafts block submission, pending writes disable editing, and existing costs are kept.

App PR: https://github.com/snag-tcg/poc-tcg-collector/pull/955. All 19 focused bulk tests pass, covering selector width, inline comma-decimal entry, invalid/empty/zero costs, per-copy submission, missing quotes and total independence from costs. Full repository results are recorded on the app PR. No emulator, account, collection or production change. Device visual validation remains pending; development and validation ran on the personal VPS.

Cost typing stays in local draft state; valid costs are saved on editing end or flushed before Add. This avoids invalidating quote requests for each keystroke and supports submission while the keyboard is still focused.

The add button uses the card-detail depth construction: a tinted, offset layer below a bordered button. The decoration ignores pointer events. Theme tests cover light/dark tint, radius and border, alongside existing submission tests.