@stapel/listings-react 0.25.4 → 0.25.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @stapel/listings-react
2
2
 
3
+ ## 0.25.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 000724c: listings-react: the dashboard's Delete is drawn only where there is a route behind it
8
+
9
+ A published listing cannot be deleted — the server has no such route — and the
10
+ seller's dashboard drew the control for it anyway, switched off. Pooled into
11
+ the pane's `<PaneGate>`, "switched off" is a live-looking button carrying
12
+ `aria-disabled="true"` whose reason sits somewhere else on the screen: the
13
+ desktop walk pressed it twenty-six times for zero dialogs and zero effect.
14
+
15
+ Delete is now drawn on the rows that can be deleted (drafts, archived, sold,
16
+ paused, expired) and not at all on a listing that is on sale, whose own next
17
+ move — Archive — is in `actions.moves` because the server put it there. After
18
+ archiving, Delete appears and works.
19
+
20
+ `useListingActions` gains `removable`, the same question `moves` answers for
21
+ the lifecycle edges asked for the one action that is not one of them.
22
+ `remove` still states its reason, so a skin that chooses to draw the control
23
+ anyway says why it is off rather than showing a bare disabled box.
24
+
3
25
  ## 0.25.4
4
26
 
5
27
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"MyListingsPane.d.ts","sourceRoot":"","sources":["../../src/default/MyListingsPane.tsx"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAWrD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAKhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAoDhD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAgOjE,MAAM,WAAW,mBAAoB,SAAQ,aAAa,EAAE,aAAa;IACvE;+DAC2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACrE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA6PvE"}
1
+ {"version":3,"file":"MyListingsPane.d.ts","sourceRoot":"","sources":["../../src/default/MyListingsPane.tsx"],"names":[],"mappings":"AAwDA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAWrD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAKhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAoDhD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAgPjE,MAAM,WAAW,mBAAoB,SAAQ,aAAa,EAAE,aAAa;IACvE;+DAC2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACrE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA6PvE"}
@@ -42,6 +42,17 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
42
42
  * ordinary text beside it, and the status is one `<ListingStatusBlock>`.
43
43
  * Delete asks first, through the shared `<SkinConfirm>` — a bottom sheet on a
44
44
  * phone. It used to fire the mutation on the first click.
45
+ *
46
+ * ── And a control with no route behind it is not drawn (D425) ──────────────
47
+ *
48
+ * Delete is offered on the rows that CAN be deleted — drafts, archived, sold,
49
+ * paused, expired — and on a listing that is on sale it is not offered at all.
50
+ * A published row's own move is Archive, which is in `actions.moves` because
51
+ * the SERVER put it there, and delete follows the archiving. The alternative
52
+ * shipped, and the desktop walk measured it: a live-looking button carrying
53
+ * `aria-disabled="true"`, pressed twenty-six times, opening no dialog and
54
+ * changing nothing, with its "archive it first" sentence pooled into the
55
+ * pane's `<PaneGate>` where nobody read it.
45
56
  */
46
57
  import { useState } from "react";
47
58
  import { Flex, List, Tabs, Typography } from "antd";
@@ -166,16 +177,16 @@ function MyListingRow(props) {
166
177
  const cover = props.listing.images?.[0] ?? props.listing.images_draft?.[0];
167
178
  return (_jsxs(List.Item, { "data-testid": "listings-mine-row", "data-listing-id": props.listing.id, style: { alignItems: "flex-start" }, children: [_jsx("style", { href: MINE_STYLE_HREF, precedence: "default", children: myListingsCss() }), _jsxs(Flex, { gap: spacing[3], style: { width: "100%", minWidth: 0 }, children: [_jsx("div", { style: { flex: `0 0 ${THUMB_WIDTH}`, width: THUMB_WIDTH }, children: _jsx(RowLink, { listing: props.listing, href: props.listingHref, linkComponent: props.linkComponent, testId: "listings-mine-thumb-link", label: heading ?? `#${String(props.listing.id)}`, children: _jsx(ListingPhoto, { imageRef: cover, alt: heading ?? `#${String(props.listing.id)}` }) }) }), _jsxs(Flex, { vertical: true, gap: spacing[2], style: { flex: "1 1 auto", minWidth: 0 }, children: [_jsx(RowLink, { listing: props.listing, href: props.listingHref, linkComponent: props.linkComponent, testId: "listings-mine-open", children: _jsx(Typography.Text, { strong: true, ellipsis: true, "data-testid": "listings-mine-title", children: heading ?? `#${String(props.listing.id)}` }) }), status !== undefined ? _jsx(ListingStatusBlock, { status: status }) : null, actions.error !== undefined && actions.error !== null ? (_jsx(ErrorAlert, { testId: "listings-mine-action-error", thrown: actions.error, variant: "inline" })) : null, _jsxs(Flex, { wrap: true, gap: spacing[2], align: "flex-start", children: [hasEditor ? (_jsx(GatedButton, { gate: editGate, size: "small", layout: "inline", testId: "listings-mine-edit", "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", onClick: () => {
168
179
  onEdit?.(props.listing.id);
169
- }, children: t(LISTINGS_I18N_KEYS.mineEdit) })) : null, actions.moves.map((move) => (_jsx(GatedButton, { gate: move.gate, size: "small", layout: "inline", testId: move.testId, "data-listing-move": move.to, "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", onClick: move.run, children: t(move.labelKey) }, move.to))), _jsx(GatedButton, { gate: actions.remove, size: "small",
180
+ }, children: t(LISTINGS_I18N_KEYS.mineEdit) })) : null, actions.moves.map((move) => (_jsx(GatedButton, { gate: move.gate, size: "small", layout: "inline", testId: move.testId, "data-listing-move": move.to, "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", onClick: move.run, children: t(move.labelKey) }, move.to))), actions.removable ? (_jsx(GatedButton, { gate: actions.remove, size: "small",
170
181
  // STACK, alone among the row's actions, and measured: this is
171
- // the one control that carries a STANDING sentence ("archive it
172
- // first a listing on sale cannot be deleted"), and inline a
173
- // button plus sixty characters is one flex item too wide for a
174
- // 390px row, so it wrapped inside itself and took four lines.
175
- // Under the button the same sentence takes two.
182
+ // the one control whose gate can carry a sentence at the
183
+ // moment it is drawn (no mandate, a delete in flight), and
184
+ // inline a button plus sixty characters is one flex item too
185
+ // wide for a 390px row, so it wrapped inside itself and took
186
+ // four lines. Under the button the same sentence takes two.
176
187
  layout: "stack", danger: true, testId: "listings-mine-delete", "data-analytics": "none", "data-analytics-reason": "opens the delete confirmation", onClick: () => {
177
188
  props.onAskRemove(props.listing.id);
178
- }, children: t(LISTINGS_I18N_KEYS.mineDelete) })] })] })] })] }));
189
+ }, children: t(LISTINGS_I18N_KEYS.mineDelete) })) : null] })] })] })] }));
179
190
  }
