Commit Graph

477 Commits

Author SHA1 Message Date
024e9f909b fix: make image read-only for reference items, rename delete to remove
- Reference items show catalog image as read-only in edit mode (no upload)
- "Delete" button renamed to "Remove from Collection" for reference items

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:27:16 +02:00
69308e293f fix: restrict edit mode for reference items to personal fields only
Reference items (linked to global catalog) now show name, brand, weight,
and MSRP as read-only in edit mode with "from the catalog" hint. Only
personal fields (notes, category, quantity, image, product URL) are
editable. Standalone items retain full edit access.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:22:09 +02:00
56b81ee8ab fix(23): resolve UAT issues — duplicate header, image position, catalog submit style
- Remove duplicate back arrow/header from ManualEntryForm (overlay already shows it)
- Move ImageUpload to top of ManualEntryForm for visual cohesion
- Change "Submit to Catalog?" from text link to checkbox-style toggle

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:17:05 +02:00
4cb279db73 test(23): complete UAT - 2 passed, 4 issues 2026-04-06 19:14:41 +02:00
6abf46d8c9 docs(phase-23): complete phase execution 2026-04-06 18:01:31 +02:00
25b519b3c6 test(23): persist human verification items as UAT 2026-04-06 18:01:23 +02:00
724ae96011 docs(23-01): complete manual entry fallback plan
- ManualEntryForm component with CategoryPicker, ImageUpload, price-to-cents conversion
- CatalogSearchOverlay wired with Add Manually entry points, inline form, success card
- STATE.md updated with position, decisions, metrics
- ROADMAP.md phase 23 marked complete
- CATFLOW-07, CATFLOW-08 requirements marked complete
2026-04-06 17:57:58 +02:00
f0e1cf4b9b feat(23-01): wire ManualEntryForm into CatalogSearchOverlay
- Add manualEntryMode and savedItemName local state with resets on overlay close
- Back arrow is context-sensitive: returns to search when in manual mode, closes overlay otherwise
- Header text updates to 'Manual Entry' or 'Item Added' in manual entry mode
- Search input, filters, and view toggles hidden when in manual entry mode
- EmptyState now accepts onAddManually callback with context-sensitive link text
- Persistent 'Can't find it? Add manually' link shown below search results
- ManualEntryForm rendered inline when manualEntryMode is active
- Success card shown after save with 'Submit to Catalog?' toast-only button
- 'Add Another' resets to search, 'Done' closes overlay
2026-04-06 17:56:41 +02:00
153b6cb76a feat(23-01): create ManualEntryForm component
- Compact form with name, category, weight, price, purchase price, product URL, notes, image
- Uses CategoryPicker and ImageUpload reusable components
- Calls useCreateItem without globalItemId for standalone item creation
- Back arrow (ArrowLeft) calls onBack prop to return to search results
- Converts price strings to cents via Math.round(Number(val) * 100)
- No toast.success on save — success card in overlay handles feedback
2026-04-06 17:38:13 +02:00
d736795f2d docs(state): record phase 23 planning session 2026-04-06 17:36:11 +02:00
cca99778a4 docs(23): create phase plan for manual entry fallback 2026-04-06 17:34:14 +02:00
d73da67cff docs(phase-23): add validation strategy 2026-04-06 17:30:42 +02:00
93bc7cccfa docs(phase-23): research manual entry fallback phase 2026-04-06 17:30:01 +02:00
53740ba10b docs(state): record phase 23 context session 2026-04-06 17:25:42 +02:00
5ae0dd1b2d docs(23): capture phase context 2026-04-06 17:25:35 +02:00
39e27cf516 docs(phase-22): complete phase execution 2026-04-06 16:16:21 +02:00
ad43d6935c test(22): persist human verification items as UAT 2026-04-06 16:16:00 +02:00
81a3e04306 docs(22-02): complete add-to-thread modal plan
- AddToThreadModal with thread picker and new thread creation
- CATFLOW-05 and CATFLOW-06 requirements completed
- Phase 22 catalog integration complete
2026-04-06 16:01:36 +02:00
c33b7c7bdc feat(22-02): build AddToThreadModal with thread picker and new thread flow
- Create AddToThreadModal with pick/create modes for thread selection
- Support existing thread selection with category display
- Support new thread creation with candidate in one step
- Pre-select session thread via catalogSessionThreadId
- Auto-switch to create mode when no active threads exist
- Wire AddToThreadModal at root layout level
2026-04-06 16:00:34 +02:00
e8b7907a22 docs(22-01): complete add-to-collection flow plan
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:58:04 +02:00
ed76236294 feat(22-01): wire catalog search and detail page to collection/thread modals
- Replace handleAddStub with handleAdd dispatching to correct modal by mode
- Global item detail page: add both "Add to Collection" and "Add to Thread" buttons
- Remove console.log stub from detail page
- Import useUIStore in both components

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:56:40 +02:00
f309c73304 feat(22-01): add UIStore modal states, AddToCollectionModal, and sonner toasts
- Extend UIStore with addToCollectionModal, addToThreadModal, catalogSessionThreadId
- Create AddToCollectionModal with category dropdown, notes, purchase price
- Install sonner and add Toaster + AddToCollectionModal to root layout
- closeCatalogSearch now resets catalogSessionThreadId

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:55:44 +02:00
576c59a460 docs(state): record phase 22 planning session 2026-04-06 15:47:12 +02:00
431ff99f0f fix(22): revise plans based on checker feedback 2026-04-06 15:44:39 +02:00
2c1517032c docs(22): create phase plan for add-from-catalog and thread integration 2026-04-06 15:38:27 +02:00
83b601bcf6 docs(phase-22): add validation strategy 2026-04-06 15:33:28 +02:00
886a54529f docs(22): research phase domain 2026-04-06 15:32:27 +02:00
c3e13d6082 docs(state): record phase 22 context session 2026-04-06 15:28:20 +02:00
54d1b73f65 docs(22): capture phase context 2026-04-06 15:28:08 +02:00
8e872df0ec docs(phase-21): complete phase execution, resolve merge conflicts 2026-04-06 15:23:02 +02:00
a62357c063 Merge branch 'worktree-agent-a00c5cfa' into Develop
# Conflicts:
#	.planning/REQUIREMENTS.md
#	.planning/STATE.md
#	src/client/components/CatalogSearchOverlay.tsx
#	src/client/routes/threads/$threadId.tsx
2026-04-06 15:15:57 +02:00
fcb05e6b05 docs(21-03): complete card navigation rewire and panel removal plan
- SUMMARY.md with 2 tasks, 10 files modified, 3 deviations documented
- STATE.md updated with position, decisions, metrics
- Requirements DETAIL-04, DETAIL-05 marked complete
2026-04-06 15:14:38 +02:00
4c79735426 feat(21-03): remove slide-out panels from root layout and clean UIStore
- Remove Item and Candidate SlideOutPanel instances from __root.tsx
- Remove SlideOutPanel, ItemForm, CandidateForm imports from root
- Remove panel state (panelMode, editingItemId, candidatePanelMode, editingCandidateId) from UIStore
- Remove panel actions (openEditPanel, openAddPanel, closePanel, etc.) from UIStore
- Preserve currentThreadId derivation for CandidateDeleteDialog
- Update CollectionView empty state to use catalog search instead of add panel
- Update ItemForm/CandidateForm with onClose prop replacing store panel close
- Clean all dead panel references across src/client/
2026-04-06 15:12:59 +02:00
1f79c5ca3c feat(21-03): rewire card click handlers to navigate to detail pages
- ItemCard navigates to /items/$itemId instead of opening edit panel
- CandidateCard navigates to /threads/$threadId/candidates/$candidateId
- CandidateListItem navigates to candidate detail page
- CatalogSearchOverlay cards navigate to /global-items/$globalItemId
- Add button on catalog cards uses stopPropagation to prevent navigation
2026-04-06 15:07:51 +02:00
a5a40b2068 Merge branch 'worktree-agent-a4608610' into Develop
# Conflicts:
#	.planning/ROADMAP.md
#	.planning/STATE.md
#	src/client/routes/threads/$threadId.tsx
2026-04-06 15:04:13 +02:00
6474033414 Merge branch 'worktree-agent-a1363a63' into Develop
# Conflicts:
#	.planning/ROADMAP.md
#	.planning/STATE.md
2026-04-06 15:04:00 +02:00
52c9ec3fe2 docs: stage before wave 1 merge 2026-04-06 15:03:45 +02:00
62546f744b docs(21-01): complete detail pages plan — item detail with edit mode, catalog Add button
- SUMMARY.md with task commits and known stubs
- STATE.md updated to phase 21, plan 1 of 3 complete
- ROADMAP.md updated with plan progress
2026-04-06 15:03:30 +02:00
d19090a279 docs(21-02): complete candidate detail page and thread modal plan
- Add 21-02-SUMMARY.md with execution results
- Update STATE.md, ROADMAP.md, REQUIREMENTS.md
2026-04-06 15:03:29 +02:00
47b416effd feat(21-02): replace slide-out panel with add-candidate modal on thread page
- Add local AddCandidateModal component with all candidate form fields
- Remove openCandidateAddPanel UIStore dependency
- Modal includes image upload, category picker, pros/cons, validation
2026-04-06 15:02:13 +02:00
408025bb36 feat(21-01): enhance catalog detail page with Add to Collection button
- Add image placeholder (package icon) when no imageUrl exists
- Add 'Add to Collection' button stub between specs and description
- Button styled per D-10, logs to console (actual flow wired in Phase 22)
- Consistent layout with item detail page
2026-04-06 15:02:07 +02:00
3228bcadbe feat(21-01): create private item detail page with edit mode toggle
- Full detail page at /items/:id with hero image, name, spec badges, notes, product link
- Edit mode toggle: read-only by default, editable inputs when Edit clicked
- Save persists via useUpdateItem, Cancel reverts to read-only
- Duplicate and Delete actions via existing hooks/dialogs
- Back link to /collection, loading shimmer, error state
- CategoryPicker and ImageUpload in edit mode
2026-04-06 15:01:10 +02:00
cecaf78ead feat(21-02): restructure thread route and create candidate detail page
- Move $threadId.tsx to $threadId/index.tsx for nested route support
- Create candidate detail page at /threads/:threadId/candidates/:candidateId
- Edit mode toggle with form fields for all candidate properties
- Back navigation, pick-as-winner, and delete actions
2026-04-06 15:00:25 +02:00
f9132d754b docs(phase-21): add validation strategy 2026-04-06 14:56:10 +02:00
b10d81798f docs(21): create phase plan — 3 plans across 2 waves 2026-04-06 14:53:08 +02:00
e0ce45a57c docs(21): research phase domain 2026-04-06 14:46:56 +02:00
bbdcab1eac docs(state): record phase 21 context session 2026-04-06 14:42:30 +02:00
6c59ed0812 docs(21): capture phase context 2026-04-06 14:42:30 +02:00
2d71ce15af docs: add Phase 21 (Item & Catalog Detail Pages), renumber 21→22, 22→23
Some checks failed
CI / ci (push) Failing after 13s
CI / e2e (push) Has been skipped
2026-04-06 14:38:27 +02:00
4b8dec6252 docs(quick-260406-j44): comprehensive dev seed script for bikepacking gear data 2026-04-06 13:54:05 +02:00