Mike Kell
dfe7ae1811
feat: add multi-select groundwork to product publishing (Stage 3A)
...
Add read-only multi-selection state to the product publishing workspace, preparing for future bulk actions without introducing any bulk writes.
Controller (ProductPublishingController):
- Add _multiSelectedIds Set<String> for tracking multi-selected product IDs
- Add toggleMultiSelect(id) to add/remove individual IDs
- Add clearMultiSelection() to deselect all
- Add selectAllVisible() to select all currently visible (filtered/searched) drafts
- Add isMultiSelected(id), multiSelectedIds, multiSelectedCount, isMultiSelectActive getters
- Multi-selection is independent of single-item preview selection
- Multi-selection persists across load cycles and write operations
UI (ProductDraftCard):
- Add optional isMultiSelected/onMultiSelectToggle props
- Show leading Checkbox when multi-select mode is active
- Tapping checkbox toggles multi-select; tapping card body still fires single-item preview
UI (ProductPublishingPage):
- Add _MultiSelectBar widget above product list when multi-select is active
- Shows selected count, Select All button, and Clear button
- Replace deprecated withOpacity() calls with withValues(alpha:)
Tests:
- 15 new multi-select controller tests covering toggle, clear, select-all,
filter/search interaction, independence from preview selection, persistence
across loads and writes, and listener notifications
- Total: 262 feature_wordpress tests passing
Validation:
- dart analyze: clean (0 issues)
- flutter test: 262/262 passed
Changed files:
- lib/src/application/product_publishing_controller.dart
- lib/src/presentation/widgets/product_draft_card.dart
- lib/src/presentation/product_publishing_page.dart
- test/product_publishing_controller_test.dart
- docs/development/master_development_brief.md
2026-05-22 08:33:24 -04:00
Mike Kell
02cc75c655
feat: publishing workflow UX hardening (Stage 2B)
Validate Docs / validate-docs (push) Successful in 1m9s
Details
2026-04-11 16:40:10 -04:00
Mike Kell
cf0889d4a9
feat: post-write consistency hardening (Stage 2A)
...
Validate Docs / validate-docs (push) Successful in 1m4s
Details
Add _refreshSelection() to ProductPublishingController to preserve and refresh selectedDraft by id after all write-triggered reloads. Selection stays on the same product with latest data, or auto-selects first visible item if the original leaves the active filter.
- 11 new post-write consistency tests (234 total)
- dart analyze clean
2026-04-11 16:11:06 -04:00
Mike Kell
b69edd3e4a
feat(wordpress): add category-only product edit (Stage 1B)
Validate Docs / validate-docs (push) Successful in 1m3s
Details
2026-04-11 15:54:51 -04:00
Mike Kell
8d1a01581a
tage 1A — Description-only product edit implemented
Validate Docs / validate-docs (push) Successful in 56s
Details
2026-04-11 11:07:36 -04:00
Mike Kell
ae9c1dd90c
feat(feature_wordpress): add name-only product update
Publish Docs / publish-docs (push) Successful in 57s
Details
2026-04-11 10:36:00 -04:00
Mike Kell
f8f373b018
fix(feature_wordpress): allow pending review products to move to draft
Publish Docs / publish-docs (push) Successful in 1m12s
Details
2026-04-11 08:16:49 -04:00
Mike Kell
ed2333d188
Implement WooCommerce publishDraft flow
Validate Docs / validate-docs (push) Successful in 1m24s
Details
2026-04-05 20:15:00 -04:00
Mike Kell
039612cb6e
Update main with product publishing
Publish Docs / publish-docs (push) Successful in 1m57s
Details
2026-04-05 20:03:10 -04:00
Mike Kell
7ab526f083
feat(wordpress): add real WooCommerce read-only product repository
Validate Docs / validate-docs (push) Successful in 1m9s
Details
2026-04-04 15:14:38 -04:00
Mike Kell
23ea1bebe1
feat(workflows): add shared filtering search and selection persistence
Validate Docs / validate-docs (push) Successful in 1m0s
Details
2026-04-04 14:59:26 -04:00
Mike Kell
e06c2d8f94
refactor(kell-web): add app-level dependency composition
Validate Docs / validate-docs (push) Successful in 1m9s
Details
2026-04-04 13:38:51 -04:00
Mike Kell
226b21d22d
feat(products): add product publishing workspace vertical slice
Validate Docs / validate-docs (push) Successful in 50s
Details
2026-04-04 13:13:26 -04:00
Mike Kell
59548cedbd
Add Flutter app and package monorepo scaffold
Publish Docs / publish-docs (push) Successful in 59s
Details
2026-04-04 09:19:46 -04:00