namirasoft-account-react 1.5.53 → 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.
@@ -0,0 +1,8 @@
1
+ import { TokenManager } from "namirasoft-account";
2
+ import { SubscriptionCookieValue } from "namirasoft-payment";
3
+ export declare class NSAPaymentCacheService {
4
+ private static memory;
5
+ static getSubscription(token_manager: TokenManager, sales_item_id: string): Promise<SubscriptionCookieValue | null>;
6
+ private static readCookie;
7
+ private static load;
8
+ }
@@ -0,0 +1,65 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { EnvService } from "namirasoft-core";
11
+ import { NamirasoftPaymentServer, SubscriptionCookie, SubscriptionValidation } from "namirasoft-payment";
12
+ export class NSAPaymentCacheService {
13
+ static getSubscription(token_manager, sales_item_id) {
14
+ var _a;
15
+ let user_id = (_a = token_manager === null || token_manager === void 0 ? void 0 : token_manager.getUserData(u => u.id, "")) !== null && _a !== void 0 ? _a : "";
16
+ if (!user_id || !sales_item_id)
17
+ return Promise.resolve(null);
18
+ let value = NSAPaymentCacheService.readCookie(user_id, sales_item_id);
19
+ if (value)
20
+ return Promise.resolve(value);
21
+ let key = `ns-payment-subscription-user:${user_id}-sales_item:${sales_item_id}`;
22
+ let entry = NSAPaymentCacheService.memory[key];
23
+ if (entry && Date.now() - entry.at < SubscriptionCookie.MAX_AGE_SECONDS * 1000)
24
+ return entry.promise;
25
+ let promise = NSAPaymentCacheService.load(token_manager, user_id, sales_item_id).catch(() => {
26
+ delete NSAPaymentCacheService.memory[key];
27
+ return null;
28
+ });
29
+ NSAPaymentCacheService.memory[key] = { at: Date.now(), promise };
30
+ return promise;
31
+ }
32
+ static readCookie(user_id, sales_item_id) {
33
+ var _a;
34
+ let value = SubscriptionCookie.read((_a = document.cookie) !== null && _a !== void 0 ? _a : "", sales_item_id);
35
+ if (value && value.user_id === user_id)
36
+ return value;
37
+ return null;
38
+ }
39
+ static load(token_manager, user_id, sales_item_id) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ var _a, _b, _c, _d, _e, _f;
42
+ let REACT_APP_BASE_URL_PAYMENT = (_a = new EnvService("REACT_APP_BASE_URL_PAYMENT").getNullString()) !== null && _a !== void 0 ? _a : "https://payment.namirasoft.com/api/v1";
43
+ let server = new NamirasoftPaymentServer(REACT_APP_BASE_URL_PAYMENT, token_manager, () => { });
44
+ let res = yield server.subscription.GetValidation(sales_item_id);
45
+ let value = NSAPaymentCacheService.readCookie(user_id, sales_item_id);
46
+ if (value)
47
+ return value;
48
+ let validation = new SubscriptionValidation(res.user_id, res.sales_item_id, res.subscriptions, res.subscription_paids, res.free);
49
+ let offer_id = SubscriptionCookie.getOfferID(validation);
50
+ let [sales_item, offer] = yield Promise.all([
51
+ server.sales_item.Get(sales_item_id).catch(() => null),
52
+ offer_id ? server.offer.Get(offer_id).catch(() => null) : Promise.resolve(null)
53
+ ]);
54
+ return SubscriptionCookie.build(validation, {
55
+ sales_item_name: (_b = sales_item === null || sales_item === void 0 ? void 0 : sales_item.name) !== null && _b !== void 0 ? _b : null,
56
+ sales_item_slug: (_c = sales_item === null || sales_item === void 0 ? void 0 : sales_item.slug) !== null && _c !== void 0 ? _c : null,
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,
59
+ ever_subscribed: false
60
+ });
61
+ });
62
+ }
63
+ }
64
+ NSAPaymentCacheService.memory = {};
65
+ //# sourceMappingURL=NSAPaymentCacheService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NSAPaymentCacheService.js","sourceRoot":"","sources":["../src/NSAPaymentCacheService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { NSARouterMakerResult } from '../NSARouterMakerResult';
2
+ export interface NSAPlanStatusProps extends NSARouterMakerResult {
3
+ sales_item_id: string;
4
+ }
5
+ export declare function NSAPlanStatus(props: NSAPlanStatusProps): import("react").JSX.Element | null;
6
+ export default NSAPlanStatus;
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { SubscriptionCookie, SubscriptionCookieState } from 'namirasoft-payment';
3
+ import { NSLink } from 'namirasoft-site-react';
4
+ import { useEffect, useState } from 'react';
5
+ import { NSAPaymentCacheService } from '../NSAPaymentCacheService';
6
+ import Styles from "./NSAPlanStatus.module.css";
7
+ export function NSAPlanStatus(props) {
8
+ let [state, setState] = useState({ loading: true, value: null });
9
+ useEffect(() => {
10
+ let mounted = true;
11
+ setState({ loading: true, value: null });
12
+ NSAPaymentCacheService.getSubscription(props.account.token_manager, props.sales_item_id).then(value => {
13
+ if (mounted)
14
+ setState({ loading: false, value });
15
+ });
16
+ return () => { mounted = false; };
17
+ }, [props.sales_item_id]);
18
+ if (state.loading)
19
+ return (_jsxs("div", { className: Styles.nsa_plan, children: [_jsx("span", { className: Styles.nsa_plan_label, children: "Current plan" }), _jsx("span", { className: Styles.nsa_plan_detail, children: "Loading . . ." })] }));
20
+ let value = state.value;
21
+ if (!value)
22
+ return null;
23
+ let plan_state = SubscriptionCookie.getState(value);
24
+ let plan_name = SubscriptionCookie.getPlanName(value);
25
+ let valid_until = value.valid_until ? new Date(value.valid_until).toLocaleDateString(undefined, { year: "numeric", month: "short", day: "numeric" }) : null;
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 })] }));
55
+ }
56
+ export default NSAPlanStatus;
57
+ //# sourceMappingURL=NSAPlanStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NSAPlanStatus.js","sourceRoot":"","sources":["../../src/components/NSAPlanStatus.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ .nsa_plan {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 0.25rem;
5
+ width: 100%;
6
+ padding: 0.75rem 1rem;
7
+ border: 1px solid #e1e1e1;
8
+ border-radius: 0.5rem;
9
+ background-color: #fbfafd;
10
+ color: #141b5c;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ .nsa_plan_header {
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: space-between;
18
+ gap: 0.5rem;
19
+ }
20
+
21
+ .nsa_plan_label {
22
+ font-size: 0.75rem;
23
+ font-weight: 600;
24
+ text-transform: uppercase;
25
+ letter-spacing: 0.04em;
26
+ opacity: 0.7;
27
+ }
28
+
29
+ .nsa_plan_name {
30
+ font-size: 1.125rem;
31
+ font-weight: 600;
32
+ line-height: 1.5rem;
33
+ overflow-wrap: anywhere;
34
+ }
35
+
36
+ .nsa_plan_detail {
37
+ font-size: 0.875rem;
38
+ opacity: 0.8;
39
+ }
40
+
41
+ .nsa_plan_badge {
42
+ padding: 0.125rem 0.5rem;
43
+ border-radius: 1rem;
44
+ font-size: 0.75rem;
45
+ font-weight: 600;
46
+ white-space: nowrap;
47
+ }
48
+
49
+ .nsa_plan_badge_active {
50
+ color: #0b6b3a;
51
+ background-color: #dcf5e7;
52
+ }
53
+
54
+ .nsa_plan_badge_ending {
55
+ color: #6b4e0b;
56
+ background-color: #fbefd5;
57
+ }
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
+
81
+ .nsa_plan_link {
82
+ align-self: flex-start;
83
+ margin-top: 0.25rem;
84
+ font-size: 0.875rem;
85
+ font-weight: 600;
86
+ color: rgba(3, 119, 255) !important;
87
+ }
@@ -4,6 +4,7 @@ import { Component } from 'react';
4
4
  import { NSARouterMakerResult } from '../NSARouterMakerResult';
