namirasoft-account-react 1.4.352 → 1.4.353

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.
@@ -5,18 +5,6 @@ import { NSARouterMakerProps } from '../NSARouterMakerProps';
5
5
  export interface NSAUserDialogProps extends NSARouterMakerProps, NSDialogProps {
6
6
  client: NamirasoftAccountClient;
7
7
  }
8
- interface IUserInfo {
9
- first_name: string;
10
- last_name: string;
11
- email: string;
12
- picture: string | null;
13
- }
14
- interface NSAUserState {
15
- user: IUserInfo | null;
16
- }
17
- export declare class NSAUserDialog extends Component<NSAUserDialogProps, NSAUserState> {
18
- constructor(props: NSAUserDialogProps);
19
- componentDidMount(): void;
8
+ export declare class NSAUserDialog extends Component<NSAUserDialogProps> {
20
9
  render(): import("react/jsx-runtime").JSX.Element;
21
10
  }
22
- export {};
@@ -1,24 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { NSButton, NSDialog, NSLine, NSLink, NSLoading, NSSpace, NSSpaceSizeType } from 'namirasoft-site-react';
2
+ import { NSButton, NSCopy, NSDialog, NSLine, NSLink, NSLoading, NSSpace, NSSpaceSizeType } from 'namirasoft-site-react';
3
3
  import { Component } from 'react';
4
4
  import Styles from "./NSAUserDialog.module.css";
5
5
  export class NSAUserDialog extends Component {
6
- constructor(props) {
7
- super(props);
8
- this.state = { user: null };
9
- }
10
- componentDidMount() {
11
- var _a, _b;
12
- let user = (_b = (_a = this.props.account) === null || _a === void 0 ? void 0 : _a.token_manager) === null || _b === void 0 ? void 0 : _b.getUserData(({ first_name, last_name, email, picture }) => ({ first_name, last_name, email, picture }), null);
13
- this.setState({ user });
14
- }
15
6
  render() {
16
- var _a, _b;
7
+ var _a, _b, _c, _d, _e, _f;
8
+ let user = (_b = (_a = this.props.account) === null || _a === void 0 ? void 0 : _a.token_manager) === null || _b === void 0 ? void 0 : _b.getUserData((u => u), null);
17
9
  let content = null;
18
- if (this.state.user == null)
10
+ if (user == null)
19
11
  content = _jsx(NSLoading, {});
20
12
  else {
21
- content = (_jsxs("div", { children: [_jsxs("figure", { className: Styles.ns_figure, children: [_jsx("img", { src: (_a = this.state.user.picture) !== null && _a !== void 0 ? _a : "https://static.namirasoft.com/image/concept/user/blue.svg", width: 96, height: 96, alt: "User Avatar" }), _jsxs("figcaption", { children: [_jsx("span", { className: Styles.ns_figure_title, children: `Hi ${this.state.user.first_name}!` }), _jsx("span", { children: (_b = this.state.user) === null || _b === void 0 ? void 0 : _b.email })] })] }), _jsx(NSSpace, { size: NSSpaceSizeType.MINI }), _jsx(NSLine, {}), _jsx(NSSpace, { size: NSSpaceSizeType.MINI }), _jsxs("div", { className: Styles.ns_buttons_wrapper, children: [_jsx(NSLink, { href: "https://account.namirasoft.com/user/profile", target: "_blank", title: 'Profile', classList: [Styles.ns_button], style: { backgroundColor: "#B2BBD9" } }), _jsx(NSLink, { href: "https://account.namirasoft.com/setting/notification", target: "_blank", title: 'Notificaton Setting', classList: [Styles.ns_button] }), _jsx(NSLink, { href: "https://account.namirasoft.com/password/change", target: "_blank", title: 'Change Password', classList: [Styles.ns_button] }), _jsx(NSButton, { onClick: { action: () => this.props.client.logout() }, title: 'Log Out', icon: {
13
+ content = (_jsxs("div", { children: [_jsxs("figure", { className: Styles.ns_figure, children: [user.picture
14
+ ?
15
+ _jsx("img", { src: user.picture, width: 96, height: 96, alt: "User Avatar" })
16
+ :
17
+ _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", title: 'Profile', classList: [Styles.ns_link] }), _jsx(NSLink, { href: "https://cost.namirasoft.com/", target: "_blank", title: 'Billing and Cost', classList: [Styles.ns_link] }), _jsx(NSLink, { href: "https://account.namirasoft.com/setting/notification", target: "_blank", title: 'Notificaton Setting', classList: [Styles.ns_link] }), _jsx(NSLink, { href: "https://account.namirasoft.com/password/change", target: "_blank", title: 'Change Password', classList: [Styles.ns_link] }), _jsx(NSButton, { onClick: { action: () => this.props.client.logout() }, title: 'Log Out', classList: [Styles.ns_button], icon: {
22
18
  src: "https://static.namirasoft.com/image/concept/logout/base.svg",
23
19
  alt: "Logout Icon"
24
20
  } })] })] }));
@@ -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":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAiB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAOhD,MAAM,OAAO,aAAc,SAAQ,SAA6B;IAEnD,MAAM;;QAEX,IAAI,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,aAAa,0CAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1E,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,IAAI,IAAI;YACZ,OAAO,GAAG,KAAC,SAAS,KAAG,CAAC;aAE5B,CAAC;YACG,OAAO,GAAG,CACN,0BACI,kBAAQ,SAAS,EAAE,MAAM,CAAC,SAAS,aAC9B,IAAI,CAAC,OAAO;gCACT,CAAC;oCACD,cACI,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,GAAG,EAAC,aAAa,GACnB;gCACF,CAAC;oCACD,cAAK,SAAS,EAAE,MAAM,CAAC,qBAAqB,YACxC,yBACK,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GACvE,GACL,EAEV,iCACI,eAAM,SAAS,EAAE,MAAM,CAAC,eAAe,YAAG,MAAM,IAAI,CAAC,UAAU,GAAG,GAAQ,EAC1E,yBAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,GAAQ,EAC1B,KAAC,MAAM,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,YACf,YAAG,SAAS,EAAE,MAAM,CAAC,UAAU,YAC1B,IAAI,CAAC,EAAE,GACR,GACC,IACA,IACR,EAET,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,IAAI,GAAI,EACvC,KAAC,MAAM,KAAG,EACV,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EAExC,eAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,aACrC,KAAC,MAAM,IACH,IAAI,EAAC,6CAA6C,EAClD,MAAM,EAAC,QAAQ,EACf,KAAK,EAAC,SAAS,EACf,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAC7B,EACF,KAAC,MAAM,IACH,IAAI,EAAC,8BAA8B,EACnC,MAAM,EAAC,QAAQ,EACf,KAAK,EAAC,kBAAkB,EACxB,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAC7B,EACF,KAAC,MAAM,IACH,IAAI,EAAC,qDAAqD,EAC1D,MAAM,EAAC,QAAQ,EACf,KAAK,EAAC,qBAAqB,EAC3B,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAC7B,EACF,KAAC,MAAM,IACH,IAAI,EAAC,gDAAgD,EACrD,MAAM,EAAC,QAAQ,EACf,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAC7B,EACF,KAAC,QAAQ,IACL,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EACrD,KAAK,EAAC,SAAS,EACf,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAC7B,IAAI,EAAE;oCACF,GAAG,EAAE,6DAA6D;oCAClE,GAAG,EAAE,aAAa;iCACrB,GACH,IACA,IACJ,CACT,CAAC;QACN,CAAC;QAED,OAAO,CACH,KAAC,QAAQ,oBAAK,IAAI,CAAC,KAAK,cACnB,OAAO,IACD,CACd,CAAC;IACN,CAAC;CACJ"}
@@ -14,19 +14,49 @@
14
14
  }
15
15
  }
16
16
 
17
+ .ns_figure_placeholder {
18
+ width: 6rem;
19
+ height: 6rem;
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ border-radius: 50%;
24
+ background-color: #141b5c;
25
+ span {
26
+ font-size: 1.75rem;
27
+ font-weight: 500;
28
+ word-spacing: -0.5rem;
29
+ color: #fff;
30
+ }
31
+ }
32
+
17
33
  .ns_figure_title {
18
34
  font-size: 1.5rem;
19
35
  font-weight: 600;
20
36
  line-height: 1.75rem;
21
37
  }
22
38
 
23
- .ns_buttons_wrapper {
39
+ .ns_actions_wrapper {
24
40
  display: flex;
25
41
  flex-direction: column;
26
- gap: 0.5rem;
27
-
28
- .ns_button > a {
29
- box-shadow: none;
30
- color: #141b5c !important;
31
- }
42
+ }
43
+
44
+ .ns_actions_wrapper .ns_link > a,
45
+ .ns_actions_wrapper .ns_button {
46
+ box-shadow: none;
47
+ color: #141b5c !important;
48
+ }
49
+
50
+ .ns_actions_wrapper .ns_link > a:hover,
51
+ .ns_actions_wrapper .ns_button:hover {
52
+ background-color: #b2bbd9;
53
+ }
54
+
55
+ .ns_user_id {
56
+ margin: 0;
57
+ font-size: 16px;
58
+ font-weight: 600;
59
+ text-align: right;
60
+ color: rgba(3, 119, 255);
61
+ cursor: pointer;
32
62
  }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.352",
11
+ "version": "1.4.353",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -28,17 +28,17 @@
28
28
  "namirasoft-access": "^1.4.70",
29
29
  "namirasoft-account": "^1.4.85",
30
30
  "namirasoft-account-client": "^1.4.6",
31
- "namirasoft-api-product": "^1.4.36",
31
+ "namirasoft-api-product": "^1.4.37",
32
32
  "namirasoft-core": "^1.4.80",
33
33
  "namirasoft-field": "^1.4.25",
34
34
  "namirasoft-history": "^1.4.17",
35
35
  "namirasoft-message": "^1.4.20",
36
- "namirasoft-payment": "^1.4.98",
36
+ "namirasoft-payment": "^1.4.104",
37
37
  "namirasoft-schema": "^1.4.25",
38
- "namirasoft-secret": "^1.4.36",
38
+ "namirasoft-secret": "^1.4.38",
39
39
  "namirasoft-site": "^1.4.39",
40
40
  "namirasoft-site-map": "^1.4.31",
41
- "namirasoft-site-react": "^1.4.436",
41
+ "namirasoft-site-react": "^1.4.438",
42
42
  "namirasoft-workspace": "^1.4.23",
43
43
  "os-browserify": "^0.3.0",
44
44
  "path-browserify": "^1.0.1",
@@ -14,19 +14,49 @@
14
14
  }
15
15
  }
16
16
 
17
+ .ns_figure_placeholder {
18
+ width: 6rem;
19
+ height: 6rem;
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ border-radius: 50%;
24
+ background-color: #141b5c;
25
+ span {
26
+ font-size: 1.75rem;
27
+ font-weight: 500;
28
+ word-spacing: -0.5rem;
29
+ color: #fff;
30
+ }
31
+ }
32
+
17
33
  .ns_figure_title {
18
34
  font-size: 1.5rem;
19
35
  font-weight: 600;
20
36
  line-height: 1.75rem;
21
37
  }
22
38
 
23
- .ns_buttons_wrapper {
39
+ .ns_actions_wrapper {
24
40
  display: flex;
25
41
  flex-direction: column;
26
- gap: 0.5rem;
27
-
28
- .ns_button > a {
29
- box-shadow: none;
30
- color: #141b5c !important;
31
- }
42
+ }
43
+
44
+ .ns_actions_wrapper .ns_link > a,
45
+ .ns_actions_wrapper .ns_button {
46
+ box-shadow: none;
47
+ color: #141b5c !important;
48
+ }
49
+
50
+ .ns_actions_wrapper .ns_link > a:hover,
51
+ .ns_actions_wrapper .ns_button:hover {
52
+ background-color: #b2bbd9;
53
+ }
54
+
55
+ .ns_user_id {
56
+ margin: 0;
57
+ font-size: 16px;
58
+ font-weight: 600;
59
+ text-align: right;
60
+ color: rgba(3, 119, 255);
61
+ cursor: pointer;
32
62
  }
@@ -1,5 +1,5 @@
1
1
  import { NamirasoftAccountClient } from 'namirasoft-account-client';
2
- import { NSButton, NSDialog, NSDialogProps, NSLine, NSLink, NSLoading, NSSpace, NSSpaceSizeType } from 'namirasoft-site-react';
2
+ import { NSButton, NSCopy, NSDialog, NSDialogProps, NSLine, NSLink, NSLoading, NSSpace, NSSpaceSizeType } from 'namirasoft-site-react';
3
3
  import { Component } from 'react';
4
4
  import { NSARouterMakerProps } from '../NSARouterMakerProps';
5
5
  import Styles from "./NSAUserDialog.module.css";
@@ -9,85 +9,78 @@ export interface NSAUserDialogProps extends NSARouterMakerProps, NSDialogProps
9
9
  client: NamirasoftAccountClient
10
10
  }
11
11
 
12
- interface IUserInfo
12
+ export class NSAUserDialog extends Component<NSAUserDialogProps>
13
13
  {
14
- first_name: string;
15
- last_name: string;
16
- email: string;
17
- picture: string | null;
18
- }
19
-
20
- interface NSAUserState
21
- {
22
- user: IUserInfo | null;
23
- }
24
-
25
- export class NSAUserDialog extends Component<NSAUserDialogProps, NSAUserState>
26
- {
27
- constructor(props: NSAUserDialogProps)
28
- {
29
- super(props);
30
- this.state = { user: null }
31
- }
32
-
33
- override componentDidMount(): void
34
- {
35
- let user = this.props.account?.token_manager?.getUserData<IUserInfo | null>(
36
- ({ first_name, last_name, email, picture }) => ({ first_name, last_name, email, picture }), null
37
- );
38
-
39
- this.setState({ user });
40
- }
41
-
42
14
  override render()
43
15
  {
16
+ let user = this.props.account?.token_manager?.getUserData((u => u), null);
44
17
  let content = null;
45
- if (this.state.user == null)
18
+ if (user == null)
46
19
  content = <NSLoading />;
47
20
  else
48
21
  {
49
22
  content = (
50
23
  <div>
51
24
  <figure className={Styles.ns_figure}>
52
- <img
53
- src={this.state.user.picture ?? "https://static.namirasoft.com/image/concept/user/blue.svg"}
54
- width={96}
55
- height={96}
56
- alt="User Avatar"
57
- />
25
+ {user.picture
26
+ ?
27
+ <img
28
+ src={user.picture}
29
+ width={96}
30
+ height={96}
31
+ alt="User Avatar"
32
+ />
33
+ :
34
+ <div className={Styles.ns_figure_placeholder}>
35
+ <span>
36
+ {((user.first_name?.[0] ?? "") + " " + (user.last_name?.[0] ?? "")).trim()}
37
+ </span>
38
+ </div>
39
+ }
58
40
  <figcaption>
59
- <span className={Styles.ns_figure_title}>{`Hi ${this.state.user.first_name}!`}</span>
60
- <span>{this.state.user?.email}</span>
41
+ <span className={Styles.ns_figure_title}>{`Hi ${user.first_name}!`}</span>
42
+ <span>{user?.email}</span>
43
+ <NSCopy id={user.id}>
44
+ <p className={Styles.ns_user_id}>
45
+ {user.id}
46
+ </p>
47
+ </NSCopy>
61
48
  </figcaption>
62
49
  </figure>
63
50
 
64
51
  <NSSpace size={NSSpaceSizeType.MINI} />
65
52
  <NSLine />
66
- <NSSpace size={NSSpaceSizeType.MINI} />
53
+ <NSSpace size={NSSpaceSizeType.MICRO} />
67
54
 
68
- <div className={Styles.ns_buttons_wrapper}>
55
+ <div className={Styles.ns_actions_wrapper}>
69
56
  <NSLink
70
57
  href="https://account.namirasoft.com/user/profile"
71
- target="_blank"
58
+ target="_blank"
72
59
  title='Profile'
73
- classList={[Styles.ns_button]}
74
- style={{ backgroundColor: "#B2BBD9" }}
60
+ classList={[Styles.ns_link]}
61
+ />
62
+ <NSLink
63
+ href="https://cost.namirasoft.com/"
64
+ target="_blank"
65
+ title='Billing and Cost'
66
+ classList={[Styles.ns_link]}
75
67
  />
76
68
  <NSLink
77
69
  href="https://account.namirasoft.com/setting/notification"
78
- target="_blank"
70
+ target="_blank"
79
71
  title='Notificaton Setting'
80
- classList={[Styles.ns_button]}
72
+ classList={[Styles.ns_link]}
81
73
  />
82
74
  <NSLink
83
75
  href="https://account.namirasoft.com/password/change"
84
- target="_blank"
76
+ target="_blank"
85
77
  title='Change Password'
86
- classList={[Styles.ns_button]}
78
+ classList={[Styles.ns_link]}
87
79
  />
88
80
  <NSButton
89
81
  onClick={{ action: () => this.props.client.logout() }}
90
82
  title='Log Out'
83
+ classList={[Styles.ns_button]}
91
84
  icon={{
92
85
  src: "https://static.namirasoft.com/image/concept/logout/base.svg",
93
86
  alt: "Logout Icon"