namirasoft-account-react 1.3.126 → 1.3.128
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/App.js +2 -4
- package/dist/App.js.map +1 -1
- package/dist/components/NSAMessageDialog.d.ts +7 -7
- package/dist/components/NSAMessageDialog.js +30 -30
- package/dist/components/NSAMessageDialog.js.map +1 -1
- package/dist/components/NSAMessageDialog.module.css +2 -1
- package/dist/layouts/NSALayout.d.ts +1 -0
- package/dist/layouts/NSALayout.js +6 -6
- package/dist/layouts/NSALayout.js.map +1 -1
- package/package.json +2 -1
- package/src/App.tsx +0 -9
- package/src/components/NSAMessageDialog.module.css +2 -1
- package/src/components/NSAMessageDialog.tsx +61 -58
- package/src/layouts/NSALayout.tsx +11 -4
package/dist/App.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment
|
|
2
|
-
import NSButton from 'namirasoft-site-react/dist/components/NSButton';
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
2
|
import NSAAccess from './components/NSAAccess';
|
|
4
|
-
import { NSAMessageDialog } from './main';
|
|
5
3
|
export function App() {
|
|
6
|
-
return (
|
|
4
|
+
return (_jsx(_Fragment, { children: _jsx(NSAAccess, {}) }));
|
|
7
5
|
}
|
|
8
6
|
;
|
|
9
7
|
//# sourceMappingURL=App.js.map
|
package/dist/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,MAAM,UAAU,GAAG;IAEf,OAAO,CACH,4BACI,KAAC,SAAS,KAAG,GACd,CACN,CAAC;AACN,CAAC;AAAA,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Component } from 'react';
|
|
2
|
-
|
|
2
|
+
import { INSARouterProps } from '../INSARouterProps';
|
|
3
|
+
import { MessageRow } from 'namirasoft-message';
|
|
4
|
+
export interface NSAMessageDialogProps extends INSARouterProps {
|
|
5
|
+
onClose: () => void;
|
|
3
6
|
}
|
|
4
7
|
export interface NSAMessageDialogState {
|
|
5
|
-
|
|
8
|
+
messages: MessageRow[] | null;
|
|
6
9
|
}
|
|
7
10
|
export declare class NSAMessageDialog extends Component<NSAMessageDialogProps, NSAMessageDialogState> {
|
|
8
11
|
private toastRef;
|
|
9
12
|
constructor(props: NSAMessageDialogProps);
|
|
10
13
|
componentDidMount(): void;
|
|
11
14
|
componentWillUnmount(): void;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
handleClickOutside(event: MouseEvent): void;
|
|
15
|
-
redirectToViewAll(): void;
|
|
16
|
-
render(): import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
+
private onClickOutside;
|
|
16
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
17
17
|
}
|
|
@@ -4,49 +4,49 @@ import MessageHeader from '../assets/images/icon-notification-header.png';
|
|
|
4
4
|
import CloseToast from '../assets/images/icon-close.png';
|
|
5
5
|
import Styles from './NSAMessageDialog.module.css';
|
|
6
6
|
import { NSButtonBlue } from "namirasoft-site-react";
|
|
7
|
+
import { NamirasoftMessageServer } from 'namirasoft-message';
|
|
7
8
|
export class NSAMessageDialog extends Component {
|
|
8
9
|
constructor(props) {
|
|
9
10
|
super(props);
|
|
10
|
-
this.state = {
|
|
11
|
+
this.state = { messages: null };
|
|
11
12
|
this.toastRef = createRef();
|
|
12
|
-
this.
|
|
13
|
-
this.hide = this.hide.bind(this);
|
|
14
|
-
this.handleClickOutside = this.handleClickOutside.bind(this);
|
|
15
|
-
this.redirectToViewAll = this.redirectToViewAll.bind(this);
|
|
13
|
+
this.onClickOutside = this.onClickOutside.bind(this);
|
|
16
14
|
}
|
|
17
15
|
componentDidMount() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
document.removeEventListener('mousedown', this.handleClickOutside);
|
|
22
|
-
}
|
|
23
|
-
show() {
|
|
24
|
-
console.log("Show called");
|
|
25
|
-
this.setState({ show: true }, () => {
|
|
26
|
-
console.log("State after show:", this.state);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
hide() {
|
|
30
|
-
this.setState({ show: false }, () => {
|
|
31
|
-
console.log("", this.state);
|
|
16
|
+
let server = new NamirasoftMessageServer(this.props.account.token_manager, console.error);
|
|
17
|
+
server.message.List([], 1, 5).then(res => {
|
|
18
|
+
this.setState({ messages: res.rows });
|
|
32
19
|
});
|
|
20
|
+
document.addEventListener('mousedown', this.onClickOutside);
|
|
33
21
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.hide();
|
|
37
|
-
}
|
|
22
|
+
componentWillUnmount() {
|
|
23
|
+
document.removeEventListener('mousedown', this.onClickOutside);
|
|
38
24
|
}
|
|
39
|
-
|
|
40
|
-
|
|
25
|
+
onClickOutside(event) {
|
|
26
|
+
if (this.toastRef.current && !this.toastRef.current.contains(event.target))
|
|
27
|
+
this.props.onClose();
|
|
41
28
|
}
|
|
42
29
|
render() {
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
let content = null;
|
|
31
|
+
if (this.state.messages == null) {
|
|
32
|
+
}
|
|
33
|
+
else if (this.state.messages.length == 0) {
|
|
45
34
|
}
|
|
46
|
-
|
|
35
|
+
else
|
|
36
|
+
content = this.state.messages.map(message => _jsxs("div", { className: Styles.nsa_body_green, onClick: () => {
|
|
37
|
+
window.location.href = "http://message.namirasoft.com/message/list?id=" + message.id;
|
|
38
|
+
}, children: [_jsx("ul", { className: Styles.nsa_message_item_ul, children: _jsx("li", { className: `${Styles.nsa_message_item_title}`, children: message.title }) }), _jsx("p", { className: `${Styles.nsa_message_item_content} nsa_font_13_normal`, children: message.body })] }));
|
|
39
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: Styles.nsa_toast, ref: this.toastRef, children: _jsxs("div", { children: [_jsxs("div", { className: Styles.nsa_toast_header, children: [_jsxs("article", { children: [_jsx("img", { src: MessageHeader, alt: "Message Header", width: 22 }), _jsx("span", { className: `${Styles.nsa_message_title} ms-2`, onClick: () => {
|
|
40
|
+
let server = new NamirasoftMessageServer(this.props.account.token_manager, console.error);
|
|
41
|
+
server.message.SeenAll().then(() => {
|
|
42
|
+
this.props.onClose();
|
|
43
|
+
});
|
|
44
|
+
}, children: "Mark All As Read" })] }), _jsx("img", { src: CloseToast, alt: "Close", width: 18, height: 18, onClick: (e) => {
|
|
47
45
|
e.stopPropagation();
|
|
48
|
-
this.
|
|
49
|
-
}, className: Styles.nsa_close_icon })] }), _jsxs("div", { className: Styles.nsa_toast_body, children: [
|
|
46
|
+
this.props.onClose();
|
|
47
|
+
}, className: Styles.nsa_close_icon })] }), _jsxs("div", { className: Styles.nsa_toast_body, children: [content, _jsx("div", { className: 'p-3 mx-0 d-flex justify-content-center', children: _jsx(NSButtonBlue, { onClick: () => {
|
|
48
|
+
window.location.href = "http://message.namirasoft.com/message/list";
|
|
49
|
+
}, title: 'View All' }) })] })] }) }), _jsx("div", { className: Styles.nsa_toast_background })] }));
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
//# sourceMappingURL=NSAMessageDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSAMessageDialog.js","sourceRoot":"","sources":["../../src/components/NSAMessageDialog.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,aAAa,MAAM,+CAA+C,CAAC;AAC1E,OAAO,UAAU,MAAM,iCAAiC,CAAC;AACzD,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"NSAMessageDialog.js","sourceRoot":"","sources":["../../src/components/NSAMessageDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { NSButtonRed, NSModal } from 'namirasoft-site-react';
|
|
12
12
|
import { NSLayout } from 'namirasoft-site-react';
|
|
13
13
|
import { NSASectionList } from './NSASectionList';
|
|
@@ -22,9 +22,8 @@ import NSAAccess from '../components/NSAAccess';
|
|
|
22
22
|
export function NSALayout(props) {
|
|
23
23
|
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;
|
|
24
24
|
const Section_List = useRef(null);
|
|
25
|
-
const Message_Dialog = useRef(null);
|
|
26
25
|
const Access = useRef(null);
|
|
27
|
-
const [state, setState] = useState({ showDeleteModal: false });
|
|
26
|
+
const [state, setState] = useState({ showDeleteModal: false, showMessageModal: false });
|
|
28
27
|
const hideDeleteModal = () => { setState(prevState => (Object.assign(Object.assign({}, prevState), { showDeleteModal: false }))); };
|
|
29
28
|
const showDeleteModal = () => { setState(prevState => (Object.assign(Object.assign({}, prevState), { showDeleteModal: true }))); };
|
|
30
29
|
let icons = [
|
|
@@ -38,10 +37,11 @@ export function NSALayout(props) {
|
|
|
38
37
|
},
|
|
39
38
|
{
|
|
40
39
|
src: "https://static.namirasoft.com/image/concept/message/white.svg", alt: "Message", onClicked: () => {
|
|
41
|
-
|
|
42
|
-
(_a = Message_Dialog.current) === null || _a === void 0 ? void 0 : _a.show();
|
|
40
|
+
setState(prevState => (Object.assign(Object.assign({}, prevState), { showMessageModal: true })));
|
|
43
41
|
},
|
|
44
|
-
children: _jsx(
|
|
42
|
+
children: _jsx(_Fragment, { children: (state.showMessageModal && _jsx(NSAMessageDialog, Object.assign({}, props, { onClose: () => {
|
|
43
|
+
setState(prevState => (Object.assign(Object.assign({}, prevState), { showMessageModal: false })));
|
|
44
|
+
} }))) }),
|
|
45
45
|
count: 1
|
|
46
46
|
},
|
|
47
47
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSALayout.js","sourceRoot":"","sources":["../../src/layouts/NSALayout.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAA4G,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvK,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAuB,OAAO,IAAI,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAa,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,SAAS,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"NSALayout.js","sourceRoot":"","sources":["../../src/layouts/NSALayout.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"framework": "npm",
|
|
9
9
|
"application": "package",
|
|
10
10
|
"private": false,
|
|
11
|
-
"version": "1.3.
|
|
11
|
+
"version": "1.3.128",
|
|
12
12
|
"author": "Amir Abolhasani",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"main": "./dist/main.js",
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"namirasoft-account-client": "^1.3.0",
|
|
29
29
|
"namirasoft-core": "^1.3.67",
|
|
30
30
|
"namirasoft-field": "^1.3.9",
|
|
31
|
+
"namirasoft-message": "^1.3.15",
|
|
31
32
|
"namirasoft-site-react": "^1.3.276",
|
|
32
33
|
"os-browserify": "^0.3.0",
|
|
33
34
|
"path-browserify": "^1.0.1",
|
package/src/App.tsx
CHANGED
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
import NSButton from 'namirasoft-site-react/dist/components/NSButton';
|
|
2
1
|
import NSAAccess from './components/NSAAccess';
|
|
3
|
-
import { NSAMessageDialog } from './main';
|
|
4
2
|
|
|
5
3
|
export function App()
|
|
6
4
|
{
|
|
7
5
|
return (
|
|
8
6
|
<>
|
|
9
|
-
<NSButton onClick={() => { }} title='asdas' />
|
|
10
|
-
<NSButton onClick={() => { }} title='asdas' />
|
|
11
|
-
<NSButton onClick={() => { }} title='asdas' />
|
|
12
|
-
<NSButton onClick={() => { }} title='asdas' />
|
|
13
|
-
<NSButton onClick={() => { }} title='asdas' />
|
|
14
|
-
<NSButton onClick={() => { }} title='asdas' />
|
|
15
7
|
<NSAAccess />
|
|
16
|
-
<NSAMessageDialog />
|
|
17
8
|
</>
|
|
18
9
|
);
|
|
19
10
|
};
|
|
@@ -3,74 +3,74 @@ import MessageHeader from '../assets/images/icon-notification-header.png';
|
|
|
3
3
|
import CloseToast from '../assets/images/icon-close.png';
|
|
4
4
|
import Styles from './NSAMessageDialog.module.css';
|
|
5
5
|
import { NSButtonBlue } from "namirasoft-site-react";
|
|
6
|
+
import { INSARouterProps } from '../INSARouterProps';
|
|
7
|
+
import { MessageRow, NamirasoftMessageServer } from 'namirasoft-message';
|
|
6
8
|
|
|
7
|
-
export interface NSAMessageDialogProps
|
|
9
|
+
export interface NSAMessageDialogProps extends INSARouterProps
|
|
10
|
+
{
|
|
11
|
+
onClose: () => void;
|
|
12
|
+
}
|
|
8
13
|
|
|
9
14
|
export interface NSAMessageDialogState
|
|
10
15
|
{
|
|
11
|
-
|
|
16
|
+
messages: MessageRow[] | null;
|
|
12
17
|
}
|
|
13
18
|
|
|
14
|
-
export class NSAMessageDialog extends Component<NSAMessageDialogProps, NSAMessageDialogState>
|
|
19
|
+
export class NSAMessageDialog extends Component<NSAMessageDialogProps, NSAMessageDialogState>
|
|
20
|
+
{
|
|
15
21
|
private toastRef: React.RefObject<HTMLDivElement>;
|
|
16
22
|
|
|
17
23
|
constructor(props: NSAMessageDialogProps)
|
|
18
24
|
{
|
|
19
25
|
super(props);
|
|
20
|
-
this.state = {
|
|
26
|
+
this.state = { messages: null };
|
|
21
27
|
this.toastRef = createRef();
|
|
22
|
-
this.
|
|
23
|
-
this.hide = this.hide.bind(this);
|
|
24
|
-
this.handleClickOutside = this.handleClickOutside.bind(this);
|
|
25
|
-
this.redirectToViewAll = this.redirectToViewAll.bind(this);
|
|
28
|
+
this.onClickOutside = this.onClickOutside.bind(this);
|
|
26
29
|
}
|
|
27
|
-
|
|
28
30
|
override componentDidMount(): void
|
|
29
31
|
{
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
override componentWillUnmount(): void
|
|
34
|
-
{
|
|
35
|
-
document.removeEventListener('mousedown', this.handleClickOutside);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
show()
|
|
39
|
-
{
|
|
40
|
-
console.log("Show called");
|
|
41
|
-
this.setState({ show: true }, () =>
|
|
32
|
+
let server = new NamirasoftMessageServer(this.props.account.token_manager, console.error);
|
|
33
|
+
server.message.List([], 1, 5).then(res =>
|
|
42
34
|
{
|
|
43
|
-
|
|
35
|
+
this.setState({ messages: res.rows });
|
|
44
36
|
});
|
|
37
|
+
document.addEventListener('mousedown', this.onClickOutside);
|
|
45
38
|
}
|
|
46
|
-
|
|
47
|
-
hide()
|
|
39
|
+
override componentWillUnmount(): void
|
|
48
40
|
{
|
|
49
|
-
|
|
50
|
-
{
|
|
51
|
-
console.log("", this.state);
|
|
52
|
-
});
|
|
41
|
+
document.removeEventListener('mousedown', this.onClickOutside);
|
|
53
42
|
}
|
|
54
|
-
|
|
55
|
-
handleClickOutside(event: MouseEvent)
|
|
43
|
+
private onClickOutside(event: MouseEvent)
|
|
56
44
|
{
|
|
57
45
|
if (this.toastRef.current && !this.toastRef.current.contains(event.target as Node))
|
|
58
|
-
|
|
59
|
-
this.hide();
|
|
60
|
-
}
|
|
46
|
+
this.props.onClose();
|
|
61
47
|
}
|
|
62
|
-
|
|
63
|
-
redirectToViewAll()
|
|
64
|
-
{
|
|
65
|
-
window.location.href = "http://message.namirasoft.com/message/list";
|
|
66
|
-
}
|
|
67
|
-
|
|
68
48
|
override render()
|
|
69
49
|
{
|
|
70
|
-
|
|
50
|
+
let content = null;
|
|
51
|
+
if (this.state.messages == null)
|
|
71
52
|
{
|
|
72
|
-
|
|
53
|
+
// todo show loading
|
|
73
54
|
}
|
|
55
|
+
else if (this.state.messages.length == 0)
|
|
56
|
+
{
|
|
57
|
+
// todo show no new message
|
|
58
|
+
}
|
|
59
|
+
else
|
|
60
|
+
content = this.state.messages.map(message =>
|
|
61
|
+
<div
|
|
62
|
+
className={Styles.nsa_body_green}
|
|
63
|
+
onClick={() =>
|
|
64
|
+
{
|
|
65
|
+
window.location.href = "http://message.namirasoft.com/message/list?id=" + message.id;
|
|
66
|
+
}}
|
|
67
|
+
>
|
|
68
|
+
<ul className={Styles.nsa_message_item_ul}>
|
|
69
|
+
<li className={`${Styles.nsa_message_item_title}`}>{message.title}</li>
|
|
70
|
+
</ul>
|
|
71
|
+
<p className={`${Styles.nsa_message_item_content} nsa_font_13_normal`}>{message.body}</p>
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
74
|
|
|
75
75
|
return (
|
|
76
76
|
<>
|
|
@@ -80,10 +80,22 @@ export class NSAMessageDialog extends Component<NSAMessageDialogProps, NSAMessag
|
|
|
80
80
|
<article>
|
|
81
81
|
<img
|
|
82
82
|
src={MessageHeader}
|
|
83
|
-
alt="
|
|
83
|
+
alt="Message Header"
|
|
84
84
|
width={22}
|
|
85
85
|
/>
|
|
86
|
-
<span
|
|
86
|
+
<span
|
|
87
|
+
className={`${Styles.nsa_message_title} ms-2`}
|
|
88
|
+
onClick={() =>
|
|
89
|
+
{
|
|
90
|
+
let server = new NamirasoftMessageServer(this.props.account.token_manager, console.error);
|
|
91
|
+
server.message.SeenAll().then(() =>
|
|
92
|
+
{
|
|
93
|
+
this.props.onClose();
|
|
94
|
+
});
|
|
95
|
+
}}
|
|
96
|
+
>
|
|
97
|
+
Mark All As Read
|
|
98
|
+
</span>
|
|
87
99
|
</article>
|
|
88
100
|
<img
|
|
89
101
|
src={CloseToast}
|
|
@@ -93,32 +105,23 @@ export class NSAMessageDialog extends Component<NSAMessageDialogProps, NSAMessag
|
|
|
93
105
|
onClick={(e) =>
|
|
94
106
|
{
|
|
95
107
|
e.stopPropagation();
|
|
96
|
-
this.
|
|
108
|
+
this.props.onClose();
|
|
97
109
|
}}
|
|
98
110
|
className={Styles.nsa_close_icon}
|
|
99
111
|
/>
|
|
100
112
|
</div>
|
|
101
113
|
<div className={Styles.nsa_toast_body}>
|
|
102
|
-
|
|
103
|
-
<ul className={Styles.nsa_message_item_ul}>
|
|
104
|
-
<li className={`${Styles.nsa_message_item_title}`}>You’ve Unlocked Our Gold Membership!</li>
|
|
105
|
-
</ul>
|
|
106
|
-
<p className={`${Styles.nsa_message_item_content} nsa_font_13_normal`}>Learn More!</p>
|
|
107
|
-
</div>
|
|
108
|
-
<div className={Styles.nsa_body_gray}>
|
|
109
|
-
<ul className={Styles.nsa_message_item_ul}>
|
|
110
|
-
<li className={`${Styles.nsa_message_item_title}`}>You’ve Unlocked Our Gold Membership!</li>
|
|
111
|
-
</ul>
|
|
112
|
-
<p className={`${Styles.nsa_message_item_content} nsa_font_13_normal`}>Learn More!</p>
|
|
113
|
-
</div>
|
|
114
|
+
{content}
|
|
114
115
|
<div className='p-3 mx-0 d-flex justify-content-center'>
|
|
115
|
-
<NSButtonBlue onClick={
|
|
116
|
+
<NSButtonBlue onClick={() =>
|
|
117
|
+
{
|
|
118
|
+
window.location.href = "http://message.namirasoft.com/message/list";
|
|
119
|
+
}} title='View All' />
|
|
116
120
|
</div>
|
|
117
121
|
</div>
|
|
118
122
|
</div>
|
|
119
123
|
</div>
|
|
120
124
|
<div className={Styles.nsa_toast_background}>
|
|
121
|
-
|
|
122
125
|
</div>
|
|
123
126
|
</>
|
|
124
127
|
);
|
|
@@ -49,15 +49,15 @@ export interface NSALayoutProps<EntityType extends { id: string }, EntityTypeInp
|
|
|
49
49
|
export interface NSALayoutState
|
|
50
50
|
{
|
|
51
51
|
showDeleteModal: boolean;
|
|
52
|
+
showMessageModal: boolean;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
export function NSALayout<EntityType extends { id: string }, EntityTypeInput = EntityType>(props: NSALayoutProps<EntityType, EntityTypeInput>)
|
|
55
56
|
{
|
|
56
57
|
const Section_List = useRef<NSASectionList<EntityType, EntityTypeInput>>(null);
|
|
57
|
-
const Message_Dialog = useRef<NSAMessageDialog>(null);
|
|
58
58
|
const Access = useRef<NSAAccess>(null);
|
|
59
59
|
|
|
60
|
-
const [state, setState] = useState<NSALayoutState>({ showDeleteModal: false });
|
|
60
|
+
const [state, setState] = useState<NSALayoutState>({ showDeleteModal: false, showMessageModal: false });
|
|
61
61
|
|
|
62
62
|
const hideDeleteModal = () => { setState(prevState => ({ ...prevState, showDeleteModal: false })); };
|
|
63
63
|
const showDeleteModal = () => { setState(prevState => ({ ...prevState, showDeleteModal: true })); };
|
|
@@ -76,9 +76,16 @@ export function NSALayout<EntityType extends { id: string }, EntityTypeInput = E
|
|
|
76
76
|
{
|
|
77
77
|
src: "https://static.namirasoft.com/image/concept/message/white.svg", alt: "Message", onClicked: () =>
|
|
78
78
|
{
|
|
79
|
-
|
|
79
|
+
setState(prevState => ({ ...prevState, showMessageModal: true }));
|
|
80
80
|
},
|
|
81
|
-
children:
|
|
81
|
+
children: <>
|
|
82
|
+
{
|
|
83
|
+
(state.showMessageModal && <NSAMessageDialog {...props} onClose={() =>
|
|
84
|
+
{
|
|
85
|
+
setState(prevState => ({ ...prevState, showMessageModal: false }));
|
|
86
|
+
}} />)
|
|
87
|
+
}
|
|
88
|
+
</>,
|
|
82
89
|
count: 1
|
|
83
90
|
},
|
|
84
91
|
{
|