- CatalogSearchOverlay: replace handleAddStub with real openAddToCollection/openAddToThread routing based on catalogSearchMode - ConfirmDialog + __root.tsx: swap t() for Trans component on deleteItemMessage, deleteCandidateMessage, pickWinnerMessage — fixes <bold> rendering as literal text - Biome format pass: fix 23 lint/format errors across scripts, services, tests - Planning: mark all UAT and verification gaps resolved for phases 07, 11, 16, 20, 21, 22, 24, 32, 34; close debug sessions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.9 KiB
status, phase, source, started, updated
| status | phase | source | started | updated | |
|---|---|---|---|---|---|
| complete | 22-add-from-catalog-thread-integration |
|
2026-04-06T15:00:00Z | 2026-04-19T00:00:00Z |
Current Test
[complete]
Tests
1. Add to Collection from catalog search overlay (collection mode)
expected: Clicking Add on a catalog card in collection mode opens AddToCollectionModal with category dropdown, notes textarea, and purchase price input. Submitting creates the item and shows 'Added to Collection' toast. result: PASS — fix applied (handleAddStub replaced with real handler)
2. Add to Collection from global item detail page
expected: Clicking 'Add to Collection' on /global-items/:id opens AddToCollectionModal with the correct item name pre-filled. Submit creates the item. result: PASS
3. Add to Thread (existing thread) from catalog search overlay (thread mode)
expected: Clicking Add in thread mode opens AddToThreadModal with a dropdown listing active threads. Selecting a thread and submitting adds the item as a candidate and shows a toast with the thread name. Subsequent adds pre-select the same thread (session memory). result: PASS
4. New Thread creation from thread picker
expected: Selecting '+ New Thread...' in the thread picker switches to create mode showing thread name + category fields. Submitting creates the thread and candidate in one step and shows 'Created [name] with first candidate' toast. result: PASS — note: category field uses plain select instead of CategoryPicker (logged as todo)
5. Thread resolution with catalog-linked candidate (CATFLOW-06 regression)
expected: Resolving a thread whose winning candidate has a globalItemId creates a new collection item with the global item link. Verifiable in /collection after resolution. result: PASS
Summary
total: 5 passed: 5 issues: 0 pending: 0 skipped: 0 blocked: 0
Gaps
- CategoryPicker not used in AddToThreadModal new-thread mode (logged as todo, not a blocker)