namirasoft-account-react 1.5.54 → 1.5.55
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/NSAPaymentCacheService.js +2 -1
- package/dist/NSAPaymentCacheService.js.map +1 -1
- package/dist/components/NSAPlanStatus.js +32 -4
- package/dist/components/NSAPlanStatus.js.map +1 -1
- package/dist/components/NSAPlanStatus.module.css +23 -1
- package/package.json +2 -2
- package/src/NSAPaymentCacheService.ts +3 -1
- package/src/components/NSAPlanStatus.module.css +23 -1
- package/src/components/NSAPlanStatus.tsx +40 -7
|
@@ -55,7 +55,8 @@ export class NSAPaymentCacheService {
|
|
|
55
55
|
sales_item_name: (_b = sales_item === null || sales_item === void 0 ? void 0 : sales_item.name) !== null && _b !== void 0 ? _b : null,
|
|
56
56
|
sales_item_slug: (_c = sales_item === null || sales_item === void 0 ? void 0 : sales_item.slug) !== null && _c !== void 0 ? _c : null,
|
|
57
57
|
product_slug: (_e = (_d = sales_item === null || sales_item === void 0 ? void 0 : sales_item.product) === null || _d === void 0 ? void 0 : _d.slug) !== null && _e !== void 0 ? _e : null,
|
|
58
|
-
offer_name: (_f = offer === null || offer === void 0 ? void 0 : offer.name) !== null && _f !== void 0 ? _f : null
|
|
58
|
+
offer_name: (_f = offer === null || offer === void 0 ? void 0 : offer.name) !== null && _f !== void 0 ? _f : null,
|
|
59
|
+
ever_subscribed: false
|
|
59
60
|
});
|
|
60
61
|
});
|
|
61
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSAPaymentCacheService.js","sourceRoot":"","sources":["../src/NSAPaymentCacheService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NSAPaymentCacheService.js","sourceRoot":"","sources":["../src/NSAPaymentCacheService.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAA2B,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAElI,MAAM,OAAO,sBAAsB;IAI/B,MAAM,CAAC,eAAe,CAAC,aAA2B,EAAE,aAAqB;;QAErE,IAAI,OAAO,GAAW,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;QACtE,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa;YAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,KAAK,GAAG,sBAAsB,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACtE,IAAI,KAAK;YACL,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,GAAG,GAAG,gCAAgC,OAAO,eAAe,aAAa,EAAE,CAAC;QAChF,IAAI,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,kBAAkB,CAAC,eAAe,GAAG,IAAI;YAC1E,OAAO,KAAK,CAAC,OAAO,CAAC;QAEzB,IAAI,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAExF,OAAO,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;QACjE,OAAO,OAAO,CAAC;IACnB,CAAC;IACO,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,aAAqB;;QAE5D,IAAI,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,EAAE,aAAa,CAAC,CAAC;QAC1E,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;YAClC,OAAO,KAAK,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IACO,MAAM,CAAO,IAAI,CAAC,aAA2B,EAAE,OAAe,EAAE,aAAqB;;;YAEzF,IAAI,0BAA0B,GAAG,MAAA,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC,aAAa,EAAE,mCAAI,uCAAuC,CAAC;YAEzI,IAAI,MAAM,GAAG,IAAI,uBAAuB,CAAC,0BAA0B,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/F,IAAI,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAGjE,IAAI,KAAK,GAAG,sBAAsB,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACtE,IAAI,KAAK;gBACL,OAAO,KAAK,CAAC;YAGjB,IAAI,UAAU,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACxC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBACtD,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;aAClF,CAAC,CAAC;YACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE;gBACxC,eAAe,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,mCAAI,IAAI;gBACzC,eAAe,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,mCAAI,IAAI;gBACzC,YAAY,EAAE,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,IAAI,mCAAI,IAAI;gBAC/C,UAAU,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,IAAI;gBAE/B,eAAe,EAAE,KAAK;aACzB,CAAC,CAAC;QACP,CAAC;KAAA;;AA3Dc,6BAAM,GAAyF,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { SubscriptionCookie } from 'namirasoft-payment';
|
|
2
|
+
import { SubscriptionCookie, SubscriptionCookieState } from 'namirasoft-payment';
|
|
3
3
|
import { NSLink } from 'namirasoft-site-react';
|
|
4
4
|
import { useEffect, useState } from 'react';
|
|
5
5
|
import { NSAPaymentCacheService } from '../NSAPaymentCacheService';
|
|
@@ -20,10 +20,38 @@ export function NSAPlanStatus(props) {
|
|
|
20
20
|
let value = state.value;
|
|
21
21
|
if (!value)
|
|
22
22
|
return null;
|
|
23
|
-
let
|
|
23
|
+
let plan_state = SubscriptionCookie.getState(value);
|
|
24
|
+
let plan_name = SubscriptionCookie.getPlanName(value);
|
|
24
25
|
let valid_until = value.valid_until ? new Date(value.valid_until).toLocaleDateString(undefined, { year: "numeric", month: "short", day: "numeric" }) : null;
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
let badge = Styles.nsa_plan_badge_none;
|
|
27
|
+
let detail = null;
|
|
28
|
+
let notice = null;
|
|
29
|
+
let link = "View plans";
|
|
30
|
+
switch (plan_state) {
|
|
31
|
+
case SubscriptionCookieState.Active:
|
|
32
|
+
badge = Styles.nsa_plan_badge_active;
|
|
33
|
+
if (valid_until)
|
|
34
|
+
detail = `Renews on ${valid_until}`;
|
|
35
|
+
link = "Manage plan";
|
|
36
|
+
break;
|
|
37
|
+
case SubscriptionCookieState.ActiveUntilPeriodEnd:
|
|
38
|
+
badge = Styles.nsa_plan_badge_ending;
|
|
39
|
+
detail = `Active until ${valid_until}`;
|
|
40
|
+
notice = `Your subscription is canceled and will not be charged again. You can keep using ${plan_name} until the end of the paid period on ${valid_until}.`;
|
|
41
|
+
link = "Renew plan";
|
|
42
|
+
break;
|
|
43
|
+
case SubscriptionCookieState.Canceled:
|
|
44
|
+
badge = Styles.nsa_plan_badge_canceled;
|
|
45
|
+
detail = "Your subscription has ended.";
|
|
46
|
+
break;
|
|
47
|
+
case SubscriptionCookieState.Free:
|
|
48
|
+
badge = Styles.nsa_plan_badge_active;
|
|
49
|
+
link = "Manage plan";
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
return (_jsxs("div", { className: Styles.nsa_plan, children: [_jsxs("div", { className: Styles.nsa_plan_header, children: [_jsx("span", { className: Styles.nsa_plan_label, children: "Current plan" }), _jsx("span", { className: [Styles.nsa_plan_badge, badge].join(" "), children: SubscriptionCookie.getStatusName(value) })] }), _jsx("span", { className: Styles.nsa_plan_name, children: plan_name }), detail &&
|
|
53
|
+
_jsx("span", { className: Styles.nsa_plan_detail, children: detail }), notice &&
|
|
54
|
+
_jsx("span", { className: Styles.nsa_plan_notice, children: notice }), _jsx(NSLink, { href: SubscriptionCookie.getManageUrl(value), target: "_blank", classList: [Styles.nsa_plan_link], children: link })] }));
|
|
27
55
|
}
|
|
28
56
|
export default NSAPlanStatus;
|
|
29
57
|
//# sourceMappingURL=NSAPlanStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSAPlanStatus.js","sourceRoot":"","sources":["../../src/components/NSAPlanStatus.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"NSAPlanStatus.js","sourceRoot":"","sources":["../../src/components/NSAPlanStatus.tsx"],"names":[],"mappings":"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"}
|
|
@@ -51,11 +51,33 @@
|
|
|
51
51
|
background-color: #dcf5e7;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
.
|
|
54
|
+
.nsa_plan_badge_ending {
|
|
55
55
|
color: #6b4e0b;
|
|
56
56
|
background-color: #fbefd5;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
.nsa_plan_badge_canceled {
|
|
60
|
+
color: #8a1c1c;
|
|
61
|
+
background-color: #fbe0e0;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.nsa_plan_badge_none {
|
|
65
|
+
color: #4a4f6b;
|
|
66
|
+
background-color: #e9eaf0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.nsa_plan_notice {
|
|
70
|
+
margin-top: 0.25rem;
|
|
71
|
+
padding: 0.5rem 0.75rem;
|
|
72
|
+
border-left: 3px solid #e0a526;
|
|
73
|
+
border-radius: 0.25rem;
|
|
74
|
+
font-size: 0.8125rem;
|
|
75
|
+
line-height: 1.25rem;
|
|
76
|
+
text-align: left;
|
|
77
|
+
color: #6b4e0b;
|
|
78
|
+
background-color: #fdf6e6;
|
|
79
|
+
}
|
|
80
|
+
|
|
59
81
|
.nsa_plan_link {
|
|
60
82
|
align-self: flex-start;
|
|
61
83
|
margin-top: 0.25rem;
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"framework": "npm",
|
|
9
9
|
"application": "package",
|
|
10
10
|
"private": false,
|
|
11
|
-
"version": "1.5.
|
|
11
|
+
"version": "1.5.55",
|
|
12
12
|
"author": "Amir Abolhasani",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"main": "./dist/main.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"namirasoft-field": "^1.5.10",
|
|
36
36
|
"namirasoft-history": "^1.5.1",
|
|
37
37
|
"namirasoft-message": "^1.5.2",
|
|
38
|
-
"namirasoft-payment": "^1.5.
|
|
38
|
+
"namirasoft-payment": "^1.5.3",
|
|
39
39
|
"namirasoft-schema": "^1.5.1",
|
|
40
40
|
"namirasoft-secret": "^1.5.4",
|
|
41
41
|
"namirasoft-site-map": "^1.5.7",
|
|
@@ -59,7 +59,9 @@ export class NSAPaymentCacheService
|
|
|
59
59
|
sales_item_name: sales_item?.name ?? null,
|
|
60
60
|
sales_item_slug: sales_item?.slug ?? null,
|
|
61
61
|
product_slug: sales_item?.product?.slug ?? null,
|
|
62
|
-
offer_name: offer?.name ?? null
|
|
62
|
+
offer_name: offer?.name ?? null,
|
|
63
|
+
// only Payment API can tell whether a past subscription existed
|
|
64
|
+
ever_subscribed: false
|
|
63
65
|
});
|
|
64
66
|
}
|
|
65
67
|
}
|
|
@@ -51,11 +51,33 @@
|
|
|
51
51
|
background-color: #dcf5e7;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
.
|
|
54
|
+
.nsa_plan_badge_ending {
|
|
55
55
|
color: #6b4e0b;
|
|
56
56
|
background-color: #fbefd5;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
.nsa_plan_badge_canceled {
|
|
60
|
+
color: #8a1c1c;
|
|
61
|
+
background-color: #fbe0e0;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.nsa_plan_badge_none {
|
|
65
|
+
color: #4a4f6b;
|
|
66
|
+
background-color: #e9eaf0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.nsa_plan_notice {
|
|
70
|
+
margin-top: 0.25rem;
|
|
71
|
+
padding: 0.5rem 0.75rem;
|
|
72
|
+
border-left: 3px solid #e0a526;
|
|
73
|
+
border-radius: 0.25rem;
|
|
74
|
+
font-size: 0.8125rem;
|
|
75
|
+
line-height: 1.25rem;
|
|
76
|
+
text-align: left;
|
|
77
|
+
color: #6b4e0b;
|
|
78
|
+
background-color: #fdf6e6;
|
|
79
|
+
}
|
|
80
|
+
|
|
59
81
|
.nsa_plan_link {
|
|
60
82
|
align-self: flex-start;
|
|
61
83
|
margin-top: 0.25rem;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SubscriptionCookie, SubscriptionCookieValue } from 'namirasoft-payment';
|
|
1
|
+
import { SubscriptionCookie, SubscriptionCookieState, SubscriptionCookieValue } from 'namirasoft-payment';
|
|
2
2
|
import { NSLink } from 'namirasoft-site-react';
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
4
|
import { NSAPaymentCacheService } from '../NSAPaymentCacheService';
|
|
@@ -45,28 +45,61 @@ export function NSAPlanStatus(props: NSAPlanStatusProps)
|
|
|
45
45
|
if (!value)
|
|
46
46
|
return null;
|
|
47
47
|
|
|
48
|
-
let
|
|
48
|
+
let plan_state = SubscriptionCookie.getState(value);
|
|
49
|
+
let plan_name = SubscriptionCookie.getPlanName(value);
|
|
49
50
|
let valid_until = value.valid_until ? new Date(value.valid_until).toLocaleDateString(undefined, { year: "numeric", month: "short", day: "numeric" }) : null;
|
|
50
51
|
|
|
52
|
+
let badge = Styles.nsa_plan_badge_none;
|
|
53
|
+
let detail: string | null = null;
|
|
54
|
+
let notice: string | null = null;
|
|
55
|
+
let link = "View plans";
|
|
56
|
+
switch (plan_state)
|
|
57
|
+
{
|
|
58
|
+
case SubscriptionCookieState.Active:
|
|
59
|
+
badge = Styles.nsa_plan_badge_active;
|
|
60
|
+
if (valid_until)
|
|
61
|
+
detail = `Renews on ${valid_until}`;
|
|
62
|
+
link = "Manage plan";
|
|
63
|
+
break;
|
|
64
|
+
case SubscriptionCookieState.ActiveUntilPeriodEnd:
|
|
65
|
+
badge = Styles.nsa_plan_badge_ending;
|
|
66
|
+
detail = `Active until ${valid_until}`;
|
|
67
|
+
notice = `Your subscription is canceled and will not be charged again. You can keep using ${plan_name} until the end of the paid period on ${valid_until}.`;
|
|
68
|
+
link = "Renew plan";
|
|
69
|
+
break;
|
|
70
|
+
case SubscriptionCookieState.Canceled:
|
|
71
|
+
badge = Styles.nsa_plan_badge_canceled;
|
|
72
|
+
detail = "Your subscription has ended.";
|
|
73
|
+
break;
|
|
74
|
+
case SubscriptionCookieState.Free:
|
|
75
|
+
badge = Styles.nsa_plan_badge_active;
|
|
76
|
+
link = "Manage plan";
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
|
|
51
80
|
return (
|
|
52
81
|
<div className={Styles.nsa_plan}>
|
|
53
82
|
<div className={Styles.nsa_plan_header}>
|
|
54
83
|
<span className={Styles.nsa_plan_label}>Current plan</span>
|
|
55
|
-
<span className={[Styles.nsa_plan_badge,
|
|
84
|
+
<span className={[Styles.nsa_plan_badge, badge].join(" ")}>
|
|
56
85
|
{SubscriptionCookie.getStatusName(value)}
|
|
57
86
|
</span>
|
|
58
87
|
</div>
|
|
59
|
-
<span className={Styles.nsa_plan_name}>{
|
|
88
|
+
<span className={Styles.nsa_plan_name}>{plan_name}</span>
|
|
89
|
+
{
|
|
90
|
+
detail &&
|
|
91
|
+
<span className={Styles.nsa_plan_detail}>{detail}</span>
|
|
92
|
+
}
|
|
60
93
|
{
|
|
61
|
-
|
|
62
|
-
<span className={Styles.
|
|
94
|
+
notice &&
|
|
95
|
+
<span className={Styles.nsa_plan_notice}>{notice}</span>
|
|
63
96
|
}
|
|
64
97
|
<NSLink
|
|
65
98
|
href={SubscriptionCookie.getManageUrl(value)}
|
|
66
99
|
target="_blank"
|
|
67
100
|
classList={[Styles.nsa_plan_link]}
|
|
68
101
|
>
|
|
69
|
-
{
|
|
102
|
+
{link}
|
|
70
103
|
</NSLink>
|
|
71
104
|
</div>
|
|
72
105
|
);
|