make_post_sell/docs
russell@unturf.com 7c227ab467
feat: MPS-24 Phase 2.4 — SPA bulk tagger + Netflix-style lanes
Two operator-workflow improvements that compound. With Phase 1+2+2.3
shipped the categorisation works; with this phase iterating on tag
suggestions feels like one fluid screen instead of a stack of POST/
redirect cycles, and the lanes home actually looks like categorised
shelves.

SPA progressive enhancement on /s/{shop_id}/tags:

- Every form (create / delete / attach / detach / apply_suggestion /
  dismiss_suggestion) still POSTs and 302-redirects without JS — the
  no-JS user path is unchanged. With JS, static/js/tag_bulk.js
  intercepts submits, POSTs via fetch with X-Requested-With:
  XMLHttpRequest, and the server returns JSON describing what
  changed. Capability-driven per CLAUDE.md.
- New _is_ajax() + _tag_ajax_response() helpers in views/shop.py
  pop the Pyramid flash queue into the JSON payload so JS can render
  toasts (.tag-flash / .tag-flash-toast / .tag-flash-{success,error,
  info}). Falls back to a full form submit if fetch() errors.
- Template gained data-tag-form="<action>" attributes for delegation
  and data-tag-row / data-suggest-row / data-product-row hooks for
  DOM mutation. Re-attach pass on inserted rows.
- 6 new functional tests cover each AJAX action plus the no-JS
  fallback (POST without the header still 302-redirects).

Netflix-style horizontal-scroll lanes:

- .tag-lane-grid is now display: grid + grid-auto-flow: column +
  grid-auto-columns: minmax(160px, 200px) + overflow-x: auto +
  scroll-snap-type: x mandatory. Each lane is visually bounded as
  a category, tiles snap on swipe.
- Tiles drop the .serp class (the auto-fit grid was fighting the
  new horizontal flow) but keep .serp-item for hover styles.
- Thumbnails inside lane tiles use width:auto + max-width:100% +
  max-height:200px per CLAUDE.md media-sizing rule.
- Mobile (≤ 800px): tiles narrow to 140-160px, swipe-friendly.
- /styleguide updated with a 5-tile lane example so future operators
  see the new pattern.

1088 tests passing.
2026-05-15 12:55:36 -04:00
..
tickets feat: MPS-24 Phase 2.4 — SPA bulk tagger + Netflix-style lanes 2026-05-15 12:55:36 -04:00
ADYEN.md Add Adyen payment integration 2025-12-22 17:16:54 -05:00
architecture.md feat: MPS-24 Phase 2 — auto-suggest tags from title + description 2026-05-15 09:09:40 -04:00
auction-house.md feat: bounded SSE feeds for offer & auction state machines 2026-05-12 21:03:50 -04:00
crypto-payments-state-machine.md Update state machine documentation to use dash-separated naming 2025-10-04 13:02:07 -04:00
CRYPTO.rst Update Dogecoin blockchain size to reflect 2025 reality 2025-09-30 22:34:33 -04:00
CRYPTO_PERFORMANCE.rst Update Dogecoin blockchain size to reflect 2025 reality 2025-09-30 22:34:33 -04:00
CRYPTO_PROBLEMS.rst Fix payment UI documentation - buttons are REMOVED not disabled 2025-09-30 22:54:22 -04:00
design-system.md feat: MPS-24 Phase 2 — auto-suggest tags from title + description 2026-05-15 09:09:40 -04:00
DOGECOIN.md Remove redundant Dogecoin configuration examples 2025-09-30 22:43:58 -04:00
DOGECOIN_DOOM.md Document DOGE DOOM vulnerability discovered by walkeruin 2025-10-03 20:04:22 +00:00
JAVASCRIPT.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
karaoke-ondemand.dot docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
karaoke-ondemand.dot.svg docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
karaoke-pipeline.dot docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
karaoke-pipeline.dot.svg docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
karaoke-pipeline.md docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
make-offer.md feat: bounded SSE feeds for offer & auction state machines 2026-05-12 21:03:50 -04:00
MONERO.rst Remove database implementation details from crypto docs 2025-09-30 22:40:10 -04:00
MONERO_DOOM.rst Add comprehensive crypto payment state transition validation 2025-09-30 11:26:44 -04:00
notifications.md docs: notification system + design-system surface for offers/auctions 2026-05-14 14:49:39 -04:00
PAYPAL.md Add privacy warnings to PayPal docs, create Adyen integration doc 2025-12-22 16:11:54 -05:00
poc-cwe407.py docs: CWE-407 security section — bleach O(2^N) exposure and PoC 2026-03-29 21:19:59 -04:00
sandbox-mode.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
state-machine.dot Update state machine documentation to use dash-separated naming 2025-10-04 13:02:07 -04:00
state-machine.dot.svg Update state machine documentation to use dash-separated naming 2025-10-04 13:02:07 -04:00
state-machine.png Fix DOGE fee calculation bug and improve UI consistency 2025-10-06 09:36:02 -04:00
state-machine.svg modified: Makefile 2025-09-30 15:43:54 -04:00
testing-performance.md Add comprehensive documentation for parallel test execution system 2026-01-21 12:25:41 -05:00
wordpress-import-html.dot docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00
wordpress-import-html.dot.svg docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00
wordpress-import-pipeline.dot docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00
wordpress-import-pipeline.dot.svg docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00
wordpress-import-pipeline.md docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00