@shopbb/helium 0.4.0 → 0.5.0
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/dist/components/CartProvider.d.ts.map +1 -1
- package/dist/components/CartProvider.js +9 -0
- package/dist/components/CartProvider.js.map +1 -1
- package/dist/components/DiscountComponents.d.ts +9 -26
- package/dist/components/DiscountComponents.d.ts.map +1 -1
- package/dist/components/DiscountComponents.js +22 -72
- package/dist/components/DiscountComponents.js.map +1 -1
- package/dist/components/DiscountProvider.d.ts +7 -14
- package/dist/components/DiscountProvider.d.ts.map +1 -1
- package/dist/components/DiscountProvider.js +13 -68
- package/dist/components/DiscountProvider.js.map +1 -1
- package/dist/components/DiscountSelector.d.ts +36 -0
- package/dist/components/DiscountSelector.d.ts.map +1 -0
- package/dist/components/DiscountSelector.js +111 -0
- package/dist/components/DiscountSelector.js.map +1 -0
- package/dist/components/index.d.ts +4 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -1
- package/dist/components/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CartProvider.tsx +9 -0
- package/src/components/DiscountComponents.tsx +35 -151
- package/src/components/DiscountProvider.tsx +20 -85
- package/src/components/DiscountSelector.tsx +220 -0
- package/src/components/index.ts +3 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartProvider.d.ts","sourceRoot":"","sources":["../../src/components/CartProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChG,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE;QAAE,WAAW,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;QACzD,WAAW,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACvD,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAErF,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,mDAAmD;IACnD,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,aAAa;IACb,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,mBAAmB;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,8BAA8B;IAC9B,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CAClE;
|
|
1
|
+
{"version":3,"file":"CartProvider.d.ts","sourceRoot":"","sources":["../../src/components/CartProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -44,8 +44,17 @@ const CART_FRAGMENT = /* GraphQL */ `
|
|
|
44
44
|
}
|
|
45
45
|
cost {
|
|
46
46
|
subtotalAmount { amount currencyCode }
|
|
47
|
+
totalDiscountAmount { amount currencyCode }
|
|
47
48
|
totalAmount { amount currencyCode }
|
|
48
49
|
}
|
|
50
|
+
discountCodes { code applicable }
|
|
51
|
+
discountAllocations {
|
|
52
|
+
discountedAmount { amount currencyCode }
|
|
53
|
+
targetType
|
|
54
|
+
targetId
|
|
55
|
+
title
|
|
56
|
+
code
|
|
57
|
+
}
|
|
49
58
|
}
|
|
50
59
|
`;
|
|
51
60
|
const Q_GET_CART = CART_FRAGMENT + `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartProvider.js","sourceRoot":"","sources":["../../src/components/CartProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAwDzC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAA0B,IAAI,CAAC,CAAC;AAEvE,+DAA+D;AAC/D,UAAU;AACV,+DAA+D;AAE/D,MAAM,aAAa,GAAG,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"CartProvider.js","sourceRoot":"","sources":["../../src/components/CartProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Discount UI
|
|
2
|
+
* Discount UI 组件集
|
|
3
3
|
*
|
|
4
|
-
* <
|
|
5
|
-
* <AppliedDiscountList> 当前 cart 已应用的码列表
|
|
6
|
-
* <BestDiscountHint> "可省 ¥X" 提示
|
|
4
|
+
* <AppliedDiscountList> 当前 cart 已应用的折扣分配(只读)
|
|
7
5
|
* <ClaimableDiscountList> 可领取的优惠券列表(首页 / 商品页)
|
|
8
6
|
* <DiscountClaimButton> 单个领取按钮
|
|
9
7
|
* <MyDiscountList> 我的卡包
|
|
10
8
|
*
|
|
9
|
+
* 注:W5 已删除以下组件(旧设计):
|
|
10
|
+
* - <DiscountCodeInput>: 输入框范式已过时。请用 <DiscountSelector> + <ClaimableDiscountList>。
|
|
11
|
+
* - <BestDiscountHint>: 服务端自动选择最佳券,不需要前端提示。用户在 <DiscountSelector> 看到 / 切换。
|
|
12
|
+
*
|
|
11
13
|
* 全部无样式 + data-* 钩子。
|
|
12
14
|
*/
|
|
13
15
|
import * as React from 'react';
|
|
14
|
-
import { type Discount
|
|
15
|
-
export interface DiscountCodeInputProps {
|
|
16
|
-
placeholder?: string;
|
|
17
|
-
buttonText?: string;
|
|
18
|
-
onApplied?: (code: string) => void;
|
|
19
|
-
onError?: (msg: string) => void;
|
|
20
|
-
className?: string;
|
|
21
|
-
}
|
|
22
|
-
export declare function DiscountCodeInput(props: DiscountCodeInputProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
import { type Discount } from './DiscountProvider';
|
|
23
17
|
export interface AppliedDiscountListProps {
|
|
24
18
|
className?: string;
|
|
25
19
|
emptyText?: React.ReactNode;
|
|
26
20
|
}
|
|
27
21
|
export declare function AppliedDiscountList(props: AppliedDiscountListProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
-
export interface BestDiscountHintProps {
|
|
29
|
-
className?: string;
|
|
30
|
-
/** 自定义渲染(高级用法) */
|
|
31
|
-
render?: (best: {
|
|
32
|
-
discount: DiscountClaim;
|
|
33
|
-
estimatedAmount: number;
|
|
34
|
-
apply: () => Promise<void>;
|
|
35
|
-
}) => React.ReactNode;
|
|
36
|
-
}
|
|
37
|
-
export declare function BestDiscountHint(props: BestDiscountHintProps): import("react/jsx-runtime").JSX.Element | null;
|
|
38
22
|
export interface ClaimableDiscountListProps {
|
|
39
23
|
scope?: 'store' | 'product';
|
|
40
|
-
/** scope='product' 时必传 */
|
|
41
24
|
productHandle?: string;
|
|
42
25
|
first?: number;
|
|
43
26
|
className?: string;
|
|
44
27
|
emptyText?: React.ReactNode;
|
|
45
|
-
/** 自定义渲染(高级用法) */
|
|
46
28
|
renderItem?: (discount: Discount) => React.ReactNode;
|
|
47
29
|
}
|
|
48
30
|
export declare function ClaimableDiscountList(props: ClaimableDiscountListProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -51,6 +33,8 @@ export interface DiscountClaimButtonProps {
|
|
|
51
33
|
children?: React.ReactNode;
|
|
52
34
|
loadingText?: React.ReactNode;
|
|
53
35
|
claimedText?: React.ReactNode;
|
|
36
|
+
/** 未登录时跳转的路径。默认 `/login?next=` + 当前路径 */
|
|
37
|
+
loginPath?: string;
|
|
54
38
|
onClaimed?: () => void;
|
|
55
39
|
onError?: (msg: string) => void;
|
|
56
40
|
className?: string;
|
|
@@ -59,7 +43,6 @@ export declare function DiscountClaimButton(props: DiscountClaimButtonProps): im
|
|
|
59
43
|
export interface MyDiscountListProps {
|
|
60
44
|
className?: string;
|
|
61
45
|
emptyText?: React.ReactNode;
|
|
62
|
-
/** 过滤 tabs(available / used / expired),默认显示 available */
|
|
63
46
|
filter?: 'available' | 'used' | 'expired' | 'all';
|
|
64
47
|
}
|
|
65
48
|
export declare function MyDiscountList(props: MyDiscountListProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscountComponents.d.ts","sourceRoot":"","sources":["../../src/components/DiscountComponents.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"DiscountComponents.d.ts","sourceRoot":"","sources":["../../src/components/DiscountComponents.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqC,KAAK,QAAQ,EAAsB,MAAM,oBAAoB,CAAC;AAQ1G,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAqBlE;AAMD,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAC;CACtD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,kDAoBtE;AAgCD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CA2DlE;AAMD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;CACnD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,kDA0CxD"}
|
|
@@ -1,83 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* Discount UI
|
|
3
|
+
* Discount UI 组件集
|
|
4
4
|
*
|
|
5
|
-
* <
|
|
6
|
-
* <AppliedDiscountList> 当前 cart 已应用的码列表
|
|
7
|
-
* <BestDiscountHint> "可省 ¥X" 提示
|
|
5
|
+
* <AppliedDiscountList> 当前 cart 已应用的折扣分配(只读)
|
|
8
6
|
* <ClaimableDiscountList> 可领取的优惠券列表(首页 / 商品页)
|
|
9
7
|
* <DiscountClaimButton> 单个领取按钮
|
|
10
8
|
* <MyDiscountList> 我的卡包
|
|
11
9
|
*
|
|
10
|
+
* 注:W5 已删除以下组件(旧设计):
|
|
11
|
+
* - <DiscountCodeInput>: 输入框范式已过时。请用 <DiscountSelector> + <ClaimableDiscountList>。
|
|
12
|
+
* - <BestDiscountHint>: 服务端自动选择最佳券,不需要前端提示。用户在 <DiscountSelector> 看到 / 切换。
|
|
13
|
+
*
|
|
12
14
|
* 全部无样式 + data-* 钩子。
|
|
13
15
|
*/
|
|
14
16
|
import * as React from 'react';
|
|
15
17
|
import { useDiscounts, useProductDiscounts } from './DiscountProvider';
|
|
16
18
|
import { useAnalytics } from './AnalyticsProvider';
|
|
17
19
|
import { Money } from './Money';
|
|
18
|
-
export function DiscountCodeInput(props) {
|
|
19
|
-
const { placeholder = '输入优惠码', buttonText = '应用', onApplied, onError, className } = props;
|
|
20
|
-
const { applyToCart } = useDiscounts();
|
|
21
|
-
const analytics = useAnalytics();
|
|
22
|
-
const [code, setCode] = React.useState('');
|
|
23
|
-
const [loading, setLoading] = React.useState(false);
|
|
24
|
-
const [err, setErr] = React.useState(null);
|
|
25
|
-
const submit = async () => {
|
|
26
|
-
const c = code.trim();
|
|
27
|
-
if (!c)
|
|
28
|
-
return;
|
|
29
|
-
setLoading(true);
|
|
30
|
-
setErr(null);
|
|
31
|
-
try {
|
|
32
|
-
const r = await applyToCart(c);
|
|
33
|
-
if (r.userErrors.length > 0) {
|
|
34
|
-
const msg = r.userErrors[0].message;
|
|
35
|
-
setErr(msg);
|
|
36
|
-
onError?.(msg);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
setCode('');
|
|
40
|
-
onApplied?.(c);
|
|
41
|
-
analytics.emit('discount_apply_to_cart', { code: c });
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
finally {
|
|
45
|
-
setLoading(false);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
return (_jsxs("form", { "data-discount-code-input": true, className: className, onSubmit: (e) => { e.preventDefault(); submit(); }, children: [_jsxs("div", { "data-row": true, children: [_jsx("input", { value: code, onChange: (e) => setCode(e.target.value), placeholder: placeholder, disabled: loading }), _jsx("button", { type: "submit", disabled: loading || !code.trim(), children: loading ? '...' : buttonText })] }), err && _jsx("div", { "data-error": true, children: err })] }));
|
|
49
|
-
}
|
|
50
20
|
export function AppliedDiscountList(props) {
|
|
51
21
|
const { className, emptyText = null } = props;
|
|
52
|
-
const {
|
|
53
|
-
|
|
54
|
-
if (appliedToCart.length === 0)
|
|
22
|
+
const { cartAllocations } = useDiscounts();
|
|
23
|
+
if (cartAllocations.length === 0)
|
|
55
24
|
return _jsx(_Fragment, { children: emptyText });
|
|
56
|
-
return (_jsx("div", { "data-applied-discount-list": true, className: className, children:
|
|
57
|
-
const alloc = cartAllocations.find((a) => a.code === dc.code);
|
|
58
|
-
return (_jsxs("div", { "data-applied-item": true, "data-applicable": dc.applicable ? '' : undefined, children: [_jsxs("div", { "data-info": true, children: [_jsx("span", { "data-code": true, children: dc.code }), alloc && (_jsxs("span", { "data-discount-amount": true, children: ["\u2212 ", _jsx(Money, { data: { amount: alloc.discountedAmount.amount, currencyCode: alloc.discountedAmount.currencyCode } })] })), !dc.applicable && _jsx("span", { "data-warning": true, children: "\u4E0D\u9002\u7528" })] }), _jsx("button", { type: "button", "data-remove": true, onClick: async () => {
|
|
59
|
-
await removeFromCart(dc.code);
|
|
60
|
-
analytics.emit('discount_remove_from_cart', { code: dc.code });
|
|
61
|
-
}, children: "\u00D7" })] }, dc.code));
|
|
62
|
-
}) }));
|
|
63
|
-
}
|
|
64
|
-
export function BestDiscountHint(props) {
|
|
65
|
-
const { className, render } = props;
|
|
66
|
-
const { bestApplicableForCart, applyToCart } = useDiscounts();
|
|
67
|
-
const analytics = useAnalytics();
|
|
68
|
-
if (!bestApplicableForCart)
|
|
69
|
-
return null;
|
|
70
|
-
const { discount: claim, estimatedAmount } = bestApplicableForCart;
|
|
71
|
-
const code = claim.discount.code;
|
|
72
|
-
if (!code)
|
|
73
|
-
return null;
|
|
74
|
-
const apply = async () => {
|
|
75
|
-
await applyToCart(code);
|
|
76
|
-
analytics.emit('discount_apply_to_cart', { code, source: 'best_hint' });
|
|
77
|
-
};
|
|
78
|
-
if (render)
|
|
79
|
-
return _jsx(_Fragment, { children: render({ discount: claim, estimatedAmount, apply }) });
|
|
80
|
-
return (_jsxs("div", { "data-best-discount-hint": true, className: className, children: [_jsxs("div", { "data-msg": true, children: ["\u4F7F\u7528 ", _jsx("strong", { "data-code": true, children: code }), " \u53EF\u7701", ' ', _jsx("strong", { "data-amount": true, children: _jsx(Money, { data: { amount: String(estimatedAmount), currencyCode: 'CNY' } }) })] }), _jsx("button", { type: "button", onClick: apply, "data-apply": true, children: "\u7ACB\u5373\u4F7F\u7528" })] }));
|
|
25
|
+
return (_jsx("div", { "data-applied-discount-list": true, className: className, children: cartAllocations.map((alloc, i) => (_jsxs("div", { "data-applied-item": true, children: [_jsxs("div", { "data-info": true, children: [_jsx("span", { "data-title": true, children: alloc.title }), alloc.code && _jsx("span", { "data-code": true, children: alloc.code })] }), _jsxs("span", { "data-discount-amount": true, children: ["\u2212 ", _jsx(Money, { data: { amount: alloc.discountedAmount.amount, currencyCode: alloc.discountedAmount.currencyCode } })] })] }, alloc.code || i))) }));
|
|
81
26
|
}
|
|
82
27
|
export function ClaimableDiscountList(props) {
|
|
83
28
|
const { scope = 'store', productHandle, first = 10, className, emptyText = null, renderItem } = props;
|
|
@@ -95,22 +40,28 @@ function DefaultClaimableItem({ discount: d }) {
|
|
|
95
40
|
return (_jsxs("div", { "data-claimable-item": true, children: [_jsxs("div", { "data-info": true, children: [_jsx("div", { "data-title": true, children: d.title }), _jsx("div", { "data-value": true, children: formatDiscountValue(d) }), d.minSubtotal && (_jsxs("div", { "data-condition": true, children: ["\u6EE1 ", _jsx(Money, { data: { amount: d.minSubtotal.amount, currencyCode: d.minSubtotal.currencyCode } }), " \u53EF\u7528"] })), d.endsAt && (_jsxs("div", { "data-deadline": true, children: [new Date(d.endsAt).toLocaleDateString('zh-CN'), " \u8FC7\u671F"] }))] }), d.code && _jsx(DiscountClaimButton, { discount: d, children: "\u9886\u53D6" })] }));
|
|
96
41
|
}
|
|
97
42
|
function formatDiscountValue(d) {
|
|
98
|
-
if (d.value.__typename === 'DiscountPercentage')
|
|
43
|
+
if (d.value.__typename === 'DiscountPercentage')
|
|
99
44
|
return `${100 - d.value.percentage} 折`;
|
|
100
|
-
|
|
101
|
-
if (d.value.__typename === 'DiscountAmount') {
|
|
45
|
+
if (d.value.__typename === 'DiscountAmount')
|
|
102
46
|
return `减 ¥${d.value.amount.amount}`;
|
|
103
|
-
}
|
|
104
47
|
return '免运费';
|
|
105
48
|
}
|
|
106
49
|
export function DiscountClaimButton(props) {
|
|
107
|
-
const { discount, children = '领取', loadingText = '领取中…', claimedText = '已领取', onClaimed, onError, className, } = props;
|
|
108
|
-
const { claim, myDiscounts } = useDiscounts();
|
|
50
|
+
const { discount, children = '领取', loadingText = '领取中…', claimedText = '已领取', loginPath, onClaimed, onError, className, } = props;
|
|
51
|
+
const { claim, myDiscounts, myDiscountsStatus } = useDiscounts();
|
|
109
52
|
const analytics = useAnalytics();
|
|
110
53
|
const [loading, setLoading] = React.useState(false);
|
|
111
54
|
const [err, setErr] = React.useState(null);
|
|
112
55
|
const alreadyClaimed = myDiscounts.some((c) => c.discount.id === discount.id);
|
|
113
56
|
const handleClaim = async () => {
|
|
57
|
+
// 未登录 → 跳 login
|
|
58
|
+
if (myDiscountsStatus === 'unauthenticated') {
|
|
59
|
+
if (typeof window === 'undefined')
|
|
60
|
+
return;
|
|
61
|
+
const next = encodeURIComponent(window.location.pathname + window.location.search);
|
|
62
|
+
window.location.href = loginPath || `/login?next=${next}`;
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
114
65
|
if (!discount.code)
|
|
115
66
|
return;
|
|
116
67
|
setLoading(true);
|
|
@@ -150,7 +101,6 @@ export function MyDiscountList(props) {
|
|
|
150
101
|
return c.isExpired;
|
|
151
102
|
if (filter === 'used')
|
|
152
103
|
return c.remainingUses === 0 && !c.isExpired;
|
|
153
|
-
// available
|
|
154
104
|
return !c.isExpired && c.remainingUses > 0;
|
|
155
105
|
});
|
|
156
106
|
if (filtered.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscountComponents.js","sourceRoot":"","sources":["../../src/components/DiscountComponents.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"DiscountComponents.js","sourceRoot":"","sources":["../../src/components/DiscountComponents.tsx"],"names":[],"mappings":"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"}
|
|
@@ -99,27 +99,20 @@ export interface DiscountContextValue {
|
|
|
99
99
|
/** 我领过的有效券 */
|
|
100
100
|
myDiscounts: DiscountClaim[];
|
|
101
101
|
myDiscountsStatus: 'unauthenticated' | 'idle' | 'loading' | 'error';
|
|
102
|
-
/**
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
/**
|
|
103
|
+
* 当前 cart 上的折扣分配明细。
|
|
104
|
+
* W5 起:cart 上最多一张券(自动选最佳 / 买家手动选)。
|
|
105
|
+
* 数组语义保留兼容(未来可能允许多张叠加)。
|
|
106
|
+
*/
|
|
105
107
|
cartAllocations: CartDiscountAllocation[];
|
|
106
|
-
/**
|
|
107
|
-
|
|
108
|
-
discount: DiscountClaim;
|
|
109
|
-
estimatedAmount: number;
|
|
110
|
-
} | null;
|
|
108
|
+
/** 当前应用的 claim ID(W5),null = 无折扣或买家未登录 */
|
|
109
|
+
appliedClaimId: string | null;
|
|
111
110
|
/** 错误 */
|
|
112
111
|
error: string | null;
|
|
113
112
|
claim: (code: string) => Promise<{
|
|
114
113
|
claim?: DiscountClaim;
|
|
115
114
|
userErrors: DiscountUserError[];
|
|
116
115
|
}>;
|
|
117
|
-
applyToCart: (code: string) => Promise<{
|
|
118
|
-
userErrors: DiscountUserError[];
|
|
119
|
-
}>;
|
|
120
|
-
removeFromCart: (code: string) => Promise<{
|
|
121
|
-
userErrors: DiscountUserError[];
|
|
122
|
-
}>;
|
|
123
116
|
refetchMyDiscounts: () => Promise<void>;
|
|
124
117
|
refetchPublicDiscounts: () => Promise<void>;
|
|
125
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscountProvider.d.ts","sourceRoot":"","sources":["../../src/components/DiscountProvider.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DiscountProvider.d.ts","sourceRoot":"","sources":["../../src/components/DiscountProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -159,82 +159,27 @@ export function DiscountProvider(props) {
|
|
|
159
159
|
return { userErrors: [{ code: 'NETWORK_ERROR', message: e?.message ?? String(e) }] };
|
|
160
160
|
}
|
|
161
161
|
}, [customerGql, refetchMyDiscounts]);
|
|
162
|
-
// ----- cart
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
cart { id }
|
|
171
|
-
userErrors { field code message }
|
|
172
|
-
}
|
|
173
|
-
}`, { id: cartCtx.cart.id, codes });
|
|
174
|
-
if (result.errors?.length) {
|
|
175
|
-
return { userErrors: [{ code: 'NETWORK_ERROR', message: result.errors[0].message }] };
|
|
176
|
-
}
|
|
177
|
-
// 刷 cart(拉新的 discountCodes / allocations)
|
|
178
|
-
await cartCtx.refetch();
|
|
179
|
-
return { userErrors: result.data.cartDiscountCodesUpdate.userErrors };
|
|
180
|
-
}, [cartCtx, storefrontGql]);
|
|
181
|
-
const applyToCart = React.useCallback(async (code) => {
|
|
182
|
-
const existing = appliedToCart.map((d) => d.code);
|
|
183
|
-
if (existing.includes(code.toUpperCase()))
|
|
184
|
-
return { userErrors: [] };
|
|
185
|
-
return applyCodes([...existing, code.toUpperCase()]);
|
|
186
|
-
}, [appliedToCart, applyCodes]);
|
|
187
|
-
const removeFromCart = React.useCallback(async (code) => {
|
|
188
|
-
const next = appliedToCart.map((d) => d.code).filter((c) => c !== code.toUpperCase());
|
|
189
|
-
return applyCodes(next);
|
|
190
|
-
}, [appliedToCart, applyCodes]);
|
|
191
|
-
// ----- best applicable for cart -----
|
|
192
|
-
const bestApplicableForCart = React.useMemo(() => {
|
|
193
|
-
if (!cartCtx?.cart || myDiscounts.length === 0)
|
|
194
|
-
return null;
|
|
195
|
-
const subtotalStr = cartCtx.cart.cost?.subtotalAmount?.amount;
|
|
196
|
-
const subtotal = Number(subtotalStr || 0);
|
|
197
|
-
if (subtotal <= 0)
|
|
198
|
-
return null;
|
|
199
|
-
const currentApplied = new Set(appliedToCart.map((d) => d.code));
|
|
200
|
-
let best = null;
|
|
201
|
-
for (const claimed of myDiscounts) {
|
|
202
|
-
const d = claimed.discount;
|
|
203
|
-
if (!d.code || claimed.isExpired)
|
|
204
|
-
continue;
|
|
205
|
-
if (currentApplied.has(d.code))
|
|
206
|
-
continue;
|
|
207
|
-
// 门槛
|
|
208
|
-
if (d.minSubtotal && Number(d.minSubtotal.amount) > subtotal)
|
|
209
|
-
continue;
|
|
210
|
-
// 估算折扣
|
|
211
|
-
let amount = 0;
|
|
212
|
-
if (d.valueType === 'PERCENTAGE' && d.valuePercentage != null) {
|
|
213
|
-
amount = Math.floor(subtotal * (d.valuePercentage / 100) * 100) / 100;
|
|
214
|
-
}
|
|
215
|
-
else if (d.valueType === 'FIXED_AMOUNT' && d.valueAmount) {
|
|
216
|
-
amount = Math.min(Number(d.valueAmount.amount), subtotal);
|
|
217
|
-
}
|
|
218
|
-
if (amount > 0 && (best == null || amount > best.estimatedAmount)) {
|
|
219
|
-
best = { discount: claimed, estimatedAmount: amount };
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
return best;
|
|
223
|
-
}, [cartCtx, myDiscounts, appliedToCart]);
|
|
162
|
+
// ----- 当前 cart 上的折扣(服务端算好的) -----
|
|
163
|
+
const cartAllocations = cartCtx?.cart && cartCtx.cart.discountAllocations
|
|
164
|
+
? cartCtx.cart.discountAllocations
|
|
165
|
+
: [];
|
|
166
|
+
// W5: 服务端的 appliedDiscountClaim(哪张被选中应用了)
|
|
167
|
+
const appliedClaimId = cartCtx?.cart && cartCtx.cart.appliedDiscountClaim?.claimId
|
|
168
|
+
? cartCtx.cart.appliedDiscountClaim.claimId
|
|
169
|
+
: null;
|
|
224
170
|
const value = React.useMemo(() => ({
|
|
225
171
|
publicDiscounts, publicDiscountsStatus,
|
|
226
172
|
myDiscounts, myDiscountsStatus,
|
|
227
|
-
|
|
228
|
-
|
|
173
|
+
cartAllocations,
|
|
174
|
+
appliedClaimId,
|
|
229
175
|
error,
|
|
230
|
-
claim,
|
|
176
|
+
claim,
|
|
231
177
|
refetchMyDiscounts, refetchPublicDiscounts,
|
|
232
178
|
}), [
|
|
233
179
|
publicDiscounts, publicDiscountsStatus,
|
|
234
180
|
myDiscounts, myDiscountsStatus,
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
claim, applyToCart, removeFromCart,
|
|
181
|
+
cartAllocations, appliedClaimId, error,
|
|
182
|
+
claim,
|
|
238
183
|
refetchMyDiscounts, refetchPublicDiscounts,
|
|
239
184
|
]);
|
|
240
185
|
return _jsx(Ctx.Provider, { value: value, children: children });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscountProvider.js","sourceRoot":"","sources":["../../src/components/DiscountProvider.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DiscountProvider.js","sourceRoot":"","sources":["../../src/components/DiscountProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <DiscountSelector>
|
|
3
|
+
*
|
|
4
|
+
* Cart 上的优惠券选择器 — 卡片式 UI,对齐拼多多 / 京东体验。
|
|
5
|
+
*
|
|
6
|
+
* 行为:
|
|
7
|
+
* - 默认显示当前应用的券(服务端自动选了最佳,或买家显式选的)
|
|
8
|
+
* - 点"切换"打开抽屉/弹窗,列出该买家所有可用券(从 useDiscounts().myDiscounts)
|
|
9
|
+
* - 选另一张 → 调 cartDiscountSelect mutation
|
|
10
|
+
* - 点"不使用优惠券" → cartDiscountClear
|
|
11
|
+
*
|
|
12
|
+
* 未登录买家:渲染"登录后享受优惠"提示。
|
|
13
|
+
*
|
|
14
|
+
* 设计目标:
|
|
15
|
+
* - 这是 helium "脚手架" 的卡片式实现。商家可以替换为抽屉式 / 弹窗式自定义 UI。
|
|
16
|
+
* - 商家也可以直接用 useDiscounts() 自己渲染(提供 hook-only 路径)。
|
|
17
|
+
*/
|
|
18
|
+
import * as React from 'react';
|
|
19
|
+
export interface DiscountSelectorProps {
|
|
20
|
+
className?: string;
|
|
21
|
+
/** 未登录时显示的内容;不传则显示默认 */
|
|
22
|
+
unauthenticatedFallback?: React.ReactNode;
|
|
23
|
+
/** 自定义渲染 */
|
|
24
|
+
renderApplied?: (props: {
|
|
25
|
+
code: string | null;
|
|
26
|
+
title: string;
|
|
27
|
+
amount: {
|
|
28
|
+
amount: string;
|
|
29
|
+
currencyCode: string;
|
|
30
|
+
};
|
|
31
|
+
onChange: () => void;
|
|
32
|
+
onClear: () => void;
|
|
33
|
+
}) => React.ReactNode;
|
|
34
|
+
}
|
|
35
|
+
export declare function DiscountSelector(props: DiscountSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
//# sourceMappingURL=DiscountSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiscountSelector.d.ts","sourceRoot":"","sources":["../../src/components/DiscountSelector.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,uBAAuB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1C,YAAY;IACZ,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;CACjL;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAsH5D"}
|