5
5
  export interface NSAUserDialogProps extends NSARouterMakerResult, NSDialogProps {
6
6
  client: NamirasoftAccountClient;
7
+ sales_item_id?: string;
7
8
  }
8
9
  interface NSAUserDialogState {
9
10
  imageError: boolean;
@@ -1,6 +1,7 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { NSButton, NSCopy, NSDialog, NSLine, NSLink, NSNoData, NSSpace, NSSpaceSizeType } from 'namirasoft-site-react';
3
3
  import { Component } from 'react';
4
+ import { NSAPlanStatus } from './NSAPlanStatus';
4
5
  import Styles from "./NSAUserDialog.module.css";
5
6
  export class NSAUserDialog extends Component {
6
7
  constructor(props) {
@@ -18,7 +19,8 @@ export class NSAUserDialog extends Component {
18
19
  ?
19
20
  _jsx("img", { src: user.picture, width: 96, height: 96, alt: "User Avatar", onError: () => this.setState((prev) => (Object.assign(Object.assign({}, prev), { imageError: true }))) })
20
21
  :
21
- _jsx("div", { className: Styles.ns_figure_placeholder, children: _jsx("span", { children: (((_d = (_c = user.first_name) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : "") + " " + ((_f = (_e = user.last_name) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : "")).trim() }) }), _jsxs("figcaption", { children: [_jsx("span", { className: Styles.ns_figure_title, children: `Hi ${user.first_name}!` }), _jsx("span", { children: user === null || user === void 0 ? void 0 : user.email }), _jsx(NSCopy, { id: user.id, children: _jsx("p", { className: Styles.ns_user_id, children: user.id }) })] })] }), _jsx(NSSpace, { size: NSSpaceSizeType.MINI }), _jsx(NSLine, {}), _jsx(NSSpace, { size: NSSpaceSizeType.MICRO }), _jsxs("div", { className: Styles.ns_actions_wrapper, children: [_jsx(NSLink, { href: "https://account.namirasoft.com/user/profile", target: "_blank", classList: [Styles.ns_link], children: "Profile" }), _jsx(NSLink, { href: "https://payment.namirasoft.com/payment/list", target: "_blank", classList: [Styles.ns_link], children: "Payment and Billing" }), _jsx(NSLink, { href: "https://cost.namirasoft.com/cost/explorer", target: "_blank", classList: [Styles.ns_link], children: "Cost and Usage" }), _jsx(NSLink, { href: "https://account.namirasoft.com/setting/notification", target: "_blank", classList: [Styles.ns_link], children: "Notification Settings" }), _jsx(NSLink, { href: "https://account.namirasoft.com/password/change", target: "_blank", classList: [Styles.ns_link], children: "Change Password" }), _jsx(NSButton, { onClick: { action: () => this.props.client.logout() }, title: 'Log Out', classList: [Styles.ns_button], icon: {
22
+ _jsx("div", { className: Styles.ns_figure_placeholder, children: _jsx("span", { children: (((_d = (_c = user.first_name) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : "") + " " + ((_f = (_e = user.last_name) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : "")).trim() }) }), _jsxs("figcaption", { children: [_jsx("span", { className: Styles.ns_figure_title, children: `Hi ${user.first_name}!` }), _jsx("span", { children: user === null || user === void 0 ? void 0 : user.email }), _jsx(NSCopy, { id: user.id, children: _jsx("p", { className: Styles.ns_user_id, children: user.id }) })] })] }), this.props.sales_item_id &&
23
+ _jsxs(_Fragment, { children: [_jsx(NSSpace, { size: NSSpaceSizeType.MINI }), _jsx(NSAPlanStatus, Object.assign({}, this.props, { sales_item_id: this.props.sales_item_id }))] }), _jsx(NSSpace, { size: NSSpaceSizeType.MINI }), _jsx(NSLine, {}), _jsx(NSSpace, { size: NSSpaceSizeType.MICRO }), _jsxs("div", { className: Styles.ns_actions_wrapper, children: [_jsx(NSLink, { href: "https://account.namirasoft.com/user/profile", target: "_blank", classList: [Styles.ns_link], children: "Profile" }), _jsx(NSLink, { href: "https://payment.namirasoft.com/payment/list", target: "_blank", classList: [Styles.ns_link], children: "Payment and Billing" }), _jsx(NSLink, { href: "https://cost.namirasoft.com/cost/explorer", target: "_blank", classList: [Styles.ns_link], children: "Cost and Usage" }), _jsx(NSLink, { href: "https://account.namirasoft.com/setting/notification", target: "_blank", classList: [Styles.ns_link], children: "Notification Settings" }), _jsx(NSLink, { href: "https://account.namirasoft.com/password/change", target: "_blank", classList: [Styles.ns_link], children: "Change Password" }), _jsx(NSButton, { onClick: { action: () => this.props.client.logout() }, title: 'Log Out', classList: [Styles.ns_button], icon: {
22
24
  src: "https://static.namirasoft.com/image/concept/logout/blue.svg",
23
25
  alt: "Logout Icon"
24
26
  } })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"NSAUserDialog.js","sourceRoot":"","sources":["../../src/components/NSAUserDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSAUserDialog.js","sourceRoot":"","sources":["../../src/components/NSAUserDialog.tsx"],"names":[],"mappings":"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"}
@@ -74,6 +74,9 @@ export interface NSALayoutProps<RowType extends {
74
74
  };
75
75
  mega_menu?: boolean;
76
76
  };
77
+ payment?: {
78
+ sales_item_id?: string;
79
+ };
77
80
  }
78
81
  interface NSALayoutState {
79
82
  parmas: any | null;
@@ -142,7 +142,7 @@ export class NSALayout extends Component {
142
142
  client.stop();
143
143
  }
144
144
  render() {
145
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41;
145
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42;
146
146
  this.onDidMounted_Ready = false;
147
147
  let id = (_b = (_a = this.props.model) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null;
148
148
  if (!id) {
@@ -213,7 +213,7 @@ export class NSALayout extends Component {
213
213
  this.setState(prev => (Object.assign(Object.assign({}, prev), { showUserDialog: true })));
214
214
  },
215
215
  children: _jsx(_Fragment, { children: (this.state.showUserDialog) &&
216
- _jsx(NSAUserDialog, Object.assign({}, this.props, { client: client, onClose: () => this.setState(prev => (Object.assign(Object.assign({}, prev), { showUserDialog: false }))), children: _jsx(_Fragment, {}) })) }),
216
+ _jsx(NSAUserDialog, Object.assign({}, this.props, { client: client, sales_item_id: (_t = this.props.payment) === null || _t === void 0 ? void 0 : _t.sales_item_id, onClose: () => this.setState(prev => (Object.assign(Object.assign({}, prev), { showUserDialog: false }))), children: _jsx(_Fragment, {}) })) }),
217
217
  tooltip: "User"
218
218
  });
219
219
  let name = "";
@@ -221,28 +221,28 @@ export class NSALayout extends Component {
221
221
  name = NamingConvention.lower_case_underscore.convert(this.props.pages.entity.name, NamingConvention.Pascal_Case_Space);
222
222
  let getIDs = null;
223
223
  let getRows = null;
224
- if ((_t = this.props.pages) === null || _t === void 0 ? void 0 : _t.list) {
224
+ if ((_u = this.props.pages) === null || _u === void 0 ? void 0 : _u.list) {
225
225
  getIDs = () => { var _a, _b; return (_b = (_a = this.NSASectionList_Ref.current) === null || _a === void 0 ? void 0 : _a.getSelectedIDs()) !== null && _b !== void 0 ? _b : []; };
226
226
  getRows = () => { var _a, _b; return (_b = (_a = this.NSASectionList_Ref.current) === null || _a === void 0 ? void 0 : _a.getSelectedRows()) !== null && _b !== void 0 ? _b : []; };
227
227
  }
228
- if ((_u = this.props.pages) === null || _u === void 0 ? void 0 : _u.edit) {
228
+ if ((_v = this.props.pages) === null || _v === void 0 ? void 0 : _v.edit) {
229
229
  getIDs = () => [id].filter(id => id);
230
230
  getRows = () => { var _a; return [(_a = this.NSASectionEdit_Ref.current) === null || _a === void 0 ? void 0 : _a.getRow()].filter(row => row); };
231
231
  }
232
- if ((_v = this.props.pages) === null || _v === void 0 ? void 0 : _v.view) {
232
+ if ((_w = this.props.pages) === null || _w === void 0 ? void 0 : _w.view) {
233
233
  getIDs = () => [id].filter(id => id);
234
234
  getRows = () => { var _a; return [(_a = this.NSASectionView_Ref.current) === null || _a === void 0 ? void 0 : _a.getRow()].filter(row => row); };
235
235
  }
236
236
  let action = { title: "", description: "", menus: {} };
237
- if ((_w = this.props.action) === null || _w === void 0 ? void 0 : _w.title)
237
+ if ((_x = this.props.action) === null || _x === void 0 ? void 0 : _x.title)
238
238
  action.title = this.props.action.title;
239
- if ((_x = this.props.action) === null || _x === void 0 ? void 0 : _x.description)
239
+ if ((_y = this.props.action) === null || _y === void 0 ? void 0 : _y.description)
240
240
  action.description = this.props.action.description;
241
- if (((_y = this.props.action) === null || _y === void 0 ? void 0 : _y.menus) != null)
242
- action.menus = Object.assign({}, (_z = this.props.action) === null || _z === void 0 ? void 0 : _z.menus);
241
+ if (((_z = this.props.action) === null || _z === void 0 ? void 0 : _z.menus) != null)
242
+ action.menus = Object.assign({}, (_0 = this.props.action) === null || _0 === void 0 ? void 0 : _0.menus);
243
243
  if (getIDs && getRows)
244
- if ((_0 = this.props.pages) === null || _0 === void 0 ? void 0 : _0.entity.client.getMenus) {
245
- let menus = (_1 = this.props.pages) === null || _1 === void 0 ? void 0 : _1.entity.client.getMenus(getIDs, getRows);
244
+ if ((_1 = this.props.pages) === null || _1 === void 0 ? void 0 : _1.entity.client.getMenus) {
245
+ let menus = (_2 = this.props.pages) === null || _2 === void 0 ? void 0 : _2.entity.client.getMenus(getIDs, getRows);
246
246
  for (let key of Object.keys(menus)) {
247
247
  if (!action.menus)
248
248
  action.menus = {};
@@ -257,10 +257,10 @@ export class NSALayout extends Component {
257
257
  action.menus = {};
258
258
  action.menus[name_apply] = [];
259
259
  action.menus[name_actions] = [];
260
- if ((_2 = this.props.pages) === null || _2 === void 0 ? void 0 : _2.edit) {
260
+ if ((_3 = this.props.pages) === null || _3 === void 0 ? void 0 : _3.edit) {
261
261
  if (!action.title)
262
262
  action.title = (this.props.pages.edit.isEdit ? "Edit" : "New") + " " + name;
263
- if ((_4 = (_3 = this.props.pages.edit.ui.action) === null || _3 === void 0 ? void 0 : _3.menus.apply) !== null && _4 !== void 0 ? _4 : true)
263
+ if ((_5 = (_4 = this.props.pages.edit.ui.action) === null || _4 === void 0 ? void 0 : _4.menus.apply) !== null && _5 !== void 0 ? _5 : true)
264
264
  action.menus[name_apply].push(Actions.apply({
265
265
  action: (onFinished) => {
266
266
  var _a, _b;
@@ -272,31 +272,31 @@ export class NSALayout extends Component {
272
272
  else if (this.props.pages) {
273
273
  if (this.props.pages.entity.client.getNewURL)
274
274
  if (this.props.pages.entity.server.create)
275
- if ((_7 = (_6 = (_5 = this.props.pages.ui) === null || _5 === void 0 ? void 0 : _5.action) === null || _6 === void 0 ? void 0 : _6.menus._new) !== null && _7 !== void 0 ? _7 : true)
275
+ if ((_8 = (_7 = (_6 = this.props.pages.ui) === null || _6 === void 0 ? void 0 : _6.action) === null || _7 === void 0 ? void 0 : _7.menus._new) !== null && _8 !== void 0 ? _8 : true)
276
276
  action.menus[name_apply].push(Actions._new(this.props, this.props.pages.entity));
277
277
  }
278
278
  if (getIDs)
279
279
  if (this.props.pages) {
280
280
  if (this.props.pages.entity.client.getListURL)
281
281
  if (this.props.pages.entity.server.list)
282
- if ((_10 = (_9 = (_8 = this.props.pages.ui) === null || _8 === void 0 ? void 0 : _8.action) === null || _9 === void 0 ? void 0 : _9.menus.list) !== null && _10 !== void 0 ? _10 : true)
282
+ if ((_11 = (_10 = (_9 = this.props.pages.ui) === null || _9 === void 0 ? void 0 : _9.action) === null || _10 === void 0 ? void 0 : _10.menus.list) !== null && _11 !== void 0 ? _11 : true)
283
283
  action.menus[name_actions].push(Actions.list(this.props, this.props.pages.entity));
284
284
  if (this.props.pages.entity.client.getViewURL)
285
285
  if (this.props.pages.entity.server.get)
286
- if ((_13 = (_12 = (_11 = this.props.pages.ui) === null || _11 === void 0 ? void 0 : _11.action) === null || _12 === void 0 ? void 0 : _12.menus.view) !== null && _13 !== void 0 ? _13 : true)
286
+ if ((_14 = (_13 = (_12 = this.props.pages.ui) === null || _12 === void 0 ? void 0 : _12.action) === null || _13 === void 0 ? void 0 : _13.menus.view) !== null && _14 !== void 0 ? _14 : true)
287
287
  action.menus[name_actions].push(Actions.view(this.props, this.props.pages.entity, getIDs));
288
- if ((_16 = (_15 = (_14 = this.props.pages.ui) === null || _14 === void 0 ? void 0 : _14.action) === null || _15 === void 0 ? void 0 : _15.menus.view_history) !== null && _16 !== void 0 ? _16 : true)
288
+ if ((_17 = (_16 = (_15 = this.props.pages.ui) === null || _15 === void 0 ? void 0 : _15.action) === null || _16 === void 0 ? void 0 : _16.menus.view_history) !== null && _17 !== void 0 ? _17 : true)
289
289
  action.menus[name_actions].push(Actions.viewHistory(getIDs));
290
290
  if (this.props.pages.entity.client.getCopyURL)
291
291
  if (this.props.pages.entity.server.create)
292
- if ((_19 = (_18 = (_17 = this.props.pages.ui) === null || _17 === void 0 ? void 0 : _17.action) === null || _18 === void 0 ? void 0 : _18.menus.copy) !== null && _19 !== void 0 ? _19 : true)
292
+ if ((_20 = (_19 = (_18 = this.props.pages.ui) === null || _18 === void 0 ? void 0 : _18.action) === null || _19 === void 0 ? void 0 : _19.menus.copy) !== null && _20 !== void 0 ? _20 : true)
293
293
  action.menus[name_actions].push(Actions.copy(this.props, this.props.pages.entity, getIDs));
294
294
  if (this.props.pages.entity.client.getEditURL)
295
295
  if (this.props.pages.entity.server.update)
296
- if ((_22 = (_21 = (_20 = this.props.pages.ui) === null || _20 === void 0 ? void 0 : _20.action) === null || _21 === void 0 ? void 0 : _21.menus.edit) !== null && _22 !== void 0 ? _22 : true)
296
+ if ((_23 = (_22 = (_21 = this.props.pages.ui) === null || _21 === void 0 ? void 0 : _21.action) === null || _22 === void 0 ? void 0 : _22.menus.edit) !== null && _23 !== void 0 ? _23 : true)
297
297
  action.menus[name_actions].push(Actions.edit(this.props, this.props.pages.entity, getIDs));
298
298
  if (this.props.pages.entity.server.delete)
299
- if ((_25 = (_24 = (_23 = this.props.pages.ui) === null || _23 === void 0 ? void 0 : _23.action) === null || _24 === void 0 ? void 0 : _24.menus.delete) !== null && _25 !== void 0 ? _25 : true)
299
+ if ((_26 = (_25 = (_24 = this.props.pages.ui) === null || _24 === void 0 ? void 0 : _24.action) === null || _25 === void 0 ? void 0 : _25.menus.delete) !== null && _26 !== void 0 ? _26 : true)
300
300
  action.menus[name_actions].push(Actions.delete(getIDs, {
301
301
  action: showDeleteDialog,
302
302
  showLoading: false
@@ -304,7 +304,7 @@ export class NSALayout extends Component {
304
304
  }
305
305
  let action_name = "";
306
306
  let content;
307
- if ((_26 = this.props.pages) === null || _26 === void 0 ? void 0 : _26.list) {
307
+ if ((_27 = this.props.pages) === null || _27 === void 0 ? void 0 : _27.list) {
308
308
  action_name = "List";
309
309
  content = _jsx(FieldCacheService, Object.assign({}, this.props, { render: rows => {
310
310
  var _a;
@@ -320,7 +320,7 @@ export class NSALayout extends Component {
320
320
  return _jsx(_Fragment, {});
321
321
  } }));
322
322
  }
323
- else if ((_27 = this.props.pages) === null || _27 === void 0 ? void 0 : _27.edit) {
323
+ else if ((_28 = this.props.pages) === null || _28 === void 0 ? void 0 : _28.edit) {
324
324
  if (this.props.pages.edit.isEdit)
325
325
  action_name = "Edit";
326
326
  else
@@ -343,7 +343,7 @@ export class NSALayout extends Component {
343
343
  return _jsx(_Fragment, {});
344
344
  } }));
345
345
  }
346
- else if ((_28 = this.props.pages) === null || _28 === void 0 ? void 0 : _28.view) {
346
+ else if ((_29 = this.props.pages) === null || _29 === void 0 ? void 0 : _29.view) {
347
347
  action_name = "View";
348
348
  content = _jsx(FieldCacheService, Object.assign({}, this.props, { render: rows => {
349
349
  var _a;
@@ -366,7 +366,7 @@ export class NSALayout extends Component {
366
366
  else
367
367
  content = this.props.children;
368
368
  let fullname = "";
369
- if ((_29 = this.props.pages) === null || _29 === void 0 ? void 0 : _29.entity.name) {
369
+ if ((_30 = this.props.pages) === null || _30 === void 0 ? void 0 : _30.entity.name) {
370
370
  let Name_Pascal_Space = NamingConvention.lower_case_underscore.convert(this.props.pages.entity.name, NamingConvention.Pascal_Case_Space);
371
371
  if (action_name === "List")
372
372
  fullname = Name_Pascal_Space + " " + action_name;
@@ -375,24 +375,24 @@ export class NSALayout extends Component {
375
375
  }
376
376
  if (!this.state.product)
377
377
  return _jsx(NSLoading, { title: 'Loading Namirasoft Product ...' });
378
- let action_title = (_30 = action === null || action === void 0 ? void 0 : action.title) !== null && _30 !== void 0 ? _30 : "";
378
+ let action_title = (_31 = action === null || action === void 0 ? void 0 : action.title) !== null && _31 !== void 0 ? _31 : "";
379
379
  if (!action_title)
380
380
  action_title = fullname;
381
381
  if (!action_title)
382
- action_title = (_31 = this.state.product) === null || _31 === void 0 ? void 0 : _31.name;
383
- let action_description = (_32 = action === null || action === void 0 ? void 0 : action.description) !== null && _32 !== void 0 ? _32 : "";
382
+ action_title = (_32 = this.state.product) === null || _32 === void 0 ? void 0 : _32.name;
383
+ let action_description = (_33 = action === null || action === void 0 ? void 0 : action.description) !== null && _33 !== void 0 ? _33 : "";
384
384
  if (!action_description)
385
- action_description = (_34 = (_33 = this.state.product) === null || _33 === void 0 ? void 0 : _33.description) !== null && _34 !== void 0 ? _34 : "";
386
- let scope = (_35 = this.props.scope) !== null && _35 !== void 0 ? _35 : `${this.state.product.name} Console`;
387
- let logo = (_37 = (_36 = this.props.logo) !== null && _36 !== void 0 ? _36 : this.state.product.logo) !== null && _37 !== void 0 ? _37 : "";
388
- let background = (_40 = (_39 = (_38 = this.props.background) === null || _38 === void 0 ? void 0 : _38.image) !== null && _39 !== void 0 ? _39 : this.state.product.background) !== null && _40 !== void 0 ? _40 : "";
385
+ action_description = (_35 = (_34 = this.state.product) === null || _34 === void 0 ? void 0 : _34.description) !== null && _35 !== void 0 ? _35 : "";
386
+ let scope = (_36 = this.props.scope) !== null && _36 !== void 0 ? _36 : `${this.state.product.name} Console`;
387
+ let logo = (_38 = (_37 = this.props.logo) !== null && _37 !== void 0 ? _37 : this.state.product.logo) !== null && _38 !== void 0 ? _38 : "";
388
+ let background = (_41 = (_40 = (_39 = this.props.background) === null || _39 === void 0 ? void 0 : _39.image) !== null && _40 !== void 0 ? _40 : this.state.product.background) !== null && _41 !== void 0 ? _41 : "";
389
389
  this.onDidMounted_Ready = true;
390
390
  let user_id = this.props.account.token_manager.getUserData(x => x.id, "");
391
391
  let user_first_name = this.props.account.token_manager.getUserData(x => x.first_name, "");
392
392
  let user_last_name = this.props.account.token_manager.getUserData(x => x.last_name, "");
393
393
  let user_email = this.props.account.token_manager.getUserData(x => x.email, "");
394
394
  let user_phone = this.props.account.token_manager.getUserData(x => { var _a; return (_a = x.phone) !== null && _a !== void 0 ? _a : ""; }, "");
395
- return (_jsxs("div", { className: "d-flex", children: [((_41 = this.props.master_menu) !== null && _41 !== void 0 ? _41 : true) &&
395
+ return (_jsxs("div", { className: "d-flex", children: [((_42 = this.props.master_menu) !== null && _42 !== void 0 ? _42 : true) &&
396
396
  _jsx(NSAMasterMenu, Object.assign({}, this.props, { open: this.state.showMasterMenu, setOpen: (open) => {
397
397
  this.cache_master_menu.set({ open });
398
398
  this.setState(() => ({ showMasterMenu: open }));
@@ -1 +1 @@
1
- {"version":3,"file":"NSALayout.js","sourceRoot":"","sources":["../../src/layouts/NSALayout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSALayout.js","sourceRoot":"","sources":["../../src/layouts/NSALayout.tsx"],"names":[],"mappings":"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"}
package/dist/main.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from "./components/NSABoxSecret";
3
3
  export * from "./components/NSAMasterMenu";
4
4
  export * from "./components/NSAMasterMenuItem";
5
5
  export * from "./components/NSAMessageListDialog";
6
+ export * from "./components/NSAPlanStatus";
6
7
  export * from "./components/NSAProductListDialog";
7
8
  export * from "./components/NSASearchArea";
8
9
  export * from "./components/NSATable";
@@ -35,6 +36,7 @@ export * from "./layouts/NSASectionViewTabMore";
35
36
  export * from "./layouts/NSASectionViewTabPage";
36
37
  export * from "./NSACacheService";
37
38
  export * from "./NSAFilterOperators";
39
+ export * from "./NSAPaymentCacheService";
38
40
  export * from "./NSARouterMaker";
39
41
  export * from "./NSARouterMakerProps";
40
42
  export * from "./NSARouterMakerResult";
package/dist/main.js CHANGED
@@ -3,6 +3,7 @@ export * from "./components/NSABoxSecret";
3
3
  export * from "./components/NSAMasterMenu";
4
4
  export * from "./components/NSAMasterMenuItem";
5
5
  export * from "./components/NSAMessageListDialog";
6
+ export * from "./components/NSAPlanStatus";
6
7
  export * from "./components/NSAProductListDialog";
7
8
  export * from "./components/NSASearchArea";
8
9
  export * from "./components/NSATable";
@@ -35,6 +36,7 @@ export * from "./layouts/NSASectionViewTabMore";
35
36
  export * from "./layouts/NSASectionViewTabPage";
36
37
  export * from "./NSACacheService";
37
38
  export * from "./NSAFilterOperators";
39
+ export * from "./NSAPaymentCacheService";
38
40
  export * from "./NSARouterMaker";
39
41
  export * from "./NSARouterMakerProps";
40
42
  export * from "./NSARouterMakerResult";
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.5.53",
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.0",
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",
@@ -51,7 +51,7 @@
51
51
  "react-helmet": "^6.1.0",
52
52
  "react-router-dom": "7.9.1",
53
53
  "react-scripts": "5.0.1",
54
- "webpack": "^5.111.1"
54
+ "webpack": "^5.112.0"
55
55
  },
56
56
  "eslintConfig": {
57
57
  "extends": [
@@ -0,0 +1,67 @@
1
+ import { TokenManager } from "namirasoft-account";
2
+ import { EnvService } from "namirasoft-core";
3
+ import { NamirasoftPaymentServer, SubscriptionCookie, SubscriptionCookieValue, SubscriptionValidation } from "namirasoft-payment";
4
+
5
+ export class NSAPaymentCacheService
6
+ {
7
+ private static memory: { [key: string]: { at: number; promise: Promise<SubscriptionCookieValue | null>; } } = {};
8
+ // Reads the subscription cookie set by Payment API, and only calls Payment API when the cookie is missing or expired
9
+ static getSubscription(token_manager: TokenManager, sales_item_id: string): Promise<SubscriptionCookieValue | null>
10
+ {
11
+ let user_id: string = token_manager?.getUserData(u => u.id, "") ?? "";
12
+ if (!user_id || !sales_item_id)
13
+ return Promise.resolve(null);
14
+
15
+ let value = NSAPaymentCacheService.readCookie(user_id, sales_item_id);
16
+ if (value)
17
+ return Promise.resolve(value);
18
+
19
+ let key = `ns-payment-subscription-user:${user_id}-sales_item:${sales_item_id}`;
20
+ let entry = NSAPaymentCacheService.memory[key];
21
+ if (entry && Date.now() - entry.at < SubscriptionCookie.MAX_AGE_SECONDS * 1000)
22
+ return entry.promise;
23
+
24
+ let promise = NSAPaymentCacheService.load(token_manager, user_id, sales_item_id).catch(() =>
25
+ {
26
+ delete NSAPaymentCacheService.memory[key];
27
+ return null;
28
+ });
29
+ NSAPaymentCacheService.memory[key] = { at: Date.now(), promise };
30
+ return promise;
31
+ }
32
+ private static readCookie(user_id: string, sales_item_id: string): SubscriptionCookieValue | null
33
+ {
34
+ let value = SubscriptionCookie.read(document.cookie ?? "", sales_item_id);
35
+ if (value && value.user_id === user_id)
36
+ return value;
37
+ return null;
38
+ }
39
+ private static async load(token_manager: TokenManager, user_id: string, sales_item_id: string): Promise<SubscriptionCookieValue | null>
40
+ {
41
+ let REACT_APP_BASE_URL_PAYMENT = new EnvService("REACT_APP_BASE_URL_PAYMENT").getNullString() ?? "https://payment.namirasoft.com/api/v1";
42
+ // errors are swallowed: the plan section is informational and must not raise notifications
43
+ let server = new NamirasoftPaymentServer(REACT_APP_BASE_URL_PAYMENT, token_manager, () => { });
44
+ let res = await server.subscription.GetValidation(sales_item_id);
45
+
46
+ // Payment API sets the cookie on its response
47
+ let value = NSAPaymentCacheService.readCookie(user_id, sales_item_id);
48
+ if (value)
49
+ return value;
50
+
51
+ // the cookie could not be stored (e.g. running on another domain), so build the same value from the response
52
+ let validation = new SubscriptionValidation(res.user_id, res.sales_item_id, res.subscriptions, res.subscription_paids, res.free);
53
+ let offer_id = SubscriptionCookie.getOfferID(validation);
54
+ let [sales_item, offer] = await Promise.all([
55
+ server.sales_item.Get(sales_item_id).catch(() => null),
56
+ offer_id ? server.offer.Get(offer_id).catch(() => null) : Promise.resolve(null)
57
+ ]);
58
+ return SubscriptionCookie.build(validation, {
59
+ sales_item_name: sales_item?.name ?? null,
60
+ sales_item_slug: sales_item?.slug ?? null,
61
+ product_slug: sales_item?.product?.slug ?? null,
62
+ offer_name: offer?.name ?? null,
63
+ // only Payment API can tell whether a past subscription existed
64
+ ever_subscribed: false
65
+ });
66
+ }
67
+ }
@@ -0,0 +1,87 @@
1
+ .nsa_plan {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 0.25rem;
5
+ width: 100%;
6
+ padding: 0.75rem 1rem;
7
+ border: 1px solid #e1e1e1;
8
+ border-radius: 0.5rem;
9
+ background-color: #fbfafd;
10
+ color: #141b5c;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ .nsa_plan_header {
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: space-between;
18
+ gap: 0.5rem;
19
+ }
20
+
21
+ .nsa_plan_label {
22
+ font-size: 0.75rem;
23
+ font-weight: 600;
24
+ text-transform: uppercase;
25
+ letter-spacing: 0.04em;
26
+ opacity: 0.7;
27
+ }
28
+
29
+ .nsa_plan_name {
30
+ font-size: 1.125rem;
31
+ font-weight: 600;
32
+ line-height: 1.5rem;
33
+ overflow-wrap: anywhere;
34
+ }
35
+
36
+ .nsa_plan_detail {
37
+ font-size: 0.875rem;
38
+ opacity: 0.8;
39
+ }
40
+
41
+ .nsa_plan_badge {
42
+ padding: 0.125rem 0.5rem;
43
+ border-radius: 1rem;
44
+ font-size: 0.75rem;
45
+ font-weight: 600;
46
+ white-space: nowrap;
47
+ }
48
+
49
+ .nsa_plan_badge_active {
50
+ color: #0b6b3a;
51
+ background-color: #dcf5e7;
52
+ }
53
+
54
+ .nsa_plan_badge_ending {
55
+ color: #6b4e0b;
56
+ background-color: #fbefd5;
57
+ }
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
+
81
+ .nsa_plan_link {
82
+ align-self: flex-start;
83
+ margin-top: 0.25rem;
84
+ font-size: 0.875rem;
85
+ font-weight: 600;
86
+ color: rgba(3, 119, 255) !important;
87
+ }
@@ -0,0 +1,108 @@
1
+ import { SubscriptionCookie, SubscriptionCookieState, SubscriptionCookieValue } from 'namirasoft-payment';
2
+ import { NSLink } from 'namirasoft-site-react';
3
+ import { useEffect, useState } from 'react';
4
+ import { NSAPaymentCacheService } from '../NSAPaymentCacheService';
5
+ import { NSARouterMakerResult } from '../NSARouterMakerResult';
6
+ import Styles from "./NSAPlanStatus.module.css";
7
+
8
+ export interface NSAPlanStatusProps extends NSARouterMakerResult
9
+ {
10
+ sales_item_id: string;
11
+ }
12
+
13
+ interface NSAPlanStatusState
14
+ {
15
+ loading: boolean;
16
+ value: SubscriptionCookieValue | null;
17
+ }
18
+
19
+ export function NSAPlanStatus(props: NSAPlanStatusProps)
20
+ {
21
+ let [state, setState] = useState<NSAPlanStatusState>({ loading: true, value: null });
22
+
23
+ useEffect(() =>
24
+ {
25
+ let mounted = true;
26
+ setState({ loading: true, value: null });
27
+ NSAPaymentCacheService.getSubscription(props.account.token_manager, props.sales_item_id).then(value =>
28
+ {
29
+ if (mounted)
30
+ setState({ loading: false, value });
31
+ });
32
+ return () => { mounted = false; };
33
+ // eslint-disable-next-line
34
+ }, [props.sales_item_id]);
35
+
36
+ if (state.loading)
37
+ return (
38
+ <div className={Styles.nsa_plan}>
39
+ <span className={Styles.nsa_plan_label}>Current plan</span>
40
+ <span className={Styles.nsa_plan_detail}>Loading . . .</span>
41
+ </div>
42
+ );
43
+
44
+ let value = state.value;
45
+ if (!value)
46
+ return null;
47
+
48
+ let plan_state = SubscriptionCookie.getState(value);
49
+ let plan_name = SubscriptionCookie.getPlanName(value);
50
+ let valid_until = value.valid_until ? new Date(value.valid_until).toLocaleDateString(undefined, { year: "numeric", month: "short", day: "numeric" }) : null;
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
+
80
+ return (
81
+ <div className={Styles.nsa_plan}>
82
+ <div className={Styles.nsa_plan_header}>
83
+ <span className={Styles.nsa_plan_label}>Current plan</span>
84
+ <span className={[Styles.nsa_plan_badge, badge].join(" ")}>
85
+ {SubscriptionCookie.getStatusName(value)}
86
+ </span>
87
+ </div>
88
+ <span className={Styles.nsa_plan_name}>{plan_name}</span>
89
+ {
90
+ detail &&
91
+ <span className={Styles.nsa_plan_detail}>{detail}</span>
92
+ }
93
+ {
94
+ notice &&
95
+ <span className={Styles.nsa_plan_notice}>{notice}</span>
96
+ }
97
+ <NSLink
98
+ href={SubscriptionCookie.getManageUrl(value)}
99
+ target="_blank"
100
+ classList={[Styles.nsa_plan_link]}
101
+ >
102
+ {link}
103
+ </NSLink>
104
+ </div>
105
+ );
106
+ }
107
+
108
+ export default NSAPlanStatus;
@@ -2,11 +2,13 @@ import { NamirasoftAccountClient } from 'namirasoft-account-client';
2
2
  import { NSButton, NSCopy, NSDialog, NSDialogProps, NSLine, NSLink, NSNoData, NSSpace, NSSpaceSizeType } from 'namirasoft-site-react';
3
3
  import { Component } from 'react';
4
4
  import { NSARouterMakerResult } from '../NSARouterMakerResult';
5
+ import { NSAPlanStatus } from './NSAPlanStatus';
5
6
  import Styles from "./NSAUserDialog.module.css";
6
7
 
7
8
  export interface NSAUserDialogProps extends NSARouterMakerResult, NSDialogProps
8
9
  {
9
10
  client: NamirasoftAccountClient;
11
+ sales_item_id?: string;
10
12
  }
11
13
 
12
14
  interface NSAUserDialogState
@@ -60,6 +62,14 @@ export class NSAUserDialog extends Component<NSAUserDialogProps, NSAUserDialogSt
60
62
  </figcaption>
61
63
  </figure>
62
64
 
65
+ {
66
+ this.props.sales_item_id &&
67
+ <>
68
+ <NSSpace size={NSSpaceSizeType.MINI} />
69
+ <NSAPlanStatus {...this.props} sales_item_id={this.props.sales_item_id} />
70
+ </>
71
+ }
72
+
63
73
  <NSSpace size={NSSpaceSizeType.MINI} />
64
74
  <NSLine />
65
75
  <NSSpace size={NSSpaceSizeType.MICRO} />
@@ -93,6 +93,10 @@ export interface NSALayoutProps<RowType extends { id: string }, RowTypeInput = R
93
93
  };
94
94
  mega_menu?: boolean;
95
95
  };
96
+ payment?: {
97
+ // shows the current plan of this sales item in the user dialog
98
+ sales_item_id?: string;
99
+ };
96
100
  }
97
101
 
98
102
  interface NSALayoutState
@@ -382,6 +386,7 @@ export class NSALayout<RowType extends { id: string }, RowTypeInput = RowType> e
382
386
  <NSAUserDialog
383
387
  {...this.props}
384
388
  client={client}
389
+ sales_item_id={this.props.payment?.sales_item_id}
385
390
  onClose={() => this.setState(prev => ({ ...prev, showUserDialog: false }))}
386
391
  >
387
392
  <></>
package/src/main.ts CHANGED
@@ -3,6 +3,7 @@ export * from "./components/NSABoxSecret";
3
3
  export * from "./components/NSAMasterMenu";
4
4
  export * from "./components/NSAMasterMenuItem";
5
5
  export * from "./components/NSAMessageListDialog";
6
+ export * from "./components/NSAPlanStatus";
6
7
  export * from "./components/NSAProductListDialog";
7
8
  export * from "./components/NSASearchArea";
8
9
  export * from "./components/NSATable";
@@ -35,6 +36,7 @@ export * from "./layouts/NSASectionViewTabMore";
35
36
  export * from "./layouts/NSASectionViewTabPage";
36
37
  export * from "./NSACacheService";
37
38
  export * from "./NSAFilterOperators";
39
+ export * from "./NSAPaymentCacheService";
38
40
  export * from "./NSARouterMaker";
39
41
  export * from "./NSARouterMakerProps";
40
42
  export * from "./NSARouterMakerResult";