@stapel/listings-react 0.7.0 → 0.8.1
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 +88 -0
- package/dist/api/generated/schema.d.ts +92 -2
- package/dist/api/generated/schema.d.ts.map +1 -1
- package/dist/default/ListingCard.d.ts +56 -0
- package/dist/default/ListingCard.d.ts.map +1 -1
- package/dist/default/ListingCard.js +92 -29
- package/dist/default/ListingCard.js.map +1 -1
- package/dist/default/ListingComposerPage.d.ts +21 -7
- package/dist/default/ListingComposerPage.d.ts.map +1 -1
- package/dist/default/ListingComposerPage.js.map +1 -1
- package/dist/headless/Favorites.d.ts.map +1 -1
- package/dist/headless/Favorites.js +19 -7
- package/dist/headless/Favorites.js.map +1 -1
- package/dist/headless/ListingDetail.d.ts.map +1 -1
- package/dist/headless/ListingDetail.js +7 -5
- package/dist/headless/ListingDetail.js.map +1 -1
- package/dist/headless/useMandateGate.d.ts +33 -2
- package/dist/headless/useMandateGate.d.ts.map +1 -1
- package/dist/headless/useMandateGate.js +42 -4
- package/dist/headless/useMandateGate.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +2 -1
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/generated/errors.es.gen.d.ts +1 -1
- package/dist/i18n/generated/errors.es.gen.js +1 -1
- package/dist/i18n/generated/errors.gen.d.ts +6 -0
- package/dist/i18n/generated/errors.gen.d.ts.map +1 -1
- package/dist/i18n/generated/errors.gen.js +3 -0
- package/dist/i18n/generated/errors.gen.js.map +1 -1
- package/dist/i18n/generated/errors.ru.gen.d.ts +1 -1
- package/dist/i18n/generated/errors.ru.gen.js +1 -1
- package/dist/i18n/keys.d.ts +11 -1
- package/dist/i18n/keys.d.ts.map +1 -1
- package/dist/i18n/keys.js +12 -2
- package/dist/i18n/keys.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +2 -1
- package/dist/i18n/ru.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/llms.txt +3 -3
- package/manifest.json +30 -21
- package/nav-manifest.json +1 -1
- package/package.json +8 -8
- package/src/analytics/generated/events.json +1 -1
- package/src/api/generated/schema.ts +92 -2
- package/src/default/ListingCard.tsx +233 -108
- package/src/default/ListingComposerPage.tsx +21 -7
- package/src/headless/Favorites.tsx +26 -7
- package/src/headless/ListingDetail.tsx +12 -5
- package/src/headless/useMandateGate.ts +49 -5
- package/src/i18n/es.ts +3 -1
- package/src/i18n/generated/errors.es.gen.ts +1 -1
- package/src/i18n/generated/errors.gen.ts +3 -0
- package/src/i18n/generated/errors.json +7 -0
- package/src/i18n/generated/errors.ru.gen.ts +1 -1
- package/src/i18n/keys.ts +12 -2
- package/src/i18n/ru.ts +3 -1
- package/src/index.ts +5 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button, Card, Flex, Typography } from "antd";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Card, Flex, Typography, theme as antdTheme } from "antd";
|
|
3
3
|
import { GatedControl, SkinTheme } from "@stapel/tokens-antd/skin";
|
|
4
4
|
import { useActionGate, useT } from "@stapel/core";
|
|
5
5
|
import { spacing } from "@stapel/tokens";
|
|
@@ -12,42 +12,84 @@ import { HeartIcon } from "./icons.js";
|
|
|
12
12
|
import { SignInLink } from "./SignInLink.js";
|
|
13
13
|
import { ListingPhoto } from "./ListingPhoto.js";
|
|
14
14
|
import { ListingPrice } from "./ListingPrice.js";
|
|
15
|
+
/** The class the whole-card target carries, for {@link cardTargetCss}. */
|
|
16
|
+
export const CARD_TARGET_CLASS = "stapel-listing-card-target";
|
|
17
|
+
/** The `href` the hoisted card stylesheet is deduplicated by. */
|
|
18
|
+
export const CARD_TARGET_STYLE_HREF = "stapel-listings-card-target";
|
|
15
19
|
/**
|
|
16
|
-
* The one
|
|
20
|
+
* The one rule an inline style cannot express: `:focus-visible`.
|
|
21
|
+
*
|
|
22
|
+
* A whole-card link is the largest focus target on a results page and it must
|
|
23
|
+
* SHOW that it has focus — a keyboard visitor tabbing a grid of forty cards
|
|
24
|
+
* with no ring has no idea which one Enter will open. The outline is drawn
|
|
25
|
+
* from the theme's own focus colour, which arrives as a custom property on the
|
|
26
|
+
* element (the sheet is static, so one hoisted copy serves either theme).
|
|
27
|
+
*
|
|
28
|
+
* `--listing-*` rather than `--stapel-*`: the `--stapel-` namespace is the
|
|
29
|
+
* design system's ROLE catalogue and this is a component's private plumbing.
|
|
30
|
+
*/
|
|
31
|
+
export function cardTargetCss() {
|
|
32
|
+
return [
|
|
33
|
+
`.${CARD_TARGET_CLASS}{display:block;color:inherit;text-decoration:none}`,
|
|
34
|
+
`.${CARD_TARGET_CLASS}:focus-visible{outline:2px solid var(--listing-card-focus);outline-offset:2px}`,
|
|
35
|
+
].join("");
|
|
36
|
+
}
|
|
37
|
+
/** The anchor: a block that inherits the card's own type colour rather than
|
|
38
|
+
* painting every card's contents link-blue. */
|
|
39
|
+
const TARGET_STYLE = {
|
|
40
|
+
display: "block",
|
|
41
|
+
color: "inherit",
|
|
42
|
+
textDecoration: "none",
|
|
43
|
+
};
|
|
44
|
+
/** The callback arm's button, reset to look like the anchor does. A card that
|
|
45
|
+
* is a target on one deployment and a card-plus-a-button on another would be
|
|
46
|
+
* two different products. */
|
|
47
|
+
const BUTTON_TARGET_STYLE = {
|
|
48
|
+
...TARGET_STYLE,
|
|
49
|
+
width: "100%",
|
|
50
|
+
padding: 0,
|
|
51
|
+
border: "none",
|
|
52
|
+
background: "none",
|
|
53
|
+
font: "inherit",
|
|
54
|
+
textAlign: "start",
|
|
55
|
+
cursor: "pointer",
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* The card's own body, wrapped in whatever makes it openable: an anchor, a
|
|
59
|
+
* button, or nothing at all.
|
|
17
60
|
*
|
|
18
61
|
* Exactly one of the three renders, so exactly one navigation happens per
|
|
19
|
-
* click
|
|
20
|
-
*
|
|
62
|
+
* click — the branch below has no arm in which both a handler and an `href`
|
|
63
|
+
* reach the DOM.
|
|
21
64
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
65
|
+
* The BUTTON arm exists for a container that routes by callback. It wraps the
|
|
66
|
+
* same content in a `<button>` reset to look like nothing, rather than drawing
|
|
67
|
+
* a separate captioned control: a card that is a target on one deployment and
|
|
68
|
+
* a card-plus-a-button on another would be two different products.
|
|
26
69
|
*/
|
|
27
|
-
function
|
|
28
|
-
const
|
|
29
|
-
const label = t(LISTINGS_I18N_KEYS.cardOpen);
|
|
70
|
+
function CardTarget(props) {
|
|
71
|
+
const { label, children } = props;
|
|
30
72
|
if (props.href !== undefined) {
|
|
31
73
|
const Link = props.linkComponent;
|
|
32
74
|
// The host's component is rendered as it comes: this pair has no CSS and
|
|
33
|
-
// no way to hand
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
// written once, and it is already the thing that knows the design system.
|
|
37
|
-
return Link !== undefined ? (_jsx(Link, { href: props.href, "aria-label": label, "data-testid": "listings-card-open", "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", children: label })) : (_jsx(Button, { type: "primary", block: true, href: props.href, "data-testid": "listings-card-open", "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", children: label }));
|
|
75
|
+
// no way to hand its own styling to a foreign element. A wrapper element
|
|
76
|
+
// around a link would be a click target that is not the link.
|
|
77
|
+
return Link !== undefined ? (_jsx(Link, { href: props.href, "aria-label": label, className: CARD_TARGET_CLASS, "data-testid": "listings-card-open", "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", children: children })) : (_jsx("a", { href: props.href, "aria-label": label, className: CARD_TARGET_CLASS, style: TARGET_STYLE, "data-testid": "listings-card-open", "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", children: children }));
|
|
38
78
|
}
|
|
39
79
|
if (props.onOpen !== undefined) {
|
|
40
80
|
const onOpen = props.onOpen;
|
|
41
|
-
return (_jsx(
|
|
81
|
+
return (_jsx("button", { type: "button", "aria-label": label, className: CARD_TARGET_CLASS, style: BUTTON_TARGET_STYLE, "data-testid": "listings-card-open", "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", onClick: () => {
|
|
42
82
|
onOpen(props.listingId);
|
|
43
|
-
}, children:
|
|
83
|
+
}, children: children }));
|
|
44
84
|
}
|
|
45
|
-
|
|
85
|
+
// No open control at all — a card inside a screen that IS the listing.
|
|
86
|
+
return _jsx("div", { "data-testid": "listings-card-body", children: children });
|
|
46
87
|
}
|
|
47
88
|
export function ListingCard(props) {
|
|
48
89
|
const t = useT();
|
|
49
90
|
const { listing } = props;
|
|
50
91
|
const favorite = useFavoriteToggle(listing.id, listing.is_favorited);
|
|
92
|
+
const { token } = antdTheme.useToken();
|
|
51
93
|
const badgeDaos = asFeatureDaoList(listing.features_badges);
|
|
52
94
|
const badgeFeatures = featuresFromDaoList(badgeDaos);
|
|
53
95
|
const badgeValues = featuresDtoFromDaoList(badgeDaos);
|
|
@@ -58,14 +100,35 @@ export function ListingCard(props) {
|
|
|
58
100
|
const favoriteLabel = t(favorite.favorited
|
|
59
101
|
? LISTINGS_I18N_KEYS.cardFavoriteRemove
|
|
60
102
|
: LISTINGS_I18N_KEYS.cardFavoriteAdd);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
103
|
+
const title = listing.title ?? "";
|
|
104
|
+
// The anchor's name is the TITLE and nothing else. A card with no title is
|
|
105
|
+
// still a link, and a link announced as nothing is worse than one announced
|
|
106
|
+
// as untitled.
|
|
107
|
+
const targetLabel = title.length > 0 ? title : t(LISTINGS_I18N_KEYS.cardUntitled);
|
|
108
|
+
/**
|
|
109
|
+
* Everything a person reads on the card, in the order a classified reads it:
|
|
110
|
+
* photo, price, title, the seller's own spec line, the badges, the place.
|
|
111
|
+
*
|
|
112
|
+
* The search projection carries `title`, `price`, `currency`,
|
|
113
|
+
* `location_label`, `image` and `published_at` and NO feature badges — so
|
|
114
|
+
* every line below is conditional and the card has to look deliberate with
|
|
115
|
+
* all of them absent. That is why the photo and the price carry the layout:
|
|
116
|
+
* they are the two fields a result always has.
|
|
117
|
+
*/
|
|
118
|
+
const content = (_jsxs(_Fragment, { children: [_jsx(ListingPhoto, { imageRef: listing.images?.[0], alt: title.length > 0 ? title : String(listing.id) }), _jsxs(Flex, { vertical: true, gap: spacing[1], style: { minWidth: 0, padding: token.paddingSM }, children: [props.badge, _jsx(Typography.Text, { strong: true, "data-testid": "listings-card-price", children: _jsx(ListingPrice, { amount: listing.price, ...(listing.currency !== undefined ? { currency: listing.currency } : {}) }) }), _jsx(Typography.Text, { ellipsis: true, "data-testid": "listings-card-title", children: title }), titleDaos.length > 0 ? (_jsx(Typography.Text, { type: "secondary", ellipsis: true, children: _jsx(FeatureBadges, { features: featuresFromDaoList(titleDaos).map((view) => view.feature), values: featuresDtoFromDaoList(titleDaos) }) })) : null, badgeFeatures.length > 0 ? (_jsx(FeatureBadges, { features: badgeFeatures.map((view) => view.feature), values: badgeValues })) : null, listing.location_label !== undefined &&
|
|
119
|
+
listing.location_label.length > 0 ? (_jsx(Typography.Text, { type: "secondary", "data-testid": "listings-card-location", children: listing.location_label })) : null] })] }));
|
|
120
|
+
return (_jsxs(SkinTheme, { surface: "bare", ...(props.mode !== undefined ? { mode: props.mode } : {}), children: [_jsx("style", { href: CARD_TARGET_STYLE_HREF, precedence: "default", children: cardTargetCss() }), _jsxs(Card, { size: "small", "data-testid": "listings-card", "data-listing-id": listing.id, ...(status !== undefined
|
|
121
|
+
? { "data-listing-status": status.status }
|
|
122
|
+
: {}),
|
|
123
|
+
// The body's own padding is zero because the ANCHOR fills the card:
|
|
124
|
+
// padding outside it would be a strip of card that looks pressable and
|
|
125
|
+
// is not. The text block inside the anchor carries the same padding
|
|
126
|
+
// back, from the same token.
|
|
127
|
+
styles: { body: { minWidth: 0, padding: 0 } }, style: { ["--listing-card-focus"]: token.colorPrimary }, children: [_jsx(CardTarget, { ...props, listingId: listing.id, label: targetLabel, children: content }), props.showFavorite === false ? null : (_jsxs("div", { style: {
|
|
128
|
+
paddingInline: token.paddingSM,
|
|
129
|
+
paddingBlockEnd: token.paddingSM,
|
|
130
|
+
}, children: [_jsx(GatedControl, { gate: favorite.gate, testId: "listings-card-actions", style: { width: "100%" }, children: (bind) => (_jsx(Flex, { justify: "flex-end", style: { width: "100%" }, children: _jsx(Button, { disabled: bind.disabled, "data-disabled-reason": "the enclosing <GatedControl> renders the gate's reason beside this button", ...(bind["aria-describedby"] !== undefined
|
|
131
|
+
? { "aria-describedby": bind["aria-describedby"] }
|
|
132
|
+
: {}), "aria-label": favoriteLabel, "aria-pressed": favorite.favorited, "data-testid": "listings-card-favorite", "data-favorited": String(favorite.favorited), "data-analytics": "none", "data-analytics-reason": "business action \u2014 host app wraps with its own tracked()", onClick: favorite.toggle, icon: _jsx(HeartIcon, { filled: favorite.favorited }) }) })) }), favoriteGate.reason === undefined || blockedReason === "line" ? null : (_jsx(Typography.Text, { type: "secondary", "data-testid": "listings-card-favorite-blocked", children: _jsx(SignInLink, { cta: props.signIn, testId: "listings-card-sign-in" }) }))] }))] })] }));
|
|
70
133
|
}
|
|
71
134
|
//# sourceMappingURL=ListingCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingCard.js","sourceRoot":"","sources":["../../src/default/ListingCard.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ListingCard.js","sourceRoot":"","sources":["../../src/default/ListingCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* category `renderCategoryPicker` — the container's `<CategoryPickerField>`,
|
|
9
9
|
* given `setCategory` to call
|
|
10
|
-
* where `locationPicker` — the container's `<
|
|
10
|
+
* where `locationPicker` — the container's `<LocationField>`
|
|
11
11
|
* (`@stapel/geo-react`)
|
|
12
12
|
* currency `renderCurrencyPicker` — whatever vocabulary the deployment sells in
|
|
13
13
|
* details `features` — the schema, drawn by `<FeatureFields>` (L0)
|
|
@@ -100,7 +100,7 @@ export interface ComposerCurrencySlot {
|
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
102
102
|
* What a location picker component is handed — the contract
|
|
103
|
-
* `@stapel/geo-react`'s `<
|
|
103
|
+
* `@stapel/geo-react`'s `<LocationField>` was built to fill.
|
|
104
104
|
*
|
|
105
105
|
* `{ value, onChange }`, and `value` is the pin plus the address a resolver
|
|
106
106
|
* found for it. `lat`/`lon` are NUMBERS here (a picker works in numbers) while
|
|
@@ -113,13 +113,15 @@ export interface ComposerCurrencySlot {
|
|
|
113
113
|
* writes is three lines and no state:
|
|
114
114
|
*
|
|
115
115
|
* ```tsx
|
|
116
|
-
* import {
|
|
116
|
+
* import { LocationField } from "@stapel/geo-react/default";
|
|
117
117
|
*
|
|
118
118
|
* <ListingComposerPage
|
|
119
119
|
* locationPicker={({ value, onChange }) => (
|
|
120
|
-
* <
|
|
120
|
+
* <LocationField
|
|
121
121
|
* {...(value.lat !== null && value.lon !== null
|
|
122
|
-
* ? { value: { lat: value.lat, lon: value.lon }
|
|
122
|
+
* ? { value: { point: { lat: value.lat, lon: value.lon },
|
|
123
|
+
* ...(value.address !== undefined
|
|
124
|
+
* ? { address: value.address } : {}) } }
|
|
123
125
|
* : {})}
|
|
124
126
|
* onChange={(picked) => {
|
|
125
127
|
* onChange({ lat: picked.point.lat, lon: picked.point.lon,
|
|
@@ -130,6 +132,17 @@ export interface ComposerCurrencySlot {
|
|
|
130
132
|
* />
|
|
131
133
|
* ```
|
|
132
134
|
*
|
|
135
|
+
* `LocationField` and not `LocationPickerField`, and the difference is the
|
|
136
|
+
* whole reason this slot exists. The older component is a BUTTON — "Choose on
|
|
137
|
+
* the map" — that prints its answer underneath itself, so a form the person
|
|
138
|
+
* has filled in goes on looking empty and the question names the mechanism
|
|
139
|
+
* rather than the thing being asked. `LocationField` is a field: it states
|
|
140
|
+
* the question while empty and holds the chosen place inside itself once it
|
|
141
|
+
* is not, and one tap runs the whole ladder behind it — the permission
|
|
142
|
+
* pre-prompt before the browser's one-shot prompt, the server's IP guess when
|
|
143
|
+
* that is refused, then the map. Either component fits this contract; only
|
|
144
|
+
* one of them looks like an answer to "where is it?".
|
|
145
|
+
*
|
|
133
146
|
* `geohash` is absent from this contract on purpose: since stapel-listings
|
|
134
147
|
* 0.7.1 the server computes it from the coordinates and ignores anything sent
|
|
135
148
|
* in the body, so a picker that has one has nowhere to put it and no reason
|
|
@@ -208,8 +221,9 @@ export interface ListingComposerPageProps extends ThemeModeProp {
|
|
|
208
221
|
readonly renderCurrencyPicker?: (slot: ComposerCurrencySlot) => ReactNode;
|
|
209
222
|
/**
|
|
210
223
|
* WHERE the thing is, asked the host's way — the slot
|
|
211
|
-
* `@stapel/geo-react`'s `<
|
|
212
|
-
* {@link ComposerLocationPickerProps} for the
|
|
224
|
+
* `@stapel/geo-react`'s `<LocationField>` fills (see
|
|
225
|
+
* {@link ComposerLocationPickerProps} for the adapter, and for why the
|
|
226
|
+
* field beats the older button).
|
|
213
227
|
*
|
|
214
228
|
* Unfilled: a named placeholder. The composer will NOT fall back to two
|
|
215
229
|
* decimal boxes — a seller does not know their latitude, and those boxes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingComposerPage.d.ts","sourceRoot":"","sources":["../../src/default/ListingComposerPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA0BpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;0EACsE;IACtE,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED
|
|
1
|
+
{"version":3,"file":"ListingComposerPage.d.ts","sourceRoot":"","sources":["../../src/default/ListingComposerPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingComposerPage.js","sourceRoot":"","sources":["../../src/default/ListingComposerPage.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListingComposerPage.js","sourceRoot":"","sources":["../../src/default/ListingComposerPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Favorites.d.ts","sourceRoot":"","sources":["../../src/headless/Favorites.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Favorites.d.ts","sourceRoot":"","sources":["../../src/headless/Favorites.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAStE;;;;;;GAMG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;yEAGqE;IACrE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GACpC,iBAAiB,CAwBnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;yDACyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAsD5E;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CACvB,KAAK,EAAE,mBAAmB,GAAG;IAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,SAAS,CAAC;CAC5C,GACA,YAAY,CAGd"}
|
|
@@ -4,7 +4,7 @@ import { actionAvailable, actionBlocked, firstBlock, loadFailed, loadLoading, lo
|
|
|
4
4
|
import { useMyFavorites } from "../model/queries.js";
|
|
5
5
|
import { useFavoriteListing } from "../model/mutations.js";
|
|
6
6
|
import { LISTINGS_I18N_KEYS } from "../i18n/keys.js";
|
|
7
|
-
import {
|
|
7
|
+
import { LISTINGS_ELEVATION_ACTIONS, useElevatableMandateGate, } from "./useMandateGate.js";
|
|
8
8
|
/**
|
|
9
9
|
* The heart on one card.
|
|
10
10
|
*
|
|
@@ -15,27 +15,39 @@ import { useMandateGate } from "./useMandateGate.js";
|
|
|
15
15
|
* renders it, so the distinction never has to be squeezed into the boolean.
|
|
16
16
|
*/
|
|
17
17
|
export function useFavoriteToggle(id, favorited) {
|
|
18
|
-
const mandate =
|
|
18
|
+
const { gate: mandate, elevation } = useElevatableMandateGate(LISTINGS_ELEVATION_ACTIONS.favorite);
|
|
19
19
|
const mutation = useFavoriteListing();
|
|
20
|
-
const gate = firstBlock(mandate, mutation.isPending
|
|
20
|
+
const gate = firstBlock(mandate, mutation.isPending || elevation.pending
|
|
21
21
|
? actionBlocked(LISTINGS_I18N_KEYS.blockedInFlight)
|
|
22
22
|
: actionAvailable());
|
|
23
23
|
return {
|
|
24
24
|
favorited: favorited === true,
|
|
25
25
|
gate,
|
|
26
|
+
// On a host with auto-anonymous wired, the first heart an anonymous
|
|
27
|
+
// visitor presses mints their account and then saves — one press, no
|
|
28
|
+
// form, nothing said about it. Everywhere else `run` performs directly.
|
|
26
29
|
toggle: () => {
|
|
27
30
|
if (!gate.available)
|
|
28
31
|
return;
|
|
29
|
-
mutation.mutate({ id, favorited: favorited !== true });
|
|
32
|
+
elevation.run(() => mutation.mutate({ id, favorited: favorited !== true }));
|
|
30
33
|
},
|
|
31
|
-
inFlight: mutation.isPending,
|
|
32
|
-
error: mutation.error,
|
|
34
|
+
inFlight: mutation.isPending || elevation.pending,
|
|
35
|
+
error: mutation.error ?? elevation.error,
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
38
|
/** The favourites page: a real keyset list, unlike the owner's own listings
|
|
36
39
|
* (see `MyListings.tsx` for why those are different). */
|
|
37
40
|
export function useFavorites(options = {}) {
|
|
38
|
-
|
|
41
|
+
// The READ side of elevation, and the one place `identified` is the right
|
|
42
|
+
// question. A guest who saved listings must be able to come back and see
|
|
43
|
+
// them — an account that can save and cannot re-read is worse than the
|
|
44
|
+
// refusal it replaced — but a visitor who has never elevated has nothing
|
|
45
|
+
// here, so this page must not mint just to render. `covers` alone would
|
|
46
|
+
// open it for them and buy a 401.
|
|
47
|
+
const { gate: mandateGate, elevation } = useElevatableMandateGate(LISTINGS_ELEVATION_ACTIONS.favorite);
|
|
48
|
+
const gate = elevation.covers && !elevation.identified
|
|
49
|
+
? actionBlocked(LISTINGS_I18N_KEYS.blockedSignIn)
|
|
50
|
+
: mandateGate;
|
|
39
51
|
const [page, setPage] = useState(options.limit !== undefined ? { limit: options.limit } : {});
|
|
40
52
|
const [pageNumber, setPageNumber] = useState(1);
|
|
41
53
|
const query = useMyFavorites(page, { enabled: gate.available });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Favorites.js","sourceRoot":"","sources":["../../src/headless/Favorites.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EACL,eAAe,EACf,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"Favorites.js","sourceRoot":"","sources":["../../src/headless/Favorites.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingDetail.d.ts","sourceRoot":"","sources":["../../src/headless/ListingDetail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,IAAI,iBAAiB,EAClC,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ListingDetail.d.ts","sourceRoot":"","sources":["../../src/headless/ListingDetail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,IAAI,iBAAiB,EAClC,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAiB5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC7C,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACnD;wEACoE;IACpE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;gCAE4B;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,sDAAsD;IACtD,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,6EAA6E;IAC7E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC;;wDAEoD;IACpD,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C;0BACsB;IACtB,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,cAAc,IAAI,IAAI,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC;mFAC+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAgHlB;AAED;oDACoD;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,SAAS,CAAC;CAChD,GAAG,YAAY,CAMf"}
|
|
@@ -6,7 +6,7 @@ import { useFavoriteListing } from "../model/mutations.js";
|
|
|
6
6
|
import { asFeatureDaoList, featuresFromDaoList, unreadableFeatureCount } from "../model/features.js";
|
|
7
7
|
import { listingStatusView } from "../model/status.js";
|
|
8
8
|
import { LISTINGS_I18N_KEYS } from "../i18n/keys.js";
|
|
9
|
-
import {
|
|
9
|
+
import { LISTINGS_ELEVATION_ACTIONS, useElevatableMandateGate, } from "./useMandateGate.js";
|
|
10
10
|
/**
|
|
11
11
|
* `images` is `string[] | NULL` on the wire, and the null is the SERVER
|
|
12
12
|
* saying "this listing has no photos" — not this pair saying "we do not
|
|
@@ -20,7 +20,7 @@ export function useListingDetail(id, options = {}) {
|
|
|
20
20
|
const detail = useListing(id);
|
|
21
21
|
const probe = useListingStatus(id);
|
|
22
22
|
const favorite = useFavoriteListing();
|
|
23
|
-
const mandate =
|
|
23
|
+
const { gate: mandate, elevation } = useElevatableMandateGate(LISTINGS_ELEVATION_ACTIONS.favorite);
|
|
24
24
|
const state = detail.status === "error"
|
|
25
25
|
? loadFailed(detail.error)
|
|
26
26
|
: detail.data !== undefined
|
|
@@ -59,7 +59,7 @@ export function useListingDetail(id, options = {}) {
|
|
|
59
59
|
const titleFeatures = useMemo(() => featuresFromDaoList(asFeatureDaoList(detail.data?.features_title)), [detail.data]);
|
|
60
60
|
const badgeFeatures = useMemo(() => featuresFromDaoList(asFeatureDaoList(detail.data?.features_badges)), [detail.data]);
|
|
61
61
|
const isFavorited = detail.data?.is_favorited ?? undefined;
|
|
62
|
-
const favoriteGate = firstBlock(mandate, favorite.isPending
|
|
62
|
+
const favoriteGate = firstBlock(mandate, favorite.isPending || elevation.pending
|
|
63
63
|
? actionBlocked(LISTINGS_I18N_KEYS.blockedInFlight)
|
|
64
64
|
: actionAvailable(), detail.data === undefined
|
|
65
65
|
? actionBlocked(LISTINGS_I18N_KEYS.detailLoading)
|
|
@@ -83,9 +83,11 @@ export function useListingDetail(id, options = {}) {
|
|
|
83
83
|
toggleFavorite: () => {
|
|
84
84
|
if (!favoriteGate.available)
|
|
85
85
|
return;
|
|
86
|
-
|
|
86
|
+
// Mints the anonymous account first where the host permits it for this
|
|
87
|
+
// action; a direct call everywhere else.
|
|
88
|
+
elevation.run(() => favorite.mutate({ id, favorited: isFavorited !== true }));
|
|
87
89
|
},
|
|
88
|
-
favoriteInFlight: favorite.isPending,
|
|
90
|
+
favoriteInFlight: favorite.isPending || elevation.pending,
|
|
89
91
|
refetch: () => {
|
|
90
92
|
void detail.refetch();
|
|
91
93
|
void probe.refetch();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingDetail.js","sourceRoot":"","sources":["../../src/headless/ListingDetail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EACL,eAAe,EACf,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"ListingDetail.js","sourceRoot":"","sources":["../../src/headless/ListingDetail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
import type { ActionAvailability } from "@stapel/core";
|
|
1
|
+
import type { ActionAvailability, Elevation } from "@stapel/core";
|
|
2
|
+
/**
|
|
3
|
+
* The names this pair's gated writes use when asking core's elevation seam
|
|
4
|
+
* whether an anonymous visitor may be given an identity instead of a
|
|
5
|
+
* refusal. A host lists the ones it permits (see `ElevationSource.actions`);
|
|
6
|
+
* anything it leaves out keeps its wall.
|
|
7
|
+
*
|
|
8
|
+
* Only `favorite` is named. Publishing a listing is deliberately absent and
|
|
9
|
+
* stays absent: a seller who cannot be reached again is not a seller, and an
|
|
10
|
+
* automatically-minted account is exactly that. Saving something for later
|
|
11
|
+
* is the opposite case — losing a shortlist because a stranger had not
|
|
12
|
+
* registered is friction with nothing behind it.
|
|
13
|
+
*/
|
|
14
|
+
export declare const LISTINGS_ELEVATION_ACTIONS: {
|
|
15
|
+
readonly favorite: "listings.favorite";
|
|
16
|
+
};
|
|
2
17
|
/**
|
|
3
18
|
* "May this person act at all?" — the first gate on every write in the pair.
|
|
4
19
|
*
|
|
@@ -24,5 +39,21 @@ import type { ActionAvailability } from "@stapel/core";
|
|
|
24
39
|
* than throwing, so a pair rendered in a host that never wired the axis
|
|
25
40
|
* degrades to "we could not check" — visible, fixable, and not a blank page.
|
|
26
41
|
*/
|
|
27
|
-
export declare function useMandateGate(): ActionAvailability;
|
|
42
|
+
export declare function useMandateGate(action?: string): ActionAvailability;
|
|
43
|
+
/**
|
|
44
|
+
* The same gate, with the elevation handle the caller needs to ACT on it.
|
|
45
|
+
*
|
|
46
|
+
* A control that passes an `action` is saying "for this one act, an
|
|
47
|
+
* anonymous visitor may be given an identity rather than a refusal" — and
|
|
48
|
+
* then it must run its write through `elevation.run`, or the write goes out
|
|
49
|
+
* before the account exists and buys a 401. The two halves are returned
|
|
50
|
+
* together so a caller cannot take the unblocked gate and forget the mint.
|
|
51
|
+
*
|
|
52
|
+
* Passing no `action` is the default and the majority: publishing, saving a
|
|
53
|
+
* draft, marking something sold. Those keep the wall.
|
|
54
|
+
*/
|
|
55
|
+
export declare function useElevatableMandateGate(action?: string): {
|
|
56
|
+
readonly gate: ActionAvailability;
|
|
57
|
+
readonly elevation: Elevation;
|
|
58
|
+
};
|
|
28
59
|
//# sourceMappingURL=useMandateGate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMandateGate.d.ts","sourceRoot":"","sources":["../../src/headless/useMandateGate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useMandateGate.d.ts","sourceRoot":"","sources":["../../src/headless/useMandateGate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIlE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B;;CAE7B,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAElE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG;IACzD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,CAkBA"}
|