dq-cus-lib 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-3P3BZ5GA.js +12 -0
- package/dist/chunk-3P3BZ5GA.js.map +1 -0
- package/dist/{chunk-767TKJQF.js → chunk-72Y4GEJL.js} +4 -3
- package/dist/chunk-72Y4GEJL.js.map +1 -0
- package/dist/{chunk-LLX3WGKJ.js → chunk-EAURBQWA.js} +3 -3
- package/dist/{chunk-LLX3WGKJ.js.map → chunk-EAURBQWA.js.map} +1 -1
- package/dist/chunk-QE2XW565.js +21 -0
- package/dist/chunk-QE2XW565.js.map +1 -0
- package/dist/{chunk-6B3NAL4F.js → chunk-QLPZ6FY2.js} +6 -2
- package/dist/chunk-QLPZ6FY2.js.map +1 -0
- package/dist/{chunk-PWBSF4OA.js → chunk-QYP3Y6HE.js} +9 -3
- package/dist/chunk-QYP3Y6HE.js.map +1 -0
- package/dist/chunk-UPB7Z3GU.js +35 -0
- package/dist/chunk-UPB7Z3GU.js.map +1 -0
- package/dist/chunk-WBQ6B6D4.js +30 -0
- package/dist/chunk-WBQ6B6D4.js.map +1 -0
- package/dist/{chunk-4H3O2JGN.js → chunk-WZJE5VHZ.js} +4 -4
- package/dist/chunk-WZJE5VHZ.js.map +1 -0
- package/dist/index.css +85 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/dist/pages/broker-account.page.d.ts +9 -0
- package/dist/pages/broker-account.page.js +221 -0
- package/dist/pages/broker-account.page.js.map +1 -0
- package/dist/pages/broker-auth.page.js +7 -5
- package/dist/pages/broker-auth.page.js.map +1 -1
- package/dist/pages/broker-login.page.js +11 -49
- package/dist/pages/broker-login.page.js.map +1 -1
- package/dist/pages/broker-settings.page.js +59 -50
- package/dist/pages/broker-settings.page.js.map +1 -1
- package/dist/pages/brokers.page.d.ts +9 -0
- package/dist/pages/brokers.page.js +75 -0
- package/dist/pages/brokers.page.js.map +1 -0
- package/dist/pages/error.page.js +1 -1
- package/dist/pages/landing.page.js +3 -3
- package/dist/pages/layout.page.js +1 -1
- package/dist/pages/logout-error.page.js +4 -7
- package/dist/pages/logout-error.page.js.map +1 -1
- package/dist/pages/profile.page.d.ts +9 -0
- package/dist/pages/profile.page.js +297 -0
- package/dist/pages/profile.page.js.map +1 -0
- package/dist/pages/signin.page.js +8 -5
- package/dist/pages/signin.page.js.map +1 -1
- package/package.json +4 -1
- package/dist/chunk-4H3O2JGN.js.map +0 -1
- package/dist/chunk-6B3NAL4F.js.map +0 -1
- package/dist/chunk-767TKJQF.js.map +0 -1
- package/dist/chunk-CN3GJW6R.js +0 -16
- package/dist/chunk-CN3GJW6R.js.map +0 -1
- package/dist/chunk-IBJKEVYR.js +0 -12
- package/dist/chunk-IBJKEVYR.js.map +0 -1
- package/dist/chunk-PWBSF4OA.js.map +0 -1
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import { STATUS_CODE_MESSAGES } from '../chunk-QE2XW565.js';
|
|
2
|
+
import { SETTINGS_HELP_TEXT } from '../chunk-UPB7Z3GU.js';
|
|
3
|
+
import { loading_default } from '../chunk-3P3BZ5GA.js';
|
|
4
|
+
import { CUSTOMER_ROUTES } from '../chunk-QLPZ6FY2.js';
|
|
5
|
+
import '../chunk-72Y4GEJL.js';
|
|
6
|
+
import { TITLES, NOTIFICATION_SERVICES } from '../chunk-QYP3Y6HE.js';
|
|
7
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
8
|
+
import Container from '@mui/material/Container';
|
|
9
|
+
import Grid from '@mui/material/Grid';
|
|
10
|
+
import Box3 from '@mui/material/Box';
|
|
11
|
+
import { LinkButton, Alerts, getcall, ns, Toggle, Dropdown, Button, postcall, showValidationSnackBar, ALERT_TYPES, showValidationAlert, Tooltip, Textbox, patchcall } from 'sspart-fe-lib';
|
|
12
|
+
import Card from '@mui/material/Card';
|
|
13
|
+
import CardContent from '@mui/material/CardContent';
|
|
14
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
15
|
+
import Stack from '@mui/material/Stack';
|
|
16
|
+
import Divider from '@mui/material/Divider';
|
|
17
|
+
import IconButton from '@mui/material/IconButton';
|
|
18
|
+
import EditIcon from '@mui/icons-material/Edit';
|
|
19
|
+
import Dialog from '@mui/material/Dialog';
|
|
20
|
+
import Typography from '@mui/material/Typography';
|
|
21
|
+
|
|
22
|
+
var getProfile = async () => {
|
|
23
|
+
return await getcall(CUSTOMER_ROUTES("profile"), "profile");
|
|
24
|
+
};
|
|
25
|
+
var updateProfile = async (telegram) => {
|
|
26
|
+
return await postcall(CUSTOMER_ROUTES("profile"), { telegram }, "profile");
|
|
27
|
+
};
|
|
28
|
+
var getSegmentPreferences = async (segment_id) => {
|
|
29
|
+
return await postcall(CUSTOMER_ROUTES("segments"), { segment_id }, "segments");
|
|
30
|
+
};
|
|
31
|
+
var updateSegmentPreferences = async (segment_id, broker_account_id, trading_mode) => {
|
|
32
|
+
return await patchcall(CUSTOMER_ROUTES("segments"), { segment_id, broker_account_id, trading_mode }, "segments");
|
|
33
|
+
};
|
|
34
|
+
var ExternalNotification = ({ value, helpText, onChange, name, title }) => {
|
|
35
|
+
const handleChange = (name2, value2) => {
|
|
36
|
+
onChange(name2, value2);
|
|
37
|
+
};
|
|
38
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
39
|
+
/* @__PURE__ */ jsxs(Box3, { display: "flex", flexDirection: "row", alignItems: "center", mb: 1, children: [
|
|
40
|
+
/* @__PURE__ */ jsx("h4", { className: "profile-sub-heading noselect", children: title }),
|
|
41
|
+
/* @__PURE__ */ jsx(Tooltip, { placement: "bottom", title: helpText })
|
|
42
|
+
] }),
|
|
43
|
+
/* @__PURE__ */ jsx(Textbox, { name, type: "text", onChange: handleChange, value })
|
|
44
|
+
] });
|
|
45
|
+
};
|
|
46
|
+
var external_notification_default = ExternalNotification;
|
|
47
|
+
var ProfilePageWrapper = ({ data }) => {
|
|
48
|
+
const [localdata, setLocalData] = useState({ telegram: "" });
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
setLocalData(data);
|
|
51
|
+
}, [data]);
|
|
52
|
+
const onChange = (name, value) => {
|
|
53
|
+
setLocalData((prev) => ({ ...prev, [name]: value }));
|
|
54
|
+
};
|
|
55
|
+
const onSaveClick = async () => {
|
|
56
|
+
const { telegram: telegram2 } = localdata;
|
|
57
|
+
const response = await updateProfile(telegram2);
|
|
58
|
+
if (response) {
|
|
59
|
+
showValidationAlert(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.YOUR_PROFILE_SETTINGS_UPDATED_SUCCESSFULLY, "profile");
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const { telegram } = localdata;
|
|
63
|
+
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(CardContent, { children: [
|
|
64
|
+
/* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx("h4", { className: "page-heading", children: "User settings" }) }),
|
|
65
|
+
/* @__PURE__ */ jsx(Grid, { sx: { my: 2 }, children: /* @__PURE__ */ jsx(
|
|
66
|
+
external_notification_default,
|
|
67
|
+
{
|
|
68
|
+
name: "telegram",
|
|
69
|
+
helpText: SETTINGS_HELP_TEXT.telegram,
|
|
70
|
+
value: telegram,
|
|
71
|
+
onChange,
|
|
72
|
+
title: "Telegram Chat Id"
|
|
73
|
+
}
|
|
74
|
+
) }),
|
|
75
|
+
/* @__PURE__ */ jsx(Grid, { sx: { display: "flex", flexDirection: "column", alignItems: "center", mt: 4 }, children: /* @__PURE__ */ jsx(Button, { id: "save", name: "save", className: "wrapped-btn", onClick: onSaveClick, text: "Save" }) })
|
|
76
|
+
] }) });
|
|
77
|
+
};
|
|
78
|
+
var profile_wrapper_default = ProfilePageWrapper;
|
|
79
|
+
var Broker = ({ data }) => {
|
|
80
|
+
const onClick = () => {
|
|
81
|
+
ns.postNotification(NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE, data);
|
|
82
|
+
};
|
|
83
|
+
return /* @__PURE__ */ jsxs(Box3, { className: "broker-card", children: [
|
|
84
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", alignItems: "flex-start", justifyContent: "space-between", spacing: 2, sx: { width: "100%" }, children: [
|
|
85
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "column", alignItems: "flex-start", justifyContent: "space-between", spacing: 2, sx: { flex: 1, minWidth: 0 }, children: [
|
|
86
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", alignItems: "start", sx: { width: "100%", minWidth: 0 }, children: [
|
|
87
|
+
/* @__PURE__ */ jsx("div", { className: "segment-name", children: data.segment_name }),
|
|
88
|
+
data.trading_mode && /* @__PURE__ */ jsx("div", { className: `trade-mode trade-mode-${data.trading_mode}`, children: data.trading_mode })
|
|
89
|
+
] }),
|
|
90
|
+
/* @__PURE__ */ jsx(Stack, { sx: { width: "100%", minWidth: 0 }, children: /* @__PURE__ */ jsx("div", { className: "segment-desc", children: data.segment_desc }) })
|
|
91
|
+
] }),
|
|
92
|
+
/* @__PURE__ */ jsx(Stack, { direction: "row", alignItems: "center", children: /* @__PURE__ */ jsx(IconButton, { onClick: () => onClick(), children: /* @__PURE__ */ jsx(EditIcon, { sx: { fontSize: 16 } }) }) })
|
|
93
|
+
] }),
|
|
94
|
+
/* @__PURE__ */ jsx(Divider, { sx: { my: 2 } }),
|
|
95
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", alignItems: "flex-start", justifyContent: "space-between", spacing: 2, sx: { width: "100%", minWidth: 0 }, children: [
|
|
96
|
+
/* @__PURE__ */ jsx(Stack, { direction: "column", alignItems: "flex-start", justifyContent: "space-between", spacing: 2, sx: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ jsxs(Stack, { sx: { width: "100%", minWidth: 0 }, children: [
|
|
97
|
+
/* @__PURE__ */ jsx("div", { className: "segment-desc", children: "Broker" }),
|
|
98
|
+
/* @__PURE__ */ jsx("div", { className: "segment-details", children: data.broker_name ?? "Not linked" })
|
|
99
|
+
] }) }),
|
|
100
|
+
/* @__PURE__ */ jsx(Stack, { direction: "row", sx: { minWidth: 0, maxWidth: "45%" }, children: /* @__PURE__ */ jsxs(Stack, { direction: "column", alignItems: "end", sx: { minWidth: 0 }, children: [
|
|
101
|
+
/* @__PURE__ */ jsx("div", { className: "segment-desc text-end", children: "Account Name" }),
|
|
102
|
+
/* @__PURE__ */ jsx("div", { className: "segment-details text-end", children: data.broker_account_name ?? "Not linked" })
|
|
103
|
+
] }) })
|
|
104
|
+
] })
|
|
105
|
+
] });
|
|
106
|
+
};
|
|
107
|
+
var broker_default = Broker;
|
|
108
|
+
var BrokersWrapper = ({ data }) => {
|
|
109
|
+
const [localdata, setLocalData] = useState([]);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
setLocalData(data);
|
|
112
|
+
}, [data]);
|
|
113
|
+
const brokerPreferences = localdata.map((broker) => /* @__PURE__ */ jsx(broker_default, { data: broker }, broker.segment_id));
|
|
114
|
+
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(CardContent, { children: [
|
|
115
|
+
/* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx("h4", { className: "page-heading", children: "Broker preferences" }) }),
|
|
116
|
+
/* @__PURE__ */ jsx(Grid, { sx: { my: 2 }, children: localdata.length > 0 ? brokerPreferences : /* @__PURE__ */ jsx("p", { children: "No broker preferences found." }) })
|
|
117
|
+
] }) });
|
|
118
|
+
};
|
|
119
|
+
var brokers_wrapper_default = BrokersWrapper;
|
|
120
|
+
|
|
121
|
+
// src/components/profile.page/data-service.tsx
|
|
122
|
+
var DataServiceService = class _DataServiceService {
|
|
123
|
+
static instance = null;
|
|
124
|
+
dataService = {};
|
|
125
|
+
constructor() {
|
|
126
|
+
}
|
|
127
|
+
static getInstance() {
|
|
128
|
+
if (!_DataServiceService.instance) {
|
|
129
|
+
_DataServiceService.instance = new _DataServiceService();
|
|
130
|
+
}
|
|
131
|
+
return _DataServiceService.instance;
|
|
132
|
+
}
|
|
133
|
+
setData(segmentid, data) {
|
|
134
|
+
this.dataService[segmentid] = data;
|
|
135
|
+
}
|
|
136
|
+
getData(segmentid) {
|
|
137
|
+
return this.dataService[segmentid];
|
|
138
|
+
}
|
|
139
|
+
resetData() {
|
|
140
|
+
this.dataService = {};
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
var data_service_default = DataServiceService.getInstance();
|
|
144
|
+
var defaultOptions = [{ value: "0", text: "Select" }];
|
|
145
|
+
var BrokerModal = ({ onRefresh }) => {
|
|
146
|
+
const [show, setShow] = useState(false);
|
|
147
|
+
const [option, setOption] = useState("0");
|
|
148
|
+
const [options, setOptions] = useState(defaultOptions);
|
|
149
|
+
const [data, setData] = useState({
|
|
150
|
+
segment_id: 0,
|
|
151
|
+
segment_code: "",
|
|
152
|
+
segment_name: "",
|
|
153
|
+
segment_desc: "",
|
|
154
|
+
broker_account_id: null,
|
|
155
|
+
trading_mode: "paper",
|
|
156
|
+
broker_account_name: null,
|
|
157
|
+
broker_name: null
|
|
158
|
+
});
|
|
159
|
+
const loadPreferences = useCallback(async (broker_account_id, segmentId) => {
|
|
160
|
+
let options2 = data_service_default.getData(segmentId);
|
|
161
|
+
if (!options2) {
|
|
162
|
+
const response = await getSegmentPreferences(segmentId);
|
|
163
|
+
if (!response) return;
|
|
164
|
+
const { preferences } = response;
|
|
165
|
+
options2 = [
|
|
166
|
+
...defaultOptions,
|
|
167
|
+
...preferences.map((option2) => ({
|
|
168
|
+
value: String(option2.broker_account_id),
|
|
169
|
+
text: option2.broker_account_name
|
|
170
|
+
}))
|
|
171
|
+
];
|
|
172
|
+
data_service_default.setData(segmentId, options2);
|
|
173
|
+
}
|
|
174
|
+
setOption(broker_account_id ? String(broker_account_id) : "0");
|
|
175
|
+
setOptions(options2);
|
|
176
|
+
}, []);
|
|
177
|
+
const openModal = useCallback(async (modalData) => {
|
|
178
|
+
setShow(true);
|
|
179
|
+
setData(modalData);
|
|
180
|
+
await loadPreferences(modalData.broker_account_id, modalData.segment_id);
|
|
181
|
+
}, [loadPreferences]);
|
|
182
|
+
useEffect(() => {
|
|
183
|
+
ns.addObserver(NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE, null, openModal);
|
|
184
|
+
return () => {
|
|
185
|
+
ns.removeObserver(null, NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE);
|
|
186
|
+
};
|
|
187
|
+
}, [openModal]);
|
|
188
|
+
const onChange = (name, value) => {
|
|
189
|
+
setData((prevData) => ({
|
|
190
|
+
...prevData,
|
|
191
|
+
[name]: value
|
|
192
|
+
}));
|
|
193
|
+
};
|
|
194
|
+
const onChangeAccount = (name, value) => {
|
|
195
|
+
setOption(value);
|
|
196
|
+
};
|
|
197
|
+
const handleClose = () => {
|
|
198
|
+
setShow(false);
|
|
199
|
+
};
|
|
200
|
+
const onSureModal = async () => {
|
|
201
|
+
const { segment_id, trading_mode } = data;
|
|
202
|
+
const response = await updateSegmentPreferences(segment_id, Number(option), trading_mode);
|
|
203
|
+
if (response) {
|
|
204
|
+
showValidationSnackBar(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.BROKER_PREFERENCE_UPDATED);
|
|
205
|
+
handleClose();
|
|
206
|
+
onRefresh();
|
|
207
|
+
} else {
|
|
208
|
+
showValidationAlert(ALERT_TYPES.ERROR, STATUS_CODE_MESSAGES.BROKER_PREFERENCE_UPDATE_FAILED, "segments");
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
return /* @__PURE__ */ jsx(Dialog, { open: show, onClose: handleClose, fullWidth: true, maxWidth: "xs", children: /* @__PURE__ */ jsxs("div", { className: "modal-content", children: [
|
|
212
|
+
/* @__PURE__ */ jsx("div", { className: "cloud-modal-header", children: /* @__PURE__ */ jsx(Typography, { variant: "subtitle2", noWrap: true, children: "Broker Preference" }) }),
|
|
213
|
+
/* @__PURE__ */ jsxs("div", { className: "modal-body", children: [
|
|
214
|
+
/* @__PURE__ */ jsx(Alerts, { id: "segments", className: "mt-2 mb-2" }),
|
|
215
|
+
/* @__PURE__ */ jsxs(Stack, { sx: { width: "100%", minWidth: 0 }, children: [
|
|
216
|
+
/* @__PURE__ */ jsx("div", { className: "segment-desc", children: "Segment Name" }),
|
|
217
|
+
/* @__PURE__ */ jsx("div", { className: "segment-details", children: data.segment_name })
|
|
218
|
+
] }),
|
|
219
|
+
/* @__PURE__ */ jsx(Box3, { sx: { my: 2 } }),
|
|
220
|
+
/* @__PURE__ */ jsxs(Stack, { sx: { minWidth: 0, maxWidth: "100%" }, children: [
|
|
221
|
+
/* @__PURE__ */ jsx("div", { className: "segment-desc", children: "Segment Description" }),
|
|
222
|
+
/* @__PURE__ */ jsx("div", { className: "segment-details", children: data.segment_desc })
|
|
223
|
+
] }),
|
|
224
|
+
/* @__PURE__ */ jsx(Box3, { sx: { my: 2 } }),
|
|
225
|
+
/* @__PURE__ */ jsx(
|
|
226
|
+
Toggle,
|
|
227
|
+
{
|
|
228
|
+
label: "Trading Mode",
|
|
229
|
+
name: "trading_mode",
|
|
230
|
+
value: data.trading_mode,
|
|
231
|
+
text1: "Paper",
|
|
232
|
+
value1: "paper",
|
|
233
|
+
text2: "Live",
|
|
234
|
+
value2: "live",
|
|
235
|
+
onChange
|
|
236
|
+
}
|
|
237
|
+
),
|
|
238
|
+
/* @__PURE__ */ jsx(Box3, { sx: { my: 4 } }),
|
|
239
|
+
/* @__PURE__ */ jsx(
|
|
240
|
+
Dropdown,
|
|
241
|
+
{
|
|
242
|
+
label: "Broker Account",
|
|
243
|
+
name: "broker_account_id",
|
|
244
|
+
value: `${option}`,
|
|
245
|
+
options,
|
|
246
|
+
onChange: onChangeAccount,
|
|
247
|
+
placeholder: "Broker Account"
|
|
248
|
+
}
|
|
249
|
+
),
|
|
250
|
+
/* @__PURE__ */ jsx(Divider, { sx: { mt: 4, mb: 2 } }),
|
|
251
|
+
/* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, marginTop: 2, children: [
|
|
252
|
+
/* @__PURE__ */ jsx(Grid, { size: { xs: 6 }, children: /* @__PURE__ */ jsx(Button, { name: "Cancel", text: "Cancel", variant: "text", onClick: handleClose }) }),
|
|
253
|
+
/* @__PURE__ */ jsx(Grid, { size: { xs: 6 }, children: /* @__PURE__ */ jsx(Button, { name: "Save", text: "Save", onClick: onSureModal }) })
|
|
254
|
+
] })
|
|
255
|
+
] })
|
|
256
|
+
] }) });
|
|
257
|
+
};
|
|
258
|
+
var broker_modal_default = BrokerModal;
|
|
259
|
+
var ProfilePage = ({ navigate }) => {
|
|
260
|
+
const [loading, setLoading] = useState(true);
|
|
261
|
+
const [data, setData] = useState({ data: { telegram: "" }, preferences: [] });
|
|
262
|
+
const fetchProfile = useCallback(async () => {
|
|
263
|
+
const response = await getProfile();
|
|
264
|
+
if (response) setData(response);
|
|
265
|
+
setLoading(false);
|
|
266
|
+
}, []);
|
|
267
|
+
useEffect(() => {
|
|
268
|
+
document.title = TITLES.PROFILE_PAGE_TITLE;
|
|
269
|
+
fetchProfile();
|
|
270
|
+
}, [fetchProfile]);
|
|
271
|
+
const onClick = (name) => {
|
|
272
|
+
if (name) navigate(`/${name}`);
|
|
273
|
+
};
|
|
274
|
+
return /* @__PURE__ */ jsxs(Container, { maxWidth: "sm", sx: { mt: 2, mb: 4 }, children: [
|
|
275
|
+
/* @__PURE__ */ jsxs(Grid, { children: [
|
|
276
|
+
/* @__PURE__ */ jsx("h4", { className: "page-heading", children: "Profile Settings" }),
|
|
277
|
+
/* @__PURE__ */ jsxs("div", { className: "broker-settings-help", children: [
|
|
278
|
+
"Please click ",
|
|
279
|
+
/* @__PURE__ */ jsx(LinkButton, { name: "help", text: "here", onClick }),
|
|
280
|
+
" for help to update your profile settings."
|
|
281
|
+
] })
|
|
282
|
+
] }),
|
|
283
|
+
/* @__PURE__ */ jsx(Alerts, { id: "profile", className: "mt-2 mb-4" }),
|
|
284
|
+
/* @__PURE__ */ jsx(broker_modal_default, { onRefresh: fetchProfile }),
|
|
285
|
+
/* @__PURE__ */ jsx(Box3, { sx: { my: 2 } }),
|
|
286
|
+
loading ? /* @__PURE__ */ jsx(loading_default, {}) : /* @__PURE__ */ jsxs(Box3, { children: [
|
|
287
|
+
/* @__PURE__ */ jsx(brokers_wrapper_default, { data: data.preferences }),
|
|
288
|
+
/* @__PURE__ */ jsx(Box3, { sx: { my: 2 } }),
|
|
289
|
+
/* @__PURE__ */ jsx(profile_wrapper_default, { data: data.data })
|
|
290
|
+
] })
|
|
291
|
+
] });
|
|
292
|
+
};
|
|
293
|
+
var profile_page_default = ProfilePage;
|
|
294
|
+
|
|
295
|
+
export { profile_page_default as default };
|
|
296
|
+
//# sourceMappingURL=profile.page.js.map
|
|
297
|
+
//# sourceMappingURL=profile.page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/profile.page/api-calls.tsx","../../src/components/profile.page/external-notification.tsx","../../src/components/profile.page/profile-wrapper.tsx","../../src/components/profile.page/broker.tsx","../../src/components/profile.page/brokers-wrapper.tsx","../../src/components/profile.page/data-service.tsx","../../src/components/profile.page/broker-modal.tsx","../../src/pages/profile.page.tsx"],"names":["name","value","Box","telegram","jsx","jsxs","useState","useEffect","Card","CardContent","Grid","options","option","ns","ALERT_TYPES","showValidationAlert","Stack","Divider","Button","useCallback","Alerts"],"mappings":"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","file":"profile.page.js","sourcesContent":["import { getcall, patchcall, postcall } from \"sspart-fe-lib\";\nimport { CUSTOMER_ROUTES } from \"../../resources/routes\";\n\nexport const getProfile = async (): Promise<any> => {\n return await getcall(CUSTOMER_ROUTES(\"profile\"), \"profile\");\n};\n\nexport const updateProfile = async (telegram: string): Promise<any> => {\n return await postcall(CUSTOMER_ROUTES(\"profile\"), { telegram }, \"profile\");\n};\n\nexport const getSegmentPreferences = async (segment_id: number): Promise<any> => {\n return await postcall(CUSTOMER_ROUTES(\"segments\"), { segment_id }, \"segments\");\n};\n\nexport const updateSegmentPreferences = async (segment_id: number, broker_account_id: number, trading_mode: string): Promise<any> => {\n return await patchcall(CUSTOMER_ROUTES(\"segments\"), { segment_id, broker_account_id, trading_mode }, \"segments\");\n};","import { FC } from \"react\";\nimport Box from '@mui/material/Box';\nimport { Textbox, Tooltip } from \"sspart-fe-lib\";\n\ninterface ExternalNotificationProps {\n\tvalue: string;\n\thelpText: string;\n\tonChange: (name: string, value: string) => void;\n\tname: string;\n title: string;\n}\n\nconst ExternalNotification : FC<ExternalNotificationProps> = ({ value, helpText, onChange, name, title }) => {\n\n const handleChange = (name: string, value: string) => {\n onChange(name, value);\n };\n\n return (\n <div>\n <Box display='flex' flexDirection='row' alignItems='center' mb={1}>\n <h4 className=\"profile-sub-heading noselect\">\n {title}\n </h4>\n <Tooltip placement='bottom' title={helpText}/>\n </Box>\n <Textbox name={name} type=\"text\" onChange={handleChange} value={value} />\n </div>\n );\n};\n\nexport default ExternalNotification;\n","import React, { useEffect, useState } from \"react\";\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Grid from '@mui/material/Grid';\nimport { ALERT_TYPES, Button, showValidationAlert } from 'sspart-fe-lib';\nimport { updateProfile } from \"./api-calls\";\nimport ExternalNotification from \"./external-notification\";\nimport { SETTINGS_HELP_TEXT } from \"../broker-settings.page/constants\";\nimport { STATUS_CODE_MESSAGES } from \"../../resources/status\";\n\ninterface Broker {\n telegram: string;\n}\n\ninterface ProfilePageProps {\n data: Broker;\n}\n\nconst ProfilePageWrapper: React.FC<ProfilePageProps> = ({ data }) => {\n\n const [localdata, setLocalData] = useState<Broker>({ telegram: \"\" });\n\n useEffect(() => {\n setLocalData(data);\n }, [data]);\n \n const onChange = (name: string, value: string) => {\n setLocalData((prev) => ({ ...prev, [name]: value }));\n };\n \n const onSaveClick = async () => {\n const { telegram } = localdata;\n const response = await updateProfile(telegram);\n if(response) {\n showValidationAlert(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.YOUR_PROFILE_SETTINGS_UPDATED_SUCCESSFULLY, 'profile');\n }\n }\n\n const { telegram } = localdata;\n\n return (\n <Card>\n <CardContent>\n <Grid>\n <h4 className=\"page-heading\">User settings</h4>\n </Grid>\n <Grid sx={{ my: 2 }}>\n <ExternalNotification name=\"telegram\" helpText={SETTINGS_HELP_TEXT.telegram} \n value={telegram} onChange={onChange} title=\"Telegram Chat Id\"/>\n </Grid>\n <Grid sx={{ display: 'flex', flexDirection: 'column', alignItems: 'center', mt: 4}}>\n <Button id=\"save\" name=\"save\" className=\"wrapped-btn\" onClick={onSaveClick} text=\"Save\"/>\n </Grid>\n </CardContent>\n </Card>\n );\n};\n\nexport default ProfilePageWrapper;","import React from \"react\";\nimport Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport EditIcon from '@mui/icons-material/Edit';\nimport { ns } from \"sspart-fe-lib\";\nimport { NOTIFICATION_SERVICES } from \"../../resources/constants\";\nimport { BrokerPreferences } from \"./infertaces\";\n\ninterface BrokerProps {\n data: BrokerPreferences;\n}\n\nconst Broker: React.FC<BrokerProps> = ({ data }) => {\n\n const onClick = () => {\n ns.postNotification(NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE, data);\n };\n\n return (\n <Box className=\"broker-card\">\n <Stack direction=\"row\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ width: '100%' }}>\n <Stack direction=\"column\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ flex: 1, minWidth: 0 }}>\n <Stack direction=\"row\" alignItems='start' sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-name\">\n {data.segment_name}\n </div>\n {data.trading_mode && <div className={`trade-mode trade-mode-${data.trading_mode}`}>\n {data.trading_mode}\n </div>}\n </Stack>\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n {data.segment_desc}\n </div>\n </Stack>\n </Stack>\n <Stack direction=\"row\" alignItems='center'>\n <IconButton onClick={() => onClick()}>\n <EditIcon sx={{ fontSize: 16 }} />\n </IconButton>\n </Stack>\n </Stack>\n <Divider sx={{ my: 2 }} />\n <Stack direction=\"row\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ width: '100%', minWidth: 0 }}>\n <Stack direction=\"column\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ flex: 1, minWidth: 0 }}>\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n Broker\n </div>\n <div className=\"segment-details\">\n {data.broker_name ?? \"Not linked\"}\n </div>\n </Stack>\n </Stack>\n <Stack direction=\"row\" sx={{ minWidth: 0, maxWidth: '45%' }}>\n <Stack direction=\"column\" alignItems=\"end\" sx={{ minWidth: 0 }}>\n <div className=\"segment-desc text-end\">\n Account Name\n </div>\n <div className=\"segment-details text-end\">\n {data.broker_account_name ?? \"Not linked\"}\n </div>\n </Stack>\n </Stack>\n </Stack>\n </Box>\n );\n};\n\nexport default Broker;","import React, { useEffect, useState } from \"react\";\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Grid from '@mui/material/Grid';\nimport Broker from \"./broker\";\nimport { BrokerPreferences } from \"./infertaces\";\n\ninterface BrokersWrapperProps {\n data: BrokerPreferences[];\n}\n\nconst BrokersWrapper: React.FC<BrokersWrapperProps> = ({ data }) => {\n\n const [localdata, setLocalData] = useState<BrokerPreferences[]>([]);\n\n useEffect(() => {\n setLocalData(data);\n }, [data]);\n\n const brokerPreferences = localdata.map((broker) => (\n <Broker key={broker.segment_id} data={broker}/>\n ));\n\n return (\n <Card>\n <CardContent>\n <Grid>\n <h4 className=\"page-heading\">Broker preferences</h4>\n </Grid>\n <Grid sx={{ my: 2 }}>\n {localdata.length > 0 ? brokerPreferences : <p>No broker preferences found.</p>}\n </Grid>\n </CardContent>\n </Card>\n );\n};\n\nexport default BrokersWrapper;","type DataService = Record<number, any>;\n\nclass DataServiceService {\n private static instance: DataServiceService | null = null;\n private dataService: DataService = {};\n\n private constructor() {}\n\n static getInstance(): DataServiceService {\n if (!DataServiceService.instance) {\n DataServiceService.instance = new DataServiceService();\n }\n return DataServiceService.instance;\n }\n\n setData(segmentid: number, data: DataService): void {\n this.dataService[segmentid] = data;\n }\n\n getData(segmentid: number): any {\n return this.dataService[segmentid];\n }\n\n resetData(): void {\n this.dataService = {};\n }\n}\n\nexport default DataServiceService.getInstance();","import React, { useState, useEffect, useCallback } from 'react';\nimport Dialog from '@mui/material/Dialog';\nimport Grid from '@mui/material/Grid';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport Box from \"@mui/material/Box\";\nimport { ALERT_TYPES, Alerts, Button, Dropdown, ns, showValidationAlert, showValidationSnackBar, STATUSES, Toggle } from 'sspart-fe-lib';\nimport { NOTIFICATION_SERVICES } from '../../resources/constants';\nimport Divider from '@mui/material/Divider';\nimport { BrokerPreferences } from './infertaces';\nimport { getSegmentPreferences, updateSegmentPreferences } from './api-calls';\nimport dataService from './data-service';\nimport { STATUS_CODE_MESSAGES } from '../../resources/status';\n\nconst defaultOptions = [{ value: '0', text: 'Select' }];\n\nconst BrokerModal: React.FC<{ onRefresh: () => void }> = ({ onRefresh }) => {\n\n const [show, setShow] = useState<boolean>(false);\n const [option, setOption] = useState<string>('0');\n const [options, setOptions] = useState<any[]>(defaultOptions);\n const [data, setData] = useState<BrokerPreferences>({\n segment_id: 0,\n segment_code: '',\n segment_name: '',\n segment_desc: '',\n broker_account_id: null,\n trading_mode: 'paper',\n broker_account_name: null,\n broker_name: null\n });\n\n const loadPreferences = useCallback(async (broker_account_id: number | null, segmentId: number) => {\n let options = dataService.getData(segmentId);\n\n if (!options) {\n const response = await getSegmentPreferences(segmentId);\n if(!response) return;\n const { preferences } = response;\n options = [\n ...defaultOptions,\n ...preferences.map((option: any) => ({\n value: String(option.broker_account_id),\n text: option.broker_account_name\n }))\n ];\n dataService.setData(segmentId, options);\n }\n setOption(broker_account_id ? String(broker_account_id) : '0');\n setOptions(options);\n }, []);\n\n const openModal = useCallback(async (modalData: BrokerPreferences) => {\n setShow(true);\n setData(modalData);\n await loadPreferences(modalData.broker_account_id, modalData.segment_id);\n }, [loadPreferences]);\n\n useEffect(() => {\n ns.addObserver(NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE, null, openModal);\n return () => {\n ns.removeObserver(null, NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE);\n };\n }, [openModal]);\n\n const onChange = (name: string, value: any) => {\n setData((prevData) => ({\n ...prevData, [name]: value\n }));\n }\n\n const onChangeAccount = (name: string, value: any) => {\n setOption(value);\n }\n\n const handleClose = () => { setShow(false); };\n\n const onSureModal = async () => {\n const { segment_id, trading_mode } = data;\n const response = await updateSegmentPreferences(segment_id, Number(option), trading_mode);\n if (response) {\n showValidationSnackBar(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.BROKER_PREFERENCE_UPDATED);\n handleClose();\n onRefresh();\n } else {\n showValidationAlert(ALERT_TYPES.ERROR, STATUS_CODE_MESSAGES.BROKER_PREFERENCE_UPDATE_FAILED, \"segments\");\n }\n };\n\n return (\n <Dialog open={show} onClose={handleClose} fullWidth={true} maxWidth='xs'>\n <div className='modal-content'>\n <div className='cloud-modal-header'>\n <Typography variant='subtitle2' noWrap>\n Broker Preference\n </Typography>\n </div>\n <div className='modal-body'>\n <Alerts id=\"segments\" className=\"mt-2 mb-2\" />\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n Segment Name\n </div>\n <div className=\"segment-details\">\n {data.segment_name}\n </div>\n </Stack>\n <Box sx={{ my: 2 }} />\n <Stack sx={{ minWidth: 0, maxWidth: '100%' }}>\n <div className=\"segment-desc\">\n Segment Description\n </div>\n <div className=\"segment-details\">\n {data.segment_desc}\n </div>\n </Stack>\n <Box sx={{ my: 2 }} />\n <Toggle label='Trading Mode' name='trading_mode' value={data.trading_mode}\n text1='Paper' value1='paper' text2='Live' value2='live' onChange={onChange}/>\n <Box sx={{ my: 4 }} />\n <Dropdown label='Broker Account' name='broker_account_id' value={`${option}`}\n options={options} onChange={onChangeAccount} placeholder='Broker Account'/>\n <Divider sx={{ mt: 4, mb: 2 }} />\n <Grid container spacing={2} marginTop={2}>\n <Grid size={{xs: 6}}>\n <Button name='Cancel' text='Cancel' variant='text' onClick={handleClose} />\n </Grid>\n <Grid size={{xs: 6}}>\n <Button name='Save' text='Save' onClick={onSureModal} />\n </Grid>\n </Grid>\n </div>\n </div>\n </Dialog>\n );\n};\n\nexport default BrokerModal;\n","import React, { useEffect, useState, useCallback } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Container from \"@mui/material/Container\";\nimport Grid from '@mui/material/Grid';\nimport Box from \"@mui/material/Box\";\nimport { TITLES } from '../resources/constants';\nimport { Alerts, LinkButton } from 'sspart-fe-lib';\nimport LoadingComp from \"../components/common/loading\";\nimport { getProfile } from \"../components/profile.page/api-calls\";\nimport ProfilePageWrapper from \"../components/profile.page/profile-wrapper\";\nimport BrokersWrapper from \"../components/profile.page/brokers-wrapper\";\nimport BrokerModal from \"../components/profile.page/broker-modal\";\nimport { BrokerPreferences } from \"../components/profile.page/infertaces\";\n\ninterface ProfilePageProps {\n navigate: ReturnType<typeof useNavigate>;\n}\n\ninterface UserSettings {\n telegram: string;\n}\n\ninterface UserProfile {\n data: UserSettings;\n preferences: BrokerPreferences[];\n}\n\nconst ProfilePage: React.FC<ProfilePageProps> = ({ navigate }) => {\n\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState<UserProfile>({ data: { telegram: \"\" }, preferences: [] });\n\n const fetchProfile = useCallback(async () => {\n const response = await getProfile();\n if (response) setData(response);\n setLoading(false);\n }, []);\n\n useEffect(() => {\n document.title = TITLES.PROFILE_PAGE_TITLE;\n fetchProfile();\n }, [fetchProfile]);\n\n const onClick = (name?: string) => {\n if (name) navigate(`/${name}`);\n };\n\n return (\n <Container maxWidth=\"sm\" sx={{ mt: 2, mb: 4 }}>\n <Grid>\n <h4 className=\"page-heading\">Profile Settings</h4>\n <div className=\"broker-settings-help\">\n Please click <LinkButton name=\"help\" text=\"here\" onClick={onClick} /> for help to update your profile settings.\n </div>\n </Grid>\n <Alerts id=\"profile\" className=\"mt-2 mb-4\" />\n <BrokerModal onRefresh={fetchProfile}/>\n <Box sx={{ my: 2 }} />\n {loading ? <LoadingComp /> : \n <Box>\n <BrokersWrapper data={data.preferences} />\n <Box sx={{ my: 2 }} />\n <ProfilePageWrapper data={data.data} />\n </Box>\n }\n </Container>\n );\n};\n\nexport default ProfilePage;"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { login_image_default } from '../chunk-
|
|
2
|
-
import { STATUS_CODE_MESSAGES } from '../chunk-
|
|
3
|
-
import { CUSTOMER_ROUTES } from '../chunk-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { login_image_default } from '../chunk-WZJE5VHZ.js';
|
|
2
|
+
import { STATUS_CODE_MESSAGES } from '../chunk-QE2XW565.js';
|
|
3
|
+
import { CUSTOMER_ROUTES } from '../chunk-QLPZ6FY2.js';
|
|
4
|
+
import { IMAGE_LINKS } from '../chunk-72Y4GEJL.js';
|
|
5
|
+
import { TITLES } from '../chunk-QYP3Y6HE.js';
|
|
6
6
|
import Container from '@mui/material/Container';
|
|
7
7
|
import Card from '@mui/material/Card';
|
|
8
8
|
import Grid from '@mui/material/Grid';
|
|
@@ -32,6 +32,9 @@ var validateLoginForm = (data) => {
|
|
|
32
32
|
if (!data.password) {
|
|
33
33
|
errors["password"] = STATUS_CODE_MESSAGES.PLEASE_ENTER_PASSWORD;
|
|
34
34
|
}
|
|
35
|
+
if (!data.tandc) {
|
|
36
|
+
errors["tandc"] = STATUS_CODE_MESSAGES.TERMS_AND_CONDITIONS;
|
|
37
|
+
}
|
|
35
38
|
alertService.setData(errors);
|
|
36
39
|
return Object.keys(errors).length === 0;
|
|
37
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/signin.page/footer-links.tsx","../../src/components/signin.page/api-calls.tsx","../../src/components/signin.page/business-rules.tsx","../../src/components/signin.page/sign-in.tsx","../../src/pages/signin.page.tsx"],"names":["alertService","username","jsxs","Grid","jsx","LinkButton","useEffect"],"mappings":"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","file":"signin.page.js","sourcesContent":["import Grid from '@mui/material/Grid';\nimport { useNavigate } from 'react-router-dom';\nimport { LinkButton } from \"sspart-fe-lib\";\n\ninterface FooterLinksProps {\n navigate: ReturnType<typeof useNavigate>;\n link1: string;\n title1: string;\n link2: string;\n title2: string;\n}\n\nconst FooterLinks: React.FC<FooterLinksProps> = ({ navigate, link1, title1, link2, title2 }) => {\n \n const onClick = (name?: string) => {\n if (name) navigate(`${name}`);\n };\n\n return (\n <Grid container justifyContent=\"space-between\" alignItems=\"center\">\n <Grid>\n <LinkButton className=\"small-btn-link-p\" name={link1} text={title1} onClick={onClick}/>\n </Grid>\n <Grid>\n <LinkButton className=\"small-btn-link-p\" name={link2} text={title2} onClick={onClick}/>\n </Grid>\n </Grid>\n );\n};\n\nexport default FooterLinks;\n","import { postcall } from \"sspart-fe-lib\";\nimport { CUSTOMER_ROUTES } from \"../../resources/routes\";\n\nexport const login = async (username: string, password: string, tandc: boolean, rememberme: boolean) => {\n return await postcall(CUSTOMER_ROUTES(\"signin\"), { username, password, tandc, rememberme }, \"sign-in\");\n};","import { alertService } from 'sspart-fe-lib';\nimport { STATUS_CODE_MESSAGES } from '../../resources/status';\n\nexport const validateLoginForm = (data: any) => {\n const errors: Record<string, string> = {};\n\n if (!data.username) {\n errors[\"username\"] = STATUS_CODE_MESSAGES.PLEASE_ENTER_USERNAME;\n }\n\n if (!data.password) {\n errors[\"password\"] = STATUS_CODE_MESSAGES.PLEASE_ENTER_PASSWORD;\n }\n\n alertService.setData(errors);\n\n return Object.keys(errors).length === 0;\n};\n","import { useState, useEffect } from \"react\";\nimport Grid from '@mui/material/Grid';\nimport Box from '@mui/material/Box';\nimport FooterLinks from \"./footer-links\";\nimport LoginImage from \"../common/login-image\";\nimport { login } from \"./api-calls\";\nimport { validateLoginForm } from \"./business-rules\";\nimport { alertService, auth, planAuth, setLocalStorage, Alerts,\n Button, PasswordTextbox, Textbox, CheckBox, LinkButton\n } from \"sspart-fe-lib\";\nimport { IMAGE_LINKS } from \"../../resources/images\";\nimport { useNavigate } from \"react-router-dom\";\n\ninterface SignInProps {\n navigate: ReturnType<typeof useNavigate>;\n}\n\nconst SignIn: React.FC<SignInProps> = ({ navigate }) => {\n\n const [validationErrors, setValidationErrors] = useState<Record<string, string>>({});\n const [formData, setFormData] = useState({\n username: \"\",\n password: \"\",\n tandc: false,\n rememberme: false,\n });\n\n useEffect(() => {\n return () => {\n alertService.resetData();\n };\n }, []);\n\n const handleChange = (name: string, value: any) => {\n setFormData({ ...formData, [name]: value });\n };\n\n const handleSubmit = async (e: any) => {\n e.preventDefault();\n if (validateLoginForm(formData)) {\n alertService.resetData();\n const { username, password, tandc, rememberme } = formData;\n const result = await login(username, password, tandc, rememberme);\n if (result && result.username) {\n const { username, fullname, permissions } = result;\n setLocalStorage(\"username\", username);\n setLocalStorage(\"fullname\", fullname);\n planAuth.setData({ username, fullname, permissions });\n auth.authenticate(() => navigate('/dashboard'));\n }\n } else {\n setValidationErrors(alertService.getData());\n }\n };\n\n const onClick = (name?: string) => {\n if (name) navigate(`/${name}`);\n };\n\n return (\n <Grid container direction=\"column\" alignItems=\"center\" justifyContent=\"center\">\n <LoginImage image={IMAGE_LINKS.NAMELOGO} title=\"Sign in\" />\n <Box component=\"form\" onSubmit={handleSubmit} noValidate sx={{ m: 0, width: \"100%\" }}>\n <Alerts id=\"sign-in\" className=\"mt-2 mb-4\"/>\n <Textbox id=\"username\" name=\"username\" type=\"text\" placeholder=\"Username\" size=\"medium\"\n validation={validationErrors.username} value={formData.username}\n onChange={handleChange} mandate={true} />\n <Box sx={{ mb: 2 }}/>\n <PasswordTextbox id=\"password\" name=\"password\" placeholder=\"Password\" size=\"medium\"\n validation={validationErrors.password} value={formData.password}\n onChange={handleChange} mandate={true} />\n <Box sx={{ mb: 2 }}/>\n <CheckBox name=\"rememberme\" label=\"Remember me\" value={formData.rememberme}\n onChange={handleChange} />\n <CheckBox name=\"tandc\" value={formData.tandc} validation={validationErrors.tandc}\n label={<span>I agree to DheQuest's <LinkButton name=\"terms\" text=\"Terms & Conditions\" onClick={onClick}/></span>}\n onChange={handleChange} />\n <Box sx={{ mb: 2 }}/>\n <Button text=\"Sign In\" type=\"submit\"/>\n <Box sx={{ mb: 2 }}/>\n <FooterLinks navigate={navigate} \n link1=\"/user/forget-password\" title1=\"Forgot password?\"\n link2=\"/signup\" title2=\"Don't have an account? Sign Up\" />\n </Box>\n </Grid>\n );\n};\n\nexport default SignIn;","import Container from '@mui/material/Container';\nimport Card from '@mui/material/Card';\nimport Grid from '@mui/material/Grid';\nimport { useEffect } from \"react\";\nimport SignIn from '../components/signin.page/sign-in';\nimport { TITLES } from '../resources/constants';\nimport { useNavigate } from 'react-router-dom';\n\ninterface SigninPageProps {\n navigate: ReturnType<typeof useNavigate>;\n}\n\nconst SigninPage: React.FC<SigninPageProps> = ({ navigate }) => {\n\n\tuseEffect(() => {\n\t\tdocument.title = TITLES.SIGN_IN_PAGE_TITLE;\n\t}, []);\n\n\treturn (\n\t\t<Grid container spacing={0} direction=\"row\" alignItems=\"center\" justifyContent=\"center\" className='full-hw-window'>\n\t\t\t<Container component=\"main\" maxWidth=\"xs\">\n\t\t\t\t<Card >\n\t\t\t\t\t<div className=\"sign-in-card-wrapper modal-body\">\n\t\t\t\t\t\t<SignIn navigate={navigate}/>\n\t\t\t\t\t</div>\n\t\t\t\t</Card>\n\t\t\t</Container>\n\t\t</Grid>\n\t);\n}\n\nexport default SigninPage;"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/signin.page/footer-links.tsx","../../src/components/signin.page/api-calls.tsx","../../src/components/signin.page/business-rules.tsx","../../src/components/signin.page/sign-in.tsx","../../src/pages/signin.page.tsx"],"names":["alertService","username","jsxs","Grid","jsx","LinkButton","useEffect"],"mappings":"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","file":"signin.page.js","sourcesContent":["import Grid from '@mui/material/Grid';\nimport { useNavigate } from 'react-router-dom';\nimport { LinkButton } from \"sspart-fe-lib\";\n\ninterface FooterLinksProps {\n navigate: ReturnType<typeof useNavigate>;\n link1: string;\n title1: string;\n link2: string;\n title2: string;\n}\n\nconst FooterLinks: React.FC<FooterLinksProps> = ({ navigate, link1, title1, link2, title2 }) => {\n \n const onClick = (name?: string) => {\n if (name) navigate(`${name}`);\n };\n\n return (\n <Grid container justifyContent=\"space-between\" alignItems=\"center\">\n <Grid>\n <LinkButton className=\"small-btn-link-p\" name={link1} text={title1} onClick={onClick}/>\n </Grid>\n <Grid>\n <LinkButton className=\"small-btn-link-p\" name={link2} text={title2} onClick={onClick}/>\n </Grid>\n </Grid>\n );\n};\n\nexport default FooterLinks;\n","import { postcall } from \"sspart-fe-lib\";\nimport { CUSTOMER_ROUTES } from \"../../resources/routes\";\n\nexport const login = async (username: string, password: string, tandc: boolean, rememberme: boolean) => {\n return await postcall(CUSTOMER_ROUTES(\"signin\"), { username, password, tandc, rememberme }, \"sign-in\");\n};","import { alertService } from 'sspart-fe-lib';\nimport { STATUS_CODE_MESSAGES } from '../../resources/status';\n\nexport const validateLoginForm = (data: any) => {\n const errors: Record<string, string> = {};\n\n if (!data.username) {\n errors[\"username\"] = STATUS_CODE_MESSAGES.PLEASE_ENTER_USERNAME;\n }\n\n if (!data.password) {\n errors[\"password\"] = STATUS_CODE_MESSAGES.PLEASE_ENTER_PASSWORD;\n }\n\n if (!data.tandc) {\n errors[\"tandc\"] = STATUS_CODE_MESSAGES.TERMS_AND_CONDITIONS;\n }\n\n alertService.setData(errors);\n\n return Object.keys(errors).length === 0;\n};\n","import { useState, useEffect } from \"react\";\nimport Grid from '@mui/material/Grid';\nimport Box from '@mui/material/Box';\nimport FooterLinks from \"./footer-links\";\nimport LoginImage from \"../common/login-image\";\nimport { login } from \"./api-calls\";\nimport { validateLoginForm } from \"./business-rules\";\nimport { alertService, auth, planAuth, setLocalStorage, Alerts,\n Button, PasswordTextbox, Textbox, CheckBox, LinkButton\n } from \"sspart-fe-lib\";\nimport { IMAGE_LINKS } from \"../../resources/images\";\nimport { useNavigate } from \"react-router-dom\";\n\ninterface SignInProps {\n navigate: ReturnType<typeof useNavigate>;\n}\n\nconst SignIn: React.FC<SignInProps> = ({ navigate }) => {\n\n const [validationErrors, setValidationErrors] = useState<Record<string, string>>({});\n const [formData, setFormData] = useState({\n username: \"\",\n password: \"\",\n tandc: false,\n rememberme: false,\n });\n\n useEffect(() => {\n return () => {\n alertService.resetData();\n };\n }, []);\n\n const handleChange = (name: string, value: any) => {\n setFormData({ ...formData, [name]: value });\n };\n\n const handleSubmit = async (e: any) => {\n e.preventDefault();\n if (validateLoginForm(formData)) {\n alertService.resetData();\n const { username, password, tandc, rememberme } = formData;\n const result = await login(username, password, tandc, rememberme);\n if (result && result.username) {\n const { username, fullname, permissions } = result;\n setLocalStorage(\"username\", username);\n setLocalStorage(\"fullname\", fullname);\n planAuth.setData({ username, fullname, permissions });\n auth.authenticate(() => navigate('/dashboard'));\n }\n } else {\n setValidationErrors(alertService.getData());\n }\n };\n\n const onClick = (name?: string) => {\n if (name) navigate(`/${name}`);\n };\n\n return (\n <Grid container direction=\"column\" alignItems=\"center\" justifyContent=\"center\">\n <LoginImage image={IMAGE_LINKS.NAMELOGO} title=\"Sign in\" />\n <Box component=\"form\" onSubmit={handleSubmit} noValidate sx={{ m: 0, width: \"100%\" }}>\n <Alerts id=\"sign-in\" className=\"mt-2 mb-4\"/>\n <Textbox id=\"username\" name=\"username\" type=\"text\" placeholder=\"Username\" size=\"medium\"\n validation={validationErrors.username} value={formData.username}\n onChange={handleChange} mandate={true} />\n <Box sx={{ mb: 2 }}/>\n <PasswordTextbox id=\"password\" name=\"password\" placeholder=\"Password\" size=\"medium\"\n validation={validationErrors.password} value={formData.password}\n onChange={handleChange} mandate={true} />\n <Box sx={{ mb: 2 }}/>\n <CheckBox name=\"rememberme\" label=\"Remember me\" value={formData.rememberme}\n onChange={handleChange} />\n <CheckBox name=\"tandc\" value={formData.tandc} validation={validationErrors.tandc}\n label={<span>I agree to DheQuest's <LinkButton name=\"terms\" text=\"Terms & Conditions\" onClick={onClick}/></span>}\n onChange={handleChange} />\n <Box sx={{ mb: 2 }}/>\n <Button text=\"Sign In\" type=\"submit\"/>\n <Box sx={{ mb: 2 }}/>\n <FooterLinks navigate={navigate} \n link1=\"/user/forget-password\" title1=\"Forgot password?\"\n link2=\"/signup\" title2=\"Don't have an account? Sign Up\" />\n </Box>\n </Grid>\n );\n};\n\nexport default SignIn;","import Container from '@mui/material/Container';\nimport Card from '@mui/material/Card';\nimport Grid from '@mui/material/Grid';\nimport { useEffect } from \"react\";\nimport SignIn from '../components/signin.page/sign-in';\nimport { TITLES } from '../resources/constants';\nimport { useNavigate } from 'react-router-dom';\n\ninterface SigninPageProps {\n navigate: ReturnType<typeof useNavigate>;\n}\n\nconst SigninPage: React.FC<SigninPageProps> = ({ navigate }) => {\n\n\tuseEffect(() => {\n\t\tdocument.title = TITLES.SIGN_IN_PAGE_TITLE;\n\t}, []);\n\n\treturn (\n\t\t<Grid container spacing={0} direction=\"row\" alignItems=\"center\" justifyContent=\"center\" className='full-hw-window'>\n\t\t\t<Container component=\"main\" maxWidth=\"xs\">\n\t\t\t\t<Card >\n\t\t\t\t\t<div className=\"sign-in-card-wrapper modal-body\">\n\t\t\t\t\t\t<SignIn navigate={navigate}/>\n\t\t\t\t\t</div>\n\t\t\t\t</Card>\n\t\t\t</Container>\n\t\t</Grid>\n\t);\n}\n\nexport default SigninPage;"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dq-cus-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -14,9 +14,12 @@
|
|
|
14
14
|
"./pages/landing.page": "./dist/pages/landing.page.js",
|
|
15
15
|
"./pages/signin.page": "./dist/pages/signin.page.js",
|
|
16
16
|
"./pages/layout.page": "./dist/pages/layout.page.js",
|
|
17
|
+
"./pages/broker-account.page": "./dist/pages/broker-account.page.js",
|
|
17
18
|
"./pages/broker-auth.page": "./dist/pages/broker-auth.page.js",
|
|
18
19
|
"./pages/broker-login.page": "./dist/pages/broker-login.page.js",
|
|
19
20
|
"./pages/broker-settings.page": "./dist/pages/broker-settings.page.js",
|
|
21
|
+
"./pages/brokers.page": "./dist/pages/brokers.page.js",
|
|
22
|
+
"./pages/profile.page": "./dist/pages/profile.page.js",
|
|
20
23
|
"./pages/logout-error.page": "./dist/pages/logout-error.page.js",
|
|
21
24
|
"./pages/error.page": "./dist/pages/error.page.js"
|
|
22
25
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/common/login-image.tsx"],"names":[],"mappings":";;;;;AAQA,IAAM,UAAA,GAAwC,CAAC,EAAE,KAAA,EAAO,OAAM,KAAM;AAEhE,EAAA,4BACK,KAAA,EAAA,EACG,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAI,CAAA,EACN,QAAA,kBAAA,GAAA,CAAC,QACG,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EAAe,GAAA,EAAI,KAAA,EAAM,GAAA,EAAK,KAAA,EAAO,GACxD,CAAA,EACJ,CAAA;AAAA,wBACC,IAAA,EAAA,EAAK,EAAA,EAAI,CAAA,EACN,QAAA,kBAAA,GAAA,CAAC,QAAK,SAAA,EAAU,QAAA,EACZ,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAQ,IAAA,EAAK,KAAA,EAAM,sBAAA,EAC1B,QAAA,EAAA,KAAA,EACL,GACJ,CAAA,EACJ;AAAA,GAAA,EACJ,CAAA;AAGR,CAAA;AAEA,IAAO,mBAAA,GAAQ","file":"chunk-4H3O2JGN.js","sourcesContent":["import Typography from '@mui/material/Typography';\nimport Grid from '@mui/material/Grid';\n\ninterface LoginImageProps {\n image: string;\n title: string;\n}\n\nconst LoginImage: React.FC<LoginImageProps> = ({ image, title }) => {\n\n return (\n <div >\n <Grid mt={1}>\n <Grid>\n <img className=\"sign-in-logo\" alt=\"...\" src={image}></img>\n </Grid>\n </Grid>\n <Grid mt={1}>\n <Grid textAlign=\"center\">\n <Typography variant=\"h6\" color=\"var(--primary-color)\">\n {title}\n </Typography>\n </Grid>\n </Grid>\n </div>\n );\n \n}\n\nexport default LoginImage;"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/resources/routes.tsx"],"names":[],"mappings":";;;AAEA,IAAM,SAAA,GAAY;AAAA,EACd,gBAAA,EAAkB,EAAE,OAAA,EAAS,MAAA,EAAQ,MAAM,mBAAA,EAAoB;AAAA,EAC/D,eAAA,EAAiB,EAAE,OAAA,EAAS,MAAA,EAAQ,MAAM,uBAAA,EAAwB;AAAA,EAClE,MAAA,EAAQ,EAAE,OAAA,EAAS,MAAA,EAAQ,MAAM,cAAA;AACrC,CAAA;AAIO,SAAS,gBAAgB,QAAA,EAAoC;AAChE,EAAA,MAAM,MAAA,GAAS,cAAc,OAAA,EAAQ;AAErC,EAAA,MAAM,QAAA,GAAW;AAAA,IACb,MAAM,MAAA,CAAO,iBAAA;AAAA,IACb,OAAO,MAAA,CAAO;AAAA,GAClB;AAEA,EAAA,MAAM,KAAA,GAAQ,UAAU,QAAQ,CAAA;AAChC,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,KAAA,CAAM,OAAO,CAAA;AAEnC,EAAA,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,KAAA,CAAM,IAAI,CAAA,CAAA;AAC/B","file":"chunk-6B3NAL4F.js","sourcesContent":["import { configService } from \"sspart-fe-lib\";\n\nconst ROUTE_MAP = {\n user_broker_auth: { service: \"user\", path: \"/user/broker/auth\" },\n user_broker_set: { service: \"user\", path: \"/user/broker/settings\" },\n signin: { service: \"user\", path: \"/user/signin\" },\n} as const;\n\nexport type CustomerRouteKey = keyof typeof ROUTE_MAP;\n\nexport function CUSTOMER_ROUTES(routeKey: CustomerRouteKey): string {\n const config = configService.getData();\n\n const HOST_MAP = {\n user: config.API_USER_API_HOST,\n trade: config.API_TRADE_API_HOST,\n } as const;\n\n const route = ROUTE_MAP[routeKey];\n const host = HOST_MAP[route.service];\n\n return `${host}${route.path}`;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/resources/images.tsx"],"names":[],"mappings":";AAAO,IAAM,WAAA,GAAc;AAAA,EACvB,UAAA,EAAa,0CAAA;AAAA,EACb,IAAA,EAAM,4CAAA;AAAA,EACN,QAAA,EAAU,iDAAA;AAAA,EACV,SAAA,EAAW,iCAAA;AAAA,EACX,SAAA,EAAW;AACf","file":"chunk-767TKJQF.js","sourcesContent":["export const IMAGE_LINKS = {\n SMALL_ICON : 'https://i.ibb.co/24Qy7m1/Dhe-Quest64.png',\n ICON: \"https://i.ibb.co/60L36htP/Dhe-Quest128.png\",\n NAMELOGO: \"https://i.ibb.co/qYhSRLJ4/Dhe-Quest128-Full.png\",\n WALLPAPER: \"https://i.imgur.com/nBm1Ub3.png\",\n ANGLE_ONE: \"https://i.imgur.com/CIuVKGC.png\",\n}"]}
|
package/dist/chunk-CN3GJW6R.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CUSTOMER_ROUTES } from './chunk-6B3NAL4F.js';
|
|
2
|
-
import { getcall, deletecall, postcall } from 'sspart-fe-lib';
|
|
3
|
-
|
|
4
|
-
var getSettings = async () => {
|
|
5
|
-
return await getcall(CUSTOMER_ROUTES("user_broker_set"), "settings");
|
|
6
|
-
};
|
|
7
|
-
var logoutBroker = async (broker) => {
|
|
8
|
-
return await deletecall(CUSTOMER_ROUTES("user_broker_auth"), { broker }, "settings");
|
|
9
|
-
};
|
|
10
|
-
var updateBrokerAuthData = async (data) => {
|
|
11
|
-
return await postcall(CUSTOMER_ROUTES("user_broker_auth"), data, "broker-auth");
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { getSettings, logoutBroker, updateBrokerAuthData };
|
|
15
|
-
//# sourceMappingURL=chunk-CN3GJW6R.js.map
|
|
16
|
-
//# sourceMappingURL=chunk-CN3GJW6R.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/broker-login.page/api-calls.tsx"],"names":[],"mappings":";;;AAGO,IAAM,cAAc,YAA0B;AACjD,EAAA,OAAO,MAAM,OAAA,CAAQ,eAAA,CAAgB,iBAAiB,GAAG,UAAU,CAAA;AACvE;AAEO,IAAM,YAAA,GAAe,OAAO,MAAA,KAAiC;AAChE,EAAA,OAAO,MAAM,WAAW,eAAA,CAAgB,kBAAkB,GAAG,EAAE,MAAA,IAAU,UAAU,CAAA;AACvF;AAEO,IAAM,oBAAA,GAAuB,OAAO,IAAA,KAA2B;AAClE,EAAA,OAAO,MAAM,QAAA,CAAS,eAAA,CAAgB,kBAAkB,CAAA,EAAG,MAAM,aAAa,CAAA;AAClF","file":"chunk-CN3GJW6R.js","sourcesContent":["import { deletecall, getcall, postcall } from \"sspart-fe-lib\";\nimport { CUSTOMER_ROUTES } from \"../../resources/routes\";\n\nexport const getSettings = async (): Promise<any> => {\n return await getcall(CUSTOMER_ROUTES(\"user_broker_set\"), \"settings\");\n};\n\nexport const logoutBroker = async (broker: string): Promise<any> => {\n return await deletecall(CUSTOMER_ROUTES(\"user_broker_auth\"), { broker }, \"settings\");\n};\n\nexport const updateBrokerAuthData = async (data: {}): Promise<any> => {\n return await postcall(CUSTOMER_ROUTES(\"user_broker_auth\"), data, \"broker-auth\");\n};"]}
|
package/dist/chunk-IBJKEVYR.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// src/resources/status.tsx
|
|
2
|
-
var STATUS_CODE_MESSAGES = {
|
|
3
|
-
PLEASE_ENTER_USERNAME: "Please provide a valid Username",
|
|
4
|
-
PLEASE_ENTER_PASSWORD: "Please provide a valid Password",
|
|
5
|
-
PLEASE_ENTER_OTP: "Please provide a valid OTP",
|
|
6
|
-
BROKER_LOGIN_SUCCESS_MESSAGE: "Login successful, You can now place orders with your broker. Please use our help section to explore how to place orders and GTT orders.",
|
|
7
|
-
INVALID_BROKER_SELECTED: "Incorrect broker selected, please try again with a valid broker"
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export { STATUS_CODE_MESSAGES };
|
|
11
|
-
//# sourceMappingURL=chunk-IBJKEVYR.js.map
|
|
12
|
-
//# sourceMappingURL=chunk-IBJKEVYR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/resources/status.tsx"],"names":[],"mappings":";AAAO,IAAM,oBAAA,GAAuB;AAAA,EAChC,qBAAA,EAAuB,iCAAA;AAAA,EACvB,qBAAA,EAAuB,iCAAA;AAAA,EACvB,gBAAA,EAAkB,4BAAA;AAAA,EAClB,4BAAA,EAA8B,yIAAA;AAAA,EAC9B,uBAAA,EAAyB;AAC7B","file":"chunk-IBJKEVYR.js","sourcesContent":["export const STATUS_CODE_MESSAGES = {\n PLEASE_ENTER_USERNAME: \"Please provide a valid Username\",\n PLEASE_ENTER_PASSWORD: \"Please provide a valid Password\",\n PLEASE_ENTER_OTP: \"Please provide a valid OTP\",\n BROKER_LOGIN_SUCCESS_MESSAGE: \"Login successful, You can now place orders with your broker. Please use our help section to explore how to place orders and GTT orders.\",\n INVALID_BROKER_SELECTED: \"Incorrect broker selected, please try again with a valid broker\",\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/resources/constants.tsx"],"names":[],"mappings":";AAAO,IAAM,MAAA,GAAS;AAAA,EAClB,kBAAA,EAAoB,4GAAA;AAAA,EACpB,oBAAA,EAAsB,2EAAA;AAAA,EACtB,0BAAA,EAA4B,qDAAA;AAAA,EAC5B,sBAAA,EAAwB,qEAAA;AAAA,EACxB,uBAAA,EAAyB,+CAAA;AAAA,EACzB,kBAAA,EAAoB,gEAAA;AAAA,EACpB,gBAAA,EAAkB;AACtB;AAEO,IAAM,SAAA,GAAY","file":"chunk-PWBSF4OA.js","sourcesContent":["export const TITLES = {\n LANDING_PAGE_TITLE: \"DheQuest | Analyze and Automate Your Trades with Precision, Maximize Profits, and Stay Ahead of the Market\",\n DASHBOARD_PAGE_TITLE: \"DheQuest | Your Trading Dashboard - Insights, Performance, and Automation\",\n BROKER_SETTINGS_PAGE_TITLE: \"DheQuest | Broker Settings - Manage Broker Login(s)\",\n BROKER_AUTH_PAGE_TITLE: \"DheQuest | Broker Authentication - Broker Authentication Management\",\n BROKER_LOGIN_PAGE_TITLE: \"DheQuest | Broker Login - Manage Broker Login\",\n SIGN_IN_PAGE_TITLE: \"DheQuest | Securely Sign In to Your Automated Trading Platform\",\n ERROR_PAGE_TITLE: \"DheQuest | Oops! Something Went Wrong\",\n};\n\nexport const ON_RESIZE = 900;"]}
|