180
191
  export function MyListingsPane(props) {
181
192
  const t = useT();
@@ -1 +1 @@
1
- {"version":3,"file":"MyListingsPane.js","sourceRoot":"","sources":["../../src/default/MyListingsPane.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MyListingsPane.js","sourceRoot":"","sources":["../../src/default/MyListingsPane.tsx"],"names":[],"mappings":"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"}
@@ -62,6 +62,26 @@ export interface ListingActionsBag {
62
62
  readonly archive: ActionAvailability;
63
63
  readonly complete: ActionAvailability;
64
64
  readonly remove: ActionAvailability;
65
+ /**
66
+ * Is deleting this listing a move this row HAS at all — the same question
67
+ * {@link ListingActionsBag.moves} answers for the lifecycle edges, asked for
68
+ * the one action that is not one of them.
69
+ *
70
+ * `false` for a listing that is on sale (PUBLISHED, PENDING): the server has
71
+ * no route that deletes it, so there is nothing behind the control. It used
72
+ * to be drawn anyway, switched off — and the desktop walk measured what that
73
+ * costs (D425): twenty-six presses of a button that reads as live, carrying
74
+ * `aria-disabled="true"`, opening no dialog and changing nothing. Whether the
75
+ * refusal beside it is visible is a layout question, and pooling made the
76
+ * answer "no" on that screen; a control with nothing behind it does not get
77
+ * to depend on the answer. The move that IS available — archive — is in
78
+ * `moves`, and after it the delete control appears and works.
79
+ *
80
+ * {@link ListingActionsBag.remove} keeps stating the reason, so a surface
81
+ * that decides to draw the control anyway still says why it is off rather
82
+ * than presenting a bare disabled box.
83
+ */
84
+ readonly removable: boolean;
65
85
  /**
66
86
  * Whether "edit this listing" is offerable — and if not, WHY.
67
87
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ListingActions.d.ts","sourceRoot":"","sources":["../../src/headless/ListingActions.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAWzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC;IACpC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;0BACsB;IACtB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC;iEAC6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,GAAG,IAAI,IAAI,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACjD,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI,IAAI,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAwCD,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACpE;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,sBAAsB,GAAG,SAAS,EAC1C,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,CAqFnB"}
1
+ {"version":3,"file":"ListingActions.d.ts","sourceRoot":"","sources":["../../src/headless/ListingActions.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAWzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC;IACpC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;0BACsB;IACtB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC;iEAC6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,GAAG,IAAI,IAAI,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACjD,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI,IAAI,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAwCD,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACpE;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,sBAAsB,GAAG,SAAS,EAC1C,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,CAyFnB"}
@@ -90,6 +90,10 @@ export function useListingActions(id, status, options = {}) {
90
90
  archive: archiveGate,
91
91
  complete: completeGate,
92
92
  remove: removeGate,
93
+ // A status nobody has read yet offers nothing: `known` already blocks the
94
+ // gate, and a control drawn for an unknown row is a control that may turn
95
+ // out to have had no route behind it.
96
+ removable: status !== undefined && canDelete(status),
93
97
  editGate: (hasEditor) => firstBlock(mandate, hasEditor
94
98
  ? actionAvailable()
95
99
  : actionBlocked(LISTINGS_I18N_KEYS.blockedNoEditor)),
@@ -1 +1 @@
1
- {"version":3,"file":"ListingActions.js","sourceRoot":"","sources":["../../src/headless/ListingActions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListingActions.js","sourceRoot":"","sources":["../../src/headless/ListingActions.tsx"],"names":[],"mappings":"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"}
package/llms.txt CHANGED
@@ -1,4 +1,4 @@
1
- # @stapel/listings-react 0.25.4
1
+ # @stapel/listings-react 0.25.5
2
2
 
3
3
  Headless React flow pair for stapel-listings (contract >=0.21 <0.22) — business + state, zero visual opinion.
4
4
  Built on @stapel/core: typed client + StapelApiError envelope, auth token refresh,
@@ -119,7 +119,7 @@ const { tracked } = useTracked();
119
119
  - listings.engagement-scope → <ListingEngagementScope> [default|unscoped|visitor|failed] demo/ListingEngagementScope.demo.tsx
120
120
  - listings.favorites → <FavoritesPane> [default|paged|empty|failed|visitor] demo/Favorites.demo.tsx
121
121
  - listings.feed-card → <ListingFeedCard> [default|tile|visitor|wide] demo/ListingFeedCard.demo.tsx
122
- - listings.mine → <MyListingsPane> [default|no-editor|taken-down|visitor|failed] demo/MyListings.demo.tsx
122
+ - listings.mine → <MyListingsPane> [default|no-editor|taken-down|visitor|archived|failed] demo/MyListings.demo.tsx
123
123
  - listings.parts → <ListingStatusBlock> [default|tags|notes|media|door] demo/ListingParts.demo.tsx
124
124
  - listings.photo-strip → <ListingPhotoStrip> [default|single|no photos] demo/ListingPhotoStrip.demo.tsx
125
125
  - listings.serp-card → <ListingSerpCard> [default|trend|visitor|desktop row|bare] demo/ListingSerpCard.demo.tsx
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$generated": "by scripts/gen-manifest.mjs — do not edit; drift-gated (pnpm gen:manifest:check)",
3
3
  "package": "@stapel/listings-react",
4
- "version": "0.25.4",
4
+ "version": "0.25.5",
5
5
  "backend": {
6
6
  "module": "stapel-listings",
7
7
  "contract": ">=0.21 <0.22"
@@ -837,7 +837,7 @@
837
837
  {
838
838
  "id": "listings.mine",
839
839
  "title": "My listings",
840
- "description": "stapel-listings 0.7.0 gave the owner's own listings a route (GET my/listings/, every status, ?status= for a tab's set), so the rows here are the contract's own. Four things the pane refuses to smooth over: both axes on every row (a LIVE listing whose edit is under review says so — status alone cannot); a moderation takedown, which my/counters counts in no tab at all, sits ABOVE the tabs; every switched-off action prints its reason beside itself instead of hiding it in a hover a phone cannot open; and Delete asks first, through a bottom sheet. The row is a thumbnail plus a min-width:0 column, so four actions wrap at 390px instead of clipping.",
840
+ "description": "stapel-listings 0.7.0 gave the owner's own listings a route (GET my/listings/, every status, ?status= for a tab's set), so the rows here are the contract's own. Four things the pane refuses to smooth over: both axes on every row (a LIVE listing whose edit is under review says so — status alone cannot); a moderation takedown, which my/counters counts in no tab at all, sits ABOVE the tabs; every switched-off action prints its reason beside itself instead of hiding it in a hover a phone cannot open; and Delete asks first, through a bottom sheet — and is drawn only on the rows that HAVE a delete route, never as a switched-off button on a listing that is on sale. The row is a thumbnail plus a min-width:0 column, so four actions wrap at 390px instead of clipping.",
841
841
  "component": "MyListingsPane",
842
842
  "covers": [
843
843
  "MyListings"
@@ -850,6 +850,7 @@
850
850
  "no-editor",
851
851
  "taken-down",
852
852
  "visitor",
853
+ "archived",
853
854
  "failed"
854
855
  ],
855
856
  "source": "demo/MyListings.demo.tsx"
package/nav-manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "@stapel/listings-react",
3
- "version": "0.25.4",
3
+ "version": "0.25.5",
4
4
  "entries": [
5
5
  {
6
6
  "id": "listings.detail",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stapel/listings-react",
3
- "version": "0.25.4",
3
+ "version": "0.25.5",
4
4
  "description": "Headless React pair for stapel-listings: a typed client over the draft twin, the composer that turns a category schema into a submittable listing, and the owner's dashboard. Two independent axes are rendered as two — lifecycle `status` decides visibility and `moderation_status` decides nothing about it, so an edit to a live listing stays live and says 'under review' instead of vanishing. Feature values are drawn and mirrored by @stapel/attributes-react; photos arrive as an injected upload bag whose `refs` ARE `images_draft` and whose `settled` gates the submit; a publish refusal is routed onto the control that caused it by slug. Zero visual opinion in the main entry; an opt-in /default subpath ships the antd skin.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -107,8 +107,8 @@
107
107
  "@stapel/currencies-react": "^0.4.0",
108
108
  "@stapel/image": "^0.4.2",
109
109
  "@stapel/showcase": "^0.3.0",
110
- "@stapel/tokens": "^0.8.0",
111
- "@stapel/tokens-antd": "^0.17.2"
110
+ "@stapel/tokens-antd": "^0.17.2",
111
+ "@stapel/tokens": "^0.8.0"
112
112
  },
113
113
  "engines": {
114
114
  "node": ">=22"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$generated": "by scripts/gen-events.mjs — do not edit; drift-gated (pnpm gen:events:check)",
3
3
  "package": "@stapel/listings-react",
4
- "version": "0.25.4",
4
+ "version": "0.25.5",
5
5
  "defined": [],
6
6
  "flows": []
7
7
  }
@@ -41,6 +41,17 @@
41
41
  * ordinary text beside it, and the status is one `<ListingStatusBlock>`.
42
42
  * Delete asks first, through the shared `<SkinConfirm>` — a bottom sheet on a
43
43
  * phone. It used to fire the mutation on the first click.
44
+ *
45
+ * ── And a control with no route behind it is not drawn (D425) ──────────────
46
+ *
47
+ * Delete is offered on the rows that CAN be deleted — drafts, archived, sold,
48
+ * paused, expired — and on a listing that is on sale it is not offered at all.
49
+ * A published row's own move is Archive, which is in `actions.moves` because
50
+ * the SERVER put it there, and delete follows the archiving. The alternative
51
+ * shipped, and the desktop walk measured it: a live-looking button carrying
52
+ * `aria-disabled="true"`, pressed twenty-six times, opening no dialog and
53
+ * changing nothing, with its "archive it first" sentence pooled into the
54
+ * pane's `<PaneGate>` where nobody read it.
44
55
  */
45
56
  import { useState } from "react";
46
57
  import type { ReactElement, ReactNode } from "react";
@@ -328,26 +339,42 @@ function MyListingRow(props: {
328
339
  {t(move.labelKey)}
329
340
  </GatedButton>
330
341
  ))}
331
- <GatedButton
332
- gate={actions.remove}
333
- size="small"
334
- // STACK, alone among the row's actions, and measured: this is
335
- // the one control that carries a STANDING sentence ("archive it
336
- // first a listing on sale cannot be deleted"), and inline a
337
- // button plus sixty characters is one flex item too wide for a
338
- // 390px row, so it wrapped inside itself and took four lines.
339
- // Under the button the same sentence takes two.
340
- layout="stack"
341
- danger
342
- testId="listings-mine-delete"
343
- data-analytics="none"
344
- data-analytics-reason="opens the delete confirmation"
345
- onClick={() => {
346
- props.onAskRemove(props.listing.id);
347
- }}
348
- >
349
- {t(LISTINGS_I18N_KEYS.mineDelete)}
350
- </GatedButton>
342
+ {/* DRAWN ONLY WHERE THERE IS A ROUTE BEHIND IT (D425).
343
+
344
+ A listing that is on sale cannot be deleted — the server has no
345
+ such route and this control used to be drawn for it anyway,
346
+ switched off. Pooled into `<PaneGate>`, "switched off" is an
347
+ `aria-disabled` button with its sentence somewhere else on the
348
+ screen, which the desktop walk measured as twenty-six presses,
349
+ zero dialogs and zero effect. The move that IS available for
350
+ that row is `archived`, and it is in `actions.moves` above;
351
+ after it the row is archived and this control appears.
352
+
353
+ `actions.remove` still carries the reason, so a skin that
354
+ chooses to draw the control anyway states it rather than
355
+ showing a bare disabled box. */}
356
+ {actions.removable ? (
357
+ <GatedButton
358
+ gate={actions.remove}
359
+ size="small"
360
+ // STACK, alone among the row's actions, and measured: this is
361
+ // the one control whose gate can carry a sentence at the
362
+ // moment it is drawn (no mandate, a delete in flight), and
363
+ // inline a button plus sixty characters is one flex item too
364
+ // wide for a 390px row, so it wrapped inside itself and took
365
+ // four lines. Under the button the same sentence takes two.
366
+ layout="stack"
367
+ danger
368
+ testId="listings-mine-delete"
369
+ data-analytics="none"
370
+ data-analytics-reason="opens the delete confirmation"
371
+ onClick={() => {
372
+ props.onAskRemove(props.listing.id);
373
+ }}
374
+ >
375
+ {t(LISTINGS_I18N_KEYS.mineDelete)}
376
+ </GatedButton>
377
+ ) : null}
351
378
  </Flex>
352
379
  </Flex>
353
380
  </Flex>
@@ -82,6 +82,26 @@ export interface ListingActionsBag {
82
82
  readonly archive: ActionAvailability;
83
83
  readonly complete: ActionAvailability;
84
84
  readonly remove: ActionAvailability;
85
+ /**
86
+ * Is deleting this listing a move this row HAS at all — the same question
87
+ * {@link ListingActionsBag.moves} answers for the lifecycle edges, asked for
88
+ * the one action that is not one of them.
89
+ *
90
+ * `false` for a listing that is on sale (PUBLISHED, PENDING): the server has
91
+ * no route that deletes it, so there is nothing behind the control. It used
92
+ * to be drawn anyway, switched off — and the desktop walk measured what that
93
+ * costs (D425): twenty-six presses of a button that reads as live, carrying
94
+ * `aria-disabled="true"`, opening no dialog and changing nothing. Whether the
95
+ * refusal beside it is visible is a layout question, and pooling made the
96
+ * answer "no" on that screen; a control with nothing behind it does not get
97
+ * to depend on the answer. The move that IS available — archive — is in
98
+ * `moves`, and after it the delete control appears and works.
99
+ *
100
+ * {@link ListingActionsBag.remove} keeps stating the reason, so a surface
101
+ * that decides to draw the control anyway still says why it is off rather
102
+ * than presenting a bare disabled box.
103
+ */
104
+ readonly removable: boolean;
85
105
  /**
86
106
  * Whether "edit this listing" is offerable — and if not, WHY.
87
107
  *
@@ -219,6 +239,10 @@ export function useListingActions(
219
239
  archive: archiveGate,
220
240
  complete: completeGate,
221
241
  remove: removeGate,
242
+ // A status nobody has read yet offers nothing: `known` already blocks the
243
+ // gate, and a control drawn for an unknown row is a control that may turn
244
+ // out to have had no route behind it.
245
+ removable: status !== undefined && canDelete(status),
222
246
  editGate: (hasEditor) =>
223
247
  firstBlock(
224
248
  mandate,