@mx-cartographer/experiences 9.3.1-alpha.al0 → 9.3.1

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +2 -7
  2. package/dist/cashflow/CashflowOnboarding.es.js +1 -1
  3. package/dist/core/api/SettingsApi.d.ts +0 -4
  4. package/dist/core/api/SettingsApi.es.js +4 -5
  5. package/dist/core/api/SettingsApi.es.js.map +1 -1
  6. package/dist/core/constants/ApiEndpoints.d.ts +0 -1
  7. package/dist/core/constants/ApiEndpoints.es.js +0 -1
  8. package/dist/core/constants/ApiEndpoints.es.js.map +1 -1
  9. package/dist/core/stores/CategoryStore.es.js +46 -46
  10. package/dist/core/stores/CategoryStore.es.js.map +1 -1
  11. package/dist/core/stores/FinstrongStore.es.js +1 -1
  12. package/dist/core/stores/SettingsStore.d.ts +0 -4
  13. package/dist/core/stores/SettingsStore.es.js +73 -80
  14. package/dist/core/stores/SettingsStore.es.js.map +1 -1
  15. package/dist/core/types/localization/SettingsCopy.d.ts +0 -6
  16. package/dist/core/utils/DateUtil.d.ts +1 -0
  17. package/dist/core/utils/DateUtil.es.js +48 -47
  18. package/dist/core/utils/DateUtil.es.js.map +1 -1
  19. package/dist/core/utils/DebtUtils.es.js +6 -6
  20. package/dist/core/utils/GoalsUtil.es.js +1 -1
  21. package/dist/core/utils/RecurringTransactionsUtil.es.js +5 -5
  22. package/dist/core/utils/TransactionUtils.es.js +1 -1
  23. package/dist/goals/components/actions/BirthdayAction.es.js +1 -1
  24. package/dist/recurringtransactions/components/RecurringTransactionList.es.js +4 -4
  25. package/dist/settings/components/profile/ProfileTab.d.ts +1 -1
  26. package/dist/settings/components/profile/ProfileTab.es.js +108 -115
  27. package/dist/settings/components/profile/ProfileTab.es.js.map +1 -1
  28. package/dist/settings/components/profile/actions/VerifyEmailAction.es.js +37 -20
  29. package/dist/settings/components/profile/actions/VerifyEmailAction.es.js.map +1 -1
  30. package/dist/settings/components/profile/actions/VerifyPhoneAction.es.js +17 -11
  31. package/dist/settings/components/profile/actions/VerifyPhoneAction.es.js.map +1 -1
  32. package/dist/settings/constants/Settings.d.ts +0 -8
  33. package/dist/settings/constants/Settings.es.js +3 -10
  34. package/dist/settings/constants/Settings.es.js.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/settings/components/profile/actions/ResetPasswordAction.d.ts +0 -4
  37. package/dist/settings/components/profile/actions/ResetPasswordAction.es.js +0 -94
  38. package/dist/settings/components/profile/actions/ResetPasswordAction.es.js.map +0 -1
@@ -4,8 +4,8 @@ import { ListItemAction as v } from "../../../common/components/ListItemAction.e
4
4
  import i from "react";
5
5
  import { observer as A } from "mobx-react-lite";
6
6
  import { jsx as o } from "react/jsx-runtime";
7
- import { getUnixTime as T } from "date-fns/getUnixTime";
8
7
  import { fromUnixTime as s } from "date-fns/fromUnixTime";
8
+ import { getUnixTime as T } from "date-fns/getUnixTime";
9
9
  import { AdapterDateFns as x } from "@mui/x-date-pickers/AdapterDateFnsV3";
10
10
  import { DatePicker as D } from "@mui/x-date-pickers";
11
11
  import { LocalizationProvider as g } from "@mui/x-date-pickers/LocalizationProvider";
@@ -10,8 +10,8 @@ import { MerchantLogo as P, Text as a } from "@mxenabled/mxui";
10
10
  import { Cancel as U, CheckCircle as B, Icon as Y } from "@mxenabled/mx-icons";
11
11
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
12
12
  import F from "@mui/material/IconButton";
13
- import { getUnixTime as H } from "date-fns/getUnixTime";
14
- import { fromUnixTime as W } from "date-fns/fromUnixTime";
13
+ import { fromUnixTime as H } from "date-fns/fromUnixTime";
14
+ import { getUnixTime as W } from "date-fns/getUnixTime";
15
15
  import $ from "@mui/material/Divider";
16
16
  import K from "@mui/material/List";
17
17
  import V from "@mui/material/ListItemText";
@@ -33,7 +33,7 @@ var X = (d, u) => {
33
33
  key: `missed-${e.expectedDate.getTime()}`,
34
34
  name: e.name,
35
35
  amount: e.amount,
36
- date: H(e.expectedDate),
36
+ date: W(e.expectedDate),
37
37
  merchantGuid: e.merchantGuid,
38
38
  categoryGuid: e.categoryGuid,
39
39
  category: "",
@@ -88,7 +88,7 @@ var X = (d, u) => {
88
88
  justifyContent: "space-between",
89
89
  children: [/* @__PURE__ */ r(a, {
90
90
  variant: "caption",
91
- children: E(W(t.date), A.MONTH_DAY_YEAR)
91
+ children: E(H(t.date), A.MONTH_DAY_YEAR)
92
92
  }), /* @__PURE__ */ i(l, {
93
93
  alignItems: "center",
94
94
  direction: "row",
@@ -1,7 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  interface ProfileFormProps {
3
3
  availableWidth?: number;
4
- handleOnLeaveClick?: () => void;
4
+ handleOnLeavClick?: () => void;
5
5
  }
6
6
  declare const _default: React.FunctionComponent<ProfileFormProps>;
7
7
  export default _default;
@@ -1,185 +1,178 @@
1
- import { useAppConfig as B, useGlobalCopyStore as F, useSettingsStore as L, useUserStore as M } from "../../../common/context/hooks.es.js";
2
- import { useScreenSize as R } from "../../../common/hooks/useScreenSize.es.js";
3
- import z from "../../../common/components/dialog/Dialog.es.js";
4
- import I from "./actions/ResetPasswordAction.es.js";
5
- import N from "./actions/VerifyEmailAction.es.js";
6
- import j from "./actions/VerifyPhoneAction.es.js";
1
+ import { useAppConfig as L, useGlobalCopyStore as z, useSettingsStore as I, useUserStore as R } from "../../../common/context/hooks.es.js";
2
+ import { useScreenSize as N } from "../../../common/hooks/useScreenSize.es.js";
3
+ import j from "../../../common/components/dialog/Dialog.es.js";
4
+ import H from "./actions/VerifyEmailAction.es.js";
5
+ import J from "./actions/VerifyPhoneAction.es.js";
7
6
  import p from "react";
8
- import { observer as H } from "mobx-react-lite";
9
- import l from "@mui/material/Stack";
10
- import { H3 as J, P as O } from "@mxenabled/mxui";
11
- import $ from "@mui/material/Button";
12
- import { Fragment as G, jsx as t, jsxs as i } from "react/jsx-runtime";
13
- import { alpha as b, useTheme as K } from "@mui/material/styles";
14
- import Y from "@mui/material/Box";
15
- import { getUnixTime as q } from "date-fns/getUnixTime";
16
- import d from "@mui/material/TextField";
17
- import { AdapterDateFns as Q } from "@mui/x-date-pickers/AdapterDateFnsV3";
18
- import { DatePicker as W } from "@mui/x-date-pickers";
19
- import { LocalizationProvider as X } from "@mui/x-date-pickers/LocalizationProvider";
20
- var Z = ({ availableWidth: C, handleOnLeaveClick: f }) => {
21
- const u = K(), { common: w, settings: o } = F(), { isMobile: c } = R(C), { config: h } = B(), { updateUser: S } = L(), { user: r } = M(), [a, U] = p.useState({
22
- first_name: r.first_name,
23
- last_name: r.last_name,
24
- email: r.email,
25
- phone: r.phone,
26
- birthday: r.birthday,
27
- postal_code: r.postal_code,
28
- credit_score: r.credit_score
29
- }), [m, y] = p.useState(!1), [P, g] = p.useState(!1), _ = p.useRef(null), v = a.email && !r.email_is_verified && !m, x = a.phone && !r.phone_is_verified && !m;
7
+ import { observer as O } from "mobx-react-lite";
8
+ import d from "@mui/material/Stack";
9
+ import { H3 as $, P as G } from "@mxenabled/mxui";
10
+ import K from "@mui/material/Button";
11
+ import { Fragment as Y, jsx as t, jsxs as i } from "react/jsx-runtime";
12
+ import { alpha as b, useTheme as q } from "@mui/material/styles";
13
+ import Q from "@mui/material/Box";
14
+ import { getUnixTime as W } from "date-fns/getUnixTime";
15
+ import m from "@mui/material/TextField";
16
+ import { AdapterDateFns as X } from "@mui/x-date-pickers/AdapterDateFnsV3";
17
+ import { DatePicker as Z } from "@mui/x-date-pickers";
18
+ import { LocalizationProvider as ee } from "@mui/x-date-pickers/LocalizationProvider";
19
+ var te = ({ availableWidth: T, handleOnLeavClick: u }) => {
20
+ const f = q(), { common: U, settings: o } = z(), { isDesktop: y, isMobile: s, isSmallMobile: h, isTablet: v } = N(T), { config: x } = L(), { updateUser: D } = I(), { user: a } = R(), [r, V] = p.useState({
21
+ first_name: a.first_name,
22
+ last_name: a.last_name,
23
+ email: a.email,
24
+ phone: a.phone,
25
+ birthday: a.birthday,
26
+ postal_code: a.postal_code,
27
+ credit_score: a.credit_score
28
+ }), [c, C] = p.useState(!1), [k, g] = p.useState(!1), _ = p.useRef(null), w = r.email && !a.email_is_verified && !c, S = r.phone && !a.phone_is_verified && !c;
30
29
  p.useEffect(() => {
31
- if (f) {
32
- const e = (s) => {
33
- _.current && !_.current.contains(s.target) && m && g(!0);
30
+ if (u) {
31
+ const e = (l) => {
32
+ _.current && !_.current.contains(l.target) && c && g(!0);
34
33
  };
35
34
  return document.addEventListener("mousedown", e), () => {
36
35
  document.removeEventListener("mousedown", e);
37
36
  };
38
37
  }
39
- }, [m]);
40
- const T = () => {
41
- if (a.birthday) {
42
- const e = /* @__PURE__ */ new Date(a.birthday * 1e3), s = e.getUTCFullYear(), A = e.getUTCMonth(), E = e.getUTCDate();
43
- return new Date(s, A, E);
38
+ }, [c]);
39
+ const P = () => {
40
+ if (r.birthday) {
41
+ const e = /* @__PURE__ */ new Date(r.birthday * 1e3), l = e.getUTCFullYear(), F = e.getUTCMonth(), M = e.getUTCDate();
42
+ return new Date(l, F, M);
44
43
  }
45
- }, V = async () => {
46
- await S({
47
- ...r,
48
- ...a
49
- }), y(!1);
50
- }, D = () => {
51
- g(!1), f && f();
52
- }, k = () => {
44
+ }, E = async () => {
45
+ await D({
46
+ ...a,
47
+ ...r
48
+ }), C(!1);
49
+ }, A = () => {
50
+ g(!1), u && u();
51
+ }, B = () => {
53
52
  g(!1);
54
53
  }, n = (e) => {
55
- const s = {
56
- ...a,
54
+ const l = {
55
+ ...r,
57
56
  ...e
58
57
  };
59
- U(s), y(JSON.stringify({
60
- ...r,
61
- ...s
62
- }) !== JSON.stringify(r));
58
+ V(l), C(JSON.stringify({
59
+ ...a,
60
+ ...l
61
+ }) !== JSON.stringify(a));
63
62
  };
64
- return /* @__PURE__ */ i(G, { children: [/* @__PURE__ */ i(Y, {
63
+ return /* @__PURE__ */ i(Y, { children: [/* @__PURE__ */ i(Q, {
65
64
  component: "form",
66
65
  ref: _,
67
66
  sx: {
68
67
  backgroundColor: "background.paper",
69
68
  p: 24,
70
- "& .MuiTextField-root": { flex: 1 }
69
+ width: h ? 320 : v ? 680 : y ? 990 : 400,
70
+ "& .MuiTextField-root": { width: h ? 272 : v ? 328 : y ? 483 : 352 }
71
71
  },
72
72
  children: [
73
- /* @__PURE__ */ t(J, { children: o.personal_details }),
74
- /* @__PURE__ */ t(O, {
73
+ /* @__PURE__ */ t($, { children: o.personal_details }),
74
+ /* @__PURE__ */ t(G, {
75
75
  variant: "body1",
76
76
  children: o.update_information
77
77
  }),
78
- /* @__PURE__ */ i(l, {
79
- direction: c ? "column" : "row",
80
- spacing: 24,
78
+ /* @__PURE__ */ i(d, {
79
+ direction: s ? "column" : "row",
80
+ spacing: s ? 44 : 24,
81
81
  sx: {
82
- mb: 24,
83
- pt: 24
82
+ mb: 44,
83
+ pt: 32
84
84
  },
85
- children: [/* @__PURE__ */ t(d, {
86
- defaultValue: a.first_name,
85
+ children: [/* @__PURE__ */ t(m, {
86
+ defaultValue: r.first_name,
87
87
  label: o.first_name,
88
88
  onChange: (e) => n({ first_name: e.target.value })
89
- }), /* @__PURE__ */ t(d, {
90
- defaultValue: a.last_name,
89
+ }), /* @__PURE__ */ t(m, {
90
+ defaultValue: r.last_name,
91
91
  label: o.last_name,
92
92
  onChange: (e) => n({ last_name: e.target.value })
93
93
  })]
94
94
  }),
95
- /* @__PURE__ */ i(l, {
96
- direction: c ? "column" : "row",
97
- children: [h.display_email_edit_field_in_settings && /* @__PURE__ */ i(l, {
95
+ /* @__PURE__ */ i(d, {
96
+ direction: s ? "column" : "row",
97
+ children: [x.display_email_edit_field_in_settings && /* @__PURE__ */ i(d, {
98
98
  sx: {
99
- flex: 1,
100
- mb: v ? 20 : 24,
101
- mr: c ? 0 : 24
99
+ mb: w ? 20 : 44,
100
+ mr: s ? 0 : 24
102
101
  },
103
- children: [/* @__PURE__ */ t(d, {
104
- defaultValue: a.email,
102
+ children: [/* @__PURE__ */ t(m, {
103
+ defaultValue: r.email,
105
104
  label: o.email_address,
106
105
  onChange: (e) => n({ email: e.target.value })
107
- }), v && /* @__PURE__ */ t(N, {})]
108
- }), h.display_sms_edit_field_in_settings && /* @__PURE__ */ i(l, {
109
- sx: {
110
- flex: 1,
111
- mb: x ? 20 : 24
112
- },
113
- children: [/* @__PURE__ */ t(d, {
114
- defaultValue: a.phone,
106
+ }), w && /* @__PURE__ */ t(H, {})]
107
+ }), x.display_sms_edit_field_in_settings && /* @__PURE__ */ i(d, {
108
+ sx: { mb: S ? 20 : 44 },
109
+ children: [/* @__PURE__ */ t(m, {
110
+ defaultValue: r.phone,
115
111
  label: o.mobile_number,
116
112
  onChange: (e) => n({ phone: e.target.value }),
117
113
  type: "tel"
118
- }), x && /* @__PURE__ */ t(j, {})]
114
+ }), S && /* @__PURE__ */ t(J, {})]
119
115
  })]
120
116
  }),
121
- /* @__PURE__ */ i(l, {
122
- direction: c ? "column" : "row",
123
- spacing: 24,
124
- sx: { mb: 24 },
125
- children: [/* @__PURE__ */ t(X, {
126
- dateAdapter: Q,
127
- children: /* @__PURE__ */ t(W, {
117
+ /* @__PURE__ */ i(d, {
118
+ direction: s ? "column" : "row",
119
+ spacing: s ? 44 : 24,
120
+ sx: { mb: 44 },
121
+ children: [/* @__PURE__ */ t(ee, {
122
+ dateAdapter: X,
123
+ children: /* @__PURE__ */ t(Z, {
128
124
  label: o.birthdate,
129
- onChange: (e) => n({ birthday: q(e) }),
125
+ onChange: (e) => n({ birthday: W(e) }),
130
126
  slotProps: {
131
127
  nextIconButton: { sx: {
132
128
  color: "primary.main",
133
- "&:hover": { backgroundColor: b(u.palette.primary.light, 0.1) }
129
+ "&:hover": { backgroundColor: b(f.palette.primary.light, 0.1) }
134
130
  } },
135
131
  previousIconButton: { sx: {
136
132
  color: "primary.main",
137
- "&:hover": { backgroundColor: b(u.palette.primary.light, 0.1) }
133
+ "&:hover": { backgroundColor: b(f.palette.primary.light, 0.1) }
138
134
  } }
139
135
  },
140
136
  sx: {
141
137
  width: "100%",
142
138
  "& .MuiIconButton-edgeEnd": {
143
139
  color: "primary.main",
144
- "&:hover": { backgroundColor: b(u.palette.primary.light, 0.1) }
140
+ "&:hover": { backgroundColor: b(f.palette.primary.light, 0.1) }
145
141
  }
146
142
  },
147
- value: T()
143
+ value: P()
148
144
  })
149
- }), /* @__PURE__ */ t(d, {
150
- defaultValue: a.postal_code,
145
+ }), /* @__PURE__ */ t(m, {
146
+ defaultValue: r.postal_code,
151
147
  label: o.zip_code,
152
148
  onChange: (e) => n({ postal_code: e.target.value })
153
149
  })]
154
150
  }),
155
- /* @__PURE__ */ i(l, { children: [
156
- /* @__PURE__ */ t(d, {
157
- defaultValue: a.credit_score,
158
- label: o.credit_score,
159
- onChange: (e) => n({ credit_score: Number(e.target.value) })
160
- }),
161
- h.display_password_options_in_settings && /* @__PURE__ */ t(I, {}),
162
- /* @__PURE__ */ t($, {
163
- disabled: !m,
164
- onClick: V,
165
- sx: { width: c ? "100%" : 124 },
166
- variant: "contained",
167
- children: w.save_button
168
- })
169
- ] })
151
+ /* @__PURE__ */ i(d, { children: [/* @__PURE__ */ t(m, {
152
+ defaultValue: r.credit_score,
153
+ label: o.credit_score,
154
+ onChange: (e) => n({ credit_score: Number(e.target.value) }),
155
+ sx: { mb: 44 }
156
+ }), /* @__PURE__ */ t(K, {
157
+ disabled: !c,
158
+ onClick: E,
159
+ sx: { width: h ? 272 : 124 },
160
+ variant: "contained",
161
+ children: U.save_button
162
+ })] })
170
163
  ]
171
- }), /* @__PURE__ */ t(z, {
164
+ }), /* @__PURE__ */ t(j, {
172
165
  copy: { title: o.discard_changes },
173
- isOpen: P,
174
- onClose: k,
175
- onSecondaryAction: D,
166
+ isOpen: k,
167
+ onClose: B,
168
+ onSecondaryAction: A,
176
169
  primaryText: o.keep_editing,
177
170
  secondaryText: o.leave,
178
171
  children: o.discard_changes_message
179
172
  })] });
180
- }, ye = H(Z);
173
+ }, ve = O(te);
181
174
  export {
182
- ye as default
175
+ ve as default
183
176
  };
184
177
 
185
178
  //# sourceMappingURL=ProfileTab.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileTab.es.js","names":[],"sources":["../../../../src/settings/components/profile/ProfileTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { getUnixTime } from 'date-fns/getUnixTime'\n\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\nimport { DatePicker } from '@mui/x-date-pickers'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\n\nimport { alpha, useTheme } from '@mui/material/styles'\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\n\nimport { H3, P } from '@mxenabled/mxui'\n\nimport {\n useAppConfig,\n useGlobalCopyStore,\n useScreenSize,\n useSettingsStore,\n useUserStore,\n Dialog,\n} from '../../../common'\nimport { type EditableUser } from '../../../core'\nimport ResetPasswordAction from './actions/ResetPasswordAction'\nimport VerifyEmailAction from './actions/VerifyEmailAction'\nimport VerifyPhoneAction from './actions/VerifyPhoneAction'\n\ninterface ProfileFormProps {\n availableWidth?: number\n handleOnLeaveClick?: () => void\n}\n\ntype UserInput = {\n [U in keyof EditableUser]: EditableUser[U]\n}\n\nconst ProfileForm: React.FC<ProfileFormProps> = ({ availableWidth, handleOnLeaveClick }) => {\n const theme = useTheme()\n const { common: commonCopy, settings: settingsCopy } = useGlobalCopyStore()\n const { isMobile } = useScreenSize(availableWidth)\n const { config } = useAppConfig()\n const { updateUser } = useSettingsStore()\n const { user } = useUserStore()\n\n const [modifiedUser, setModifiedUser] = React.useState<EditableUser>({\n first_name: user.first_name,\n last_name: user.last_name,\n email: user.email,\n phone: user.phone,\n birthday: user.birthday,\n postal_code: user.postal_code,\n credit_score: user.credit_score,\n })\n const [hasUnsavedChanges, setHasUnsavedChanges] = React.useState(false)\n const [showLeaveDialog, setShowLeaveDialog] = React.useState(false)\n const boxRef = React.useRef<HTMLDivElement>(null)\n\n const showVerifyEmail = modifiedUser.email && !user.email_is_verified && !hasUnsavedChanges\n const showVerifyPhone = modifiedUser.phone && !user.phone_is_verified && !hasUnsavedChanges\n\n React.useEffect(() => {\n if (handleOnLeaveClick) {\n const handleClickOutside = (event: MouseEvent) => {\n if (boxRef.current && !boxRef.current.contains(event.target as Node) && hasUnsavedChanges) {\n setShowLeaveDialog(true)\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }\n return undefined\n }, [hasUnsavedChanges])\n\n // eslint-disable-next-line consistent-return\n const formatReadableBirthday = () => {\n if (modifiedUser.birthday) {\n const utc = new Date(modifiedUser.birthday * 1000)\n const year = utc.getUTCFullYear()\n const month = utc.getUTCMonth()\n const day = utc.getUTCDate()\n return new Date(year, month, day)\n }\n }\n\n const handleSave = async () => {\n await updateUser({ ...user, ...modifiedUser })\n setHasUnsavedChanges(false)\n }\n\n const handleLeaveDialog = () => {\n setShowLeaveDialog(false)\n\n if (handleOnLeaveClick) {\n handleOnLeaveClick()\n }\n }\n\n const handleKeepEditing = () => {\n setShowLeaveDialog(false)\n }\n\n const handleInput = (update: UserInput) => {\n const changedUser = {\n ...modifiedUser,\n ...update,\n }\n setModifiedUser(changedUser)\n setHasUnsavedChanges(JSON.stringify({ ...user, ...changedUser }) !== JSON.stringify(user))\n }\n\n return (\n <>\n <Box\n component=\"form\"\n ref={boxRef}\n sx={{\n backgroundColor: 'background.paper',\n p: 24,\n '& .MuiTextField-root': {\n flex: 1,\n },\n }}\n >\n <H3>{settingsCopy.personal_details}</H3>\n <P variant=\"body1\">{settingsCopy.update_information}</P>\n <Stack direction={isMobile ? 'column' : 'row'} spacing={24} sx={{ mb: 24, pt: 24 }}>\n <TextField\n defaultValue={modifiedUser.first_name}\n label={settingsCopy.first_name}\n onChange={(e) => handleInput({ first_name: e.target.value })}\n />\n <TextField\n defaultValue={modifiedUser.last_name}\n label={settingsCopy.last_name}\n onChange={(e) => handleInput({ last_name: e.target.value })}\n />\n </Stack>\n <Stack direction={isMobile ? 'column' : 'row'}>\n {config.display_email_edit_field_in_settings && (\n <Stack sx={{ flex: 1, mb: showVerifyEmail ? 20 : 24, mr: isMobile ? 0 : 24 }}>\n <TextField\n defaultValue={modifiedUser.email}\n label={settingsCopy.email_address}\n onChange={(e) => handleInput({ email: e.target.value })}\n />\n {showVerifyEmail && <VerifyEmailAction />}\n </Stack>\n )}\n {config.display_sms_edit_field_in_settings && (\n <Stack sx={{ flex: 1, mb: showVerifyPhone ? 20 : 24 }}>\n <TextField\n defaultValue={modifiedUser.phone}\n label={settingsCopy.mobile_number}\n onChange={(e) => handleInput({ phone: e.target.value })}\n type=\"tel\"\n />\n {showVerifyPhone && <VerifyPhoneAction />}\n </Stack>\n )}\n </Stack>\n <Stack direction={isMobile ? 'column' : 'row'} spacing={24} sx={{ mb: 24 }}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DatePicker\n label={settingsCopy.birthdate}\n onChange={(value) => handleInput({ birthday: getUnixTime(value as Date) })}\n slotProps={{\n nextIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { backgroundColor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n previousIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { backgroundColor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n }}\n sx={{\n width: '100%',\n '& .MuiIconButton-edgeEnd': {\n color: 'primary.main',\n '&:hover': { backgroundColor: alpha(theme.palette.primary.light, 0.1) },\n },\n }}\n value={formatReadableBirthday()}\n />\n </LocalizationProvider>\n <TextField\n defaultValue={modifiedUser.postal_code}\n label={settingsCopy.zip_code}\n onChange={(e) => handleInput({ postal_code: e.target.value })}\n />\n </Stack>\n <Stack>\n <TextField\n defaultValue={modifiedUser.credit_score}\n label={settingsCopy.credit_score}\n onChange={(e) => handleInput({ credit_score: Number(e.target.value) })}\n />\n {config.display_password_options_in_settings && <ResetPasswordAction />}\n <Button\n disabled={!hasUnsavedChanges}\n onClick={handleSave}\n sx={{ width: isMobile ? '100%' : 124 }}\n variant=\"contained\"\n >\n {commonCopy.save_button}\n </Button>\n </Stack>\n </Box>\n <Dialog\n copy={{ title: settingsCopy.discard_changes }}\n isOpen={showLeaveDialog}\n onClose={handleKeepEditing}\n onSecondaryAction={handleLeaveDialog}\n primaryText={settingsCopy.keep_editing}\n secondaryText={settingsCopy.leave}\n >\n {settingsCopy.discard_changes_message}\n </Dialog>\n </>\n )\n}\n\nexport default observer(ProfileForm)\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProfileTab.es.js","names":[],"sources":["../../../../src/settings/components/profile/ProfileTab.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\n\nimport React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { getUnixTime } from 'date-fns/getUnixTime'\n\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\nimport { DatePicker } from '@mui/x-date-pickers'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\n\nimport { alpha, useTheme } from '@mui/material/styles'\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\n\nimport { H3, P } from '@mxenabled/mxui'\n\nimport {\n useAppConfig,\n useGlobalCopyStore,\n useScreenSize,\n useSettingsStore,\n useUserStore,\n Dialog,\n} from '../../../common'\nimport { type EditableUser } from '../../../core'\nimport VerifyEmailAction from './actions/VerifyEmailAction'\nimport VerifyPhoneAction from './actions/VerifyPhoneAction'\n\ninterface ProfileFormProps {\n availableWidth?: number\n handleOnLeavClick?: () => void\n}\n\ntype UserInput = {\n [U in keyof EditableUser]: EditableUser[U]\n}\n\nconst ProfileForm: React.FC<ProfileFormProps> = ({ availableWidth, handleOnLeavClick }) => {\n const theme = useTheme()\n const { common: commonCopy, settings: settingsCopy } = useGlobalCopyStore()\n const { isDesktop, isMobile, isSmallMobile, isTablet } = useScreenSize(availableWidth)\n const { config } = useAppConfig()\n const { updateUser } = useSettingsStore()\n const { user } = useUserStore()\n\n const [modifiedUser, setModifiedUser] = React.useState<EditableUser>({\n first_name: user.first_name,\n last_name: user.last_name,\n email: user.email,\n phone: user.phone,\n birthday: user.birthday,\n postal_code: user.postal_code,\n credit_score: user.credit_score,\n })\n const [hasUnsavedChanges, setHasUnsavedChanges] = React.useState(false)\n const [showLeaveDialog, setShowLeaveDialog] = React.useState(false)\n const boxRef = React.useRef<HTMLDivElement>(null)\n\n const showVerifyEmail = modifiedUser.email && !user.email_is_verified && !hasUnsavedChanges\n const showVerifyPhone = modifiedUser.phone && !user.phone_is_verified && !hasUnsavedChanges\n\n React.useEffect(() => {\n if (handleOnLeavClick) {\n const handleClickOutside = (event: MouseEvent) => {\n if (boxRef.current && !boxRef.current.contains(event.target as Node) && hasUnsavedChanges) {\n setShowLeaveDialog(true)\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }\n return undefined\n }, [hasUnsavedChanges])\n\n // eslint-disable-next-line consistent-return\n const formatReadableBirthday = () => {\n if (modifiedUser.birthday) {\n const utc = new Date(modifiedUser.birthday * 1000)\n const year = utc.getUTCFullYear()\n const month = utc.getUTCMonth()\n const day = utc.getUTCDate()\n return new Date(year, month, day)\n }\n }\n\n const handleSave = async () => {\n await updateUser({ ...user, ...modifiedUser })\n setHasUnsavedChanges(false)\n }\n\n const handleLeaveDialog = () => {\n setShowLeaveDialog(false)\n\n if (handleOnLeavClick) {\n handleOnLeavClick()\n }\n }\n\n const handleKeepEditing = () => {\n setShowLeaveDialog(false)\n }\n\n const handleInput = (update: UserInput) => {\n const changedUser = {\n ...modifiedUser,\n ...update,\n }\n setModifiedUser(changedUser)\n setHasUnsavedChanges(JSON.stringify({ ...user, ...changedUser }) !== JSON.stringify(user))\n }\n\n return (\n <>\n <Box\n component=\"form\"\n ref={boxRef}\n sx={{\n backgroundColor: 'background.paper',\n p: 24,\n width: isSmallMobile ? 320 : isTablet ? 680 : isDesktop ? 990 : 400,\n '& .MuiTextField-root': {\n width: isSmallMobile ? 272 : isTablet ? 328 : isDesktop ? 483 : 352,\n },\n }}\n >\n <H3>{settingsCopy.personal_details}</H3>\n <P variant=\"body1\">{settingsCopy.update_information}</P>\n <Stack\n direction={isMobile ? 'column' : 'row'}\n spacing={isMobile ? 44 : 24}\n sx={{ mb: 44, pt: 32 }}\n >\n <TextField\n defaultValue={modifiedUser.first_name}\n label={settingsCopy.first_name}\n onChange={(e) => handleInput({ first_name: e.target.value })}\n />\n <TextField\n defaultValue={modifiedUser.last_name}\n label={settingsCopy.last_name}\n onChange={(e) => handleInput({ last_name: e.target.value })}\n />\n </Stack>\n <Stack direction={isMobile ? 'column' : 'row'}>\n {config.display_email_edit_field_in_settings && (\n <Stack sx={{ mb: showVerifyEmail ? 20 : 44, mr: isMobile ? 0 : 24 }}>\n <TextField\n defaultValue={modifiedUser.email}\n label={settingsCopy.email_address}\n onChange={(e) => handleInput({ email: e.target.value })}\n />\n {showVerifyEmail && <VerifyEmailAction />}\n </Stack>\n )}\n {config.display_sms_edit_field_in_settings && (\n <Stack sx={{ mb: showVerifyPhone ? 20 : 44 }}>\n <TextField\n defaultValue={modifiedUser.phone}\n label={settingsCopy.mobile_number}\n onChange={(e) => handleInput({ phone: e.target.value })}\n type=\"tel\"\n />\n {showVerifyPhone && <VerifyPhoneAction />}\n </Stack>\n )}\n </Stack>\n <Stack direction={isMobile ? 'column' : 'row'} spacing={isMobile ? 44 : 24} sx={{ mb: 44 }}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DatePicker\n label={settingsCopy.birthdate}\n onChange={(value) => handleInput({ birthday: getUnixTime(value as Date) })}\n slotProps={{\n nextIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { backgroundColor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n previousIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { backgroundColor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n }}\n sx={{\n width: '100%',\n '& .MuiIconButton-edgeEnd': {\n color: 'primary.main',\n '&:hover': { backgroundColor: alpha(theme.palette.primary.light, 0.1) },\n },\n }}\n value={formatReadableBirthday()}\n />\n </LocalizationProvider>\n <TextField\n defaultValue={modifiedUser.postal_code}\n label={settingsCopy.zip_code}\n onChange={(e) => handleInput({ postal_code: e.target.value })}\n />\n </Stack>\n <Stack>\n <TextField\n defaultValue={modifiedUser.credit_score}\n label={settingsCopy.credit_score}\n onChange={(e) => handleInput({ credit_score: Number(e.target.value) })}\n sx={{ mb: 44 }}\n />\n <Button\n disabled={!hasUnsavedChanges}\n onClick={handleSave}\n sx={{ width: isSmallMobile ? 272 : 124 }}\n variant=\"contained\"\n >\n {commonCopy.save_button}\n </Button>\n </Stack>\n </Box>\n <Dialog\n copy={{ title: settingsCopy.discard_changes }}\n isOpen={showLeaveDialog}\n onClose={handleKeepEditing}\n onSecondaryAction={handleLeaveDialog}\n primaryText={settingsCopy.keep_editing}\n secondaryText={settingsCopy.leave}\n >\n {settingsCopy.discard_changes_message}\n </Dialog>\n </>\n )\n}\n\nexport default observer(ProfileForm)\n"],"mappings":"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"}
@@ -4,35 +4,46 @@ import a from "react";
4
4
  import { observer as y } from "mobx-react-lite";
5
5
  import g from "@mui/material/Stack";
6
6
  import { Text as o } from "@mxenabled/mxui";
7
- import v from "@mui/material/Button";
8
- import { ChevronRight as b } from "@mxenabled/mx-icons";
9
- import { jsx as e, jsxs as r } from "react/jsx-runtime";
7
+ import b from "@mui/material/Button";
8
+ import { ChevronRight as v } from "@mxenabled/mx-icons";
9
+ import { jsx as t, jsxs as r } from "react/jsx-runtime";
10
10
  import { useTheme as C } from "@mui/material/styles";
11
- var V = y(() => {
12
- const { common: s, settings: t } = f(), { sendEmailVerification: c } = h(), { user: m } = u(), l = C(), [p, i] = a.useState(!1), n = () => {
11
+ var E = y(() => {
12
+ const { common: s, settings: e } = f(), { sendEmailVerification: c } = h(), { user: l } = u(), m = C(), [p, i] = a.useState(!1), n = () => {
13
13
  i(!1);
14
14
  }, d = () => {
15
15
  i(!0);
16
16
  };
17
- return /* @__PURE__ */ r(a.Fragment, { children: [/* @__PURE__ */ r(v, {
17
+ return /* @__PURE__ */ r(a.Fragment, { children: [/* @__PURE__ */ r(b, {
18
18
  onClick: d,
19
19
  sx: {
20
20
  height: "auto",
21
21
  p: 4,
22
22
  width: "fit-content"
23
23
  },
24
- children: [/* @__PURE__ */ e(o, {
24
+ children: [/* @__PURE__ */ t(o, {
25
25
  variant: "body2",
26
- children: t.verify_email
27
- }), /* @__PURE__ */ e(b, {})]
28
- }), /* @__PURE__ */ e(x, {
29
- copy: { title: t.confirm_your_email },
26
+ children: e.verify_email
27
+ }), /* @__PURE__ */ t(v, {})]
28
+ }), /* @__PURE__ */ t(x, {
29
+ copy: { title: "" },
30
30
  isOpen: p,
31
31
  onClose: n,
32
32
  onPrimaryAction: c,
33
33
  onSecondaryAction: n,
34
- primaryText: t.send_verification,
34
+ primaryText: e.send_verification,
35
35
  secondaryText: s.back,
36
+ sx: {
37
+ "& .MuiDialogContent-root": {
38
+ pt: 0,
39
+ width: 400
40
+ },
41
+ "& .MuiToolbar-root:last-child": {
42
+ gap: 16,
43
+ padding: "32px 60px 48px",
44
+ justifyContent: "center"
45
+ }
46
+ },
36
47
  children: /* @__PURE__ */ r(g, {
37
48
  spacing: 16,
38
49
  sx: {
@@ -41,31 +52,37 @@ var V = y(() => {
41
52
  width: "100%"
42
53
  },
43
54
  children: [
44
- /* @__PURE__ */ e(o, {
55
+ /* @__PURE__ */ t(o, {
56
+ bold: !0,
57
+ truncate: !1,
58
+ variant: "body1",
59
+ children: e.confirm_your_email
60
+ }),
61
+ /* @__PURE__ */ t(o, {
45
62
  truncate: !1,
46
63
  variant: "body2",
47
- children: t.confirm_email
64
+ children: e.confirm_email
48
65
  }),
49
- /* @__PURE__ */ e(o, {
66
+ /* @__PURE__ */ t(o, {
50
67
  sx: {
51
- border: `1px solid ${l.palette.neutral.light}`,
68
+ border: `1px solid ${m.palette.neutral.light}`,
52
69
  borderRadius: "4px",
53
70
  p: "16px 32px"
54
71
  },
55
72
  variant: "h3",
56
- children: m.email
73
+ children: l.email
57
74
  }),
58
- /* @__PURE__ */ e(o, {
75
+ /* @__PURE__ */ t(o, {
59
76
  truncate: !1,
60
77
  variant: "body2",
61
- children: t.verification_notice_email
78
+ children: e.verification_notice_email
62
79
  })
63
80
  ]
64
81
  })
65
82
  })] });
66
83
  });
67
84
  export {
68
- V as default
85
+ E as default
69
86
  };
70
87
 
71
88
  //# sourceMappingURL=VerifyEmailAction.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerifyEmailAction.es.js","names":[],"sources":["../../../../../src/settings/components/profile/actions/VerifyEmailAction.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\nimport React from 'react'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { Dialog, useGlobalCopyStore, useSettingsStore, useUserStore } from '../../../../common'\n\nconst VerifyEmailAction = observer(() => {\n const { common: commonCopy, settings: settingsCopy } = useGlobalCopyStore()\n const { sendEmailVerification } = useSettingsStore()\n const { user } = useUserStore()\n const theme = useTheme()\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n const handleClose = (): void => {\n setIsOpen(false)\n }\n\n const handleOpen = (): void => {\n setIsOpen(true)\n }\n\n return (\n <React.Fragment>\n <Button onClick={handleOpen} sx={{ height: 'auto', p: 4, width: 'fit-content' }}>\n <Text variant=\"body2\">{settingsCopy.verify_email}</Text>\n <ChevronRight />\n </Button>\n <Dialog\n copy={{ title: settingsCopy.confirm_your_email }}\n isOpen={isOpen}\n onClose={handleClose}\n onPrimaryAction={sendEmailVerification}\n onSecondaryAction={handleClose}\n primaryText={settingsCopy.send_verification}\n secondaryText={commonCopy.back}\n >\n <Stack spacing={16} sx={{ px: 40, textAlign: 'center', width: '100%' }}>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.confirm_email}\n </Text>\n <Text\n sx={{\n border: `1px solid ${theme.palette.neutral.light}`,\n borderRadius: '4px',\n p: '16px 32px',\n }}\n variant=\"h3\"\n >\n {user.email}\n </Text>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.verification_notice_email}\n </Text>\n </Stack>\n </Dialog>\n </React.Fragment>\n )\n})\n\nexport default VerifyEmailAction\n"],"mappings":";;;;;;;;;;AAYA,IAAM,IAAoB,EAAA,MAAe;AACvC,QAAM,EAAE,QAAQ,GAAY,UAAU,EAAA,IAAiB,EAAmB,GACpE,EAAE,uBAAA,EAAA,IAA0B,EAAiB,GAC7C,EAAE,MAAA,EAAA,IAAS,EAAa,GACxB,IAAQ,EAAS,GAEjB,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAE1C,IAAA,MAA0B;AAC9B,IAAA,EAAU,EAAK;AAAA,EACjB,GAEM,IAAA,MAAyB;AAC7B,IAAA,EAAU,EAAI;AAAA,EAChB;AAEA,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAQ,SAAS;AAAA,IAAY,IAAI;AAAA,MAAE,QAAQ;AAAA,MAAQ,GAAG;AAAA,MAAG,OAAO;AAAA,IAAc;AAAA,IAA9E,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAM,SAAQ;AAAA,MAAS,UAAA,EAAa;AAAA,IAAmB,CAAA,GACvD,gBAAA,EAAC,GAAD,CAAe,CAAA,CACT;AAAA,EACR,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM,EAAE,OAAO,EAAa,mBAAmB;AAAA,IACvC,QAAA;AAAA,IACR,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,aAAa,EAAa;AAAA,IAC1B,eAAe,EAAW;AAAA,IAE1B,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,SAAS;AAAA,MAAI,IAAI;AAAA,QAAE,IAAI;AAAA,QAAI,WAAW;AAAA,QAAU,OAAO;AAAA,MAAO;AAAA,MAArE,UAAA;AAAA,QACE,gBAAA,EAAC,GAAD;AAAA,UAAM,UAAU;AAAA,UAAO,SAAQ;AAAA,UAC5B,UAAA,EAAa;AAAA,QACV,CAAA;AAAA,QACN,gBAAA,EAAC,GAAD;AAAA,UACE,IAAI;AAAA,YACF,QAAQ,aAAa,EAAM,QAAQ,QAAQ,KAAA;AAAA,YAC3C,cAAc;AAAA,YACd,GAAG;AAAA,UACL;AAAA,UACA,SAAQ;AAAA,UAEP,UAAA,EAAK;AAAA,QACF,CAAA;AAAA,QACN,gBAAA,EAAC,GAAD;AAAA,UAAM,UAAU;AAAA,UAAO,SAAQ;AAAA,UAC5B,UAAA,EAAa;AAAA,QACV,CAAA;AAAA,MACD;AAAA;EACD,CAAA,CACM,EAAA,CAAA;AAEpB,CAAC"}
1
+ {"version":3,"file":"VerifyEmailAction.es.js","names":[],"sources":["../../../../../src/settings/components/profile/actions/VerifyEmailAction.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\nimport React from 'react'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { Dialog, useGlobalCopyStore, useSettingsStore, useUserStore } from '../../../../common'\n\nconst VerifyEmailAction = observer(() => {\n const { common: commonCopy, settings: settingsCopy } = useGlobalCopyStore()\n const { sendEmailVerification } = useSettingsStore()\n const { user } = useUserStore()\n const theme = useTheme()\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n const handleClose = (): void => {\n setIsOpen(false)\n }\n\n const handleOpen = (): void => {\n setIsOpen(true)\n }\n\n return (\n <React.Fragment>\n <Button onClick={handleOpen} sx={{ height: 'auto', p: 4, width: 'fit-content' }}>\n <Text variant=\"body2\">{settingsCopy.verify_email}</Text>\n <ChevronRight />\n </Button>\n <Dialog\n copy={{ title: '' }}\n isOpen={isOpen}\n onClose={handleClose}\n onPrimaryAction={sendEmailVerification}\n onSecondaryAction={handleClose}\n primaryText={settingsCopy.send_verification}\n secondaryText={commonCopy.back}\n sx={{\n '& .MuiDialogContent-root': { pt: 0, width: 400 },\n\n '& .MuiToolbar-root:last-child': {\n gap: 16,\n padding: '32px 60px 48px',\n justifyContent: 'center',\n },\n }}\n >\n <Stack spacing={16} sx={{ px: 40, textAlign: 'center', width: '100%' }}>\n <Text bold={true} truncate={false} variant=\"body1\">\n {settingsCopy.confirm_your_email}\n </Text>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.confirm_email}\n </Text>\n <Text\n sx={{\n border: `1px solid ${theme.palette.neutral.light}`,\n borderRadius: '4px',\n p: '16px 32px',\n }}\n variant=\"h3\"\n >\n {user.email}\n </Text>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.verification_notice_email}\n </Text>\n </Stack>\n </Dialog>\n </React.Fragment>\n )\n})\n\nexport default VerifyEmailAction\n"],"mappings":";;;;;;;;;;AAYA,IAAM,IAAoB,EAAA,MAAe;AACvC,QAAM,EAAE,QAAQ,GAAY,UAAU,EAAA,IAAiB,EAAmB,GACpE,EAAE,uBAAA,EAAA,IAA0B,EAAiB,GAC7C,EAAE,MAAA,EAAA,IAAS,EAAa,GACxB,IAAQ,EAAS,GAEjB,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAE1C,IAAA,MAA0B;AAC9B,IAAA,EAAU,EAAK;AAAA,EACjB,GAEM,IAAA,MAAyB;AAC7B,IAAA,EAAU,EAAI;AAAA,EAChB;AAEA,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAQ,SAAS;AAAA,IAAY,IAAI;AAAA,MAAE,QAAQ;AAAA,MAAQ,GAAG;AAAA,MAAG,OAAO;AAAA,IAAc;AAAA,IAA9E,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAM,SAAQ;AAAA,MAAS,UAAA,EAAa;AAAA,IAAmB,CAAA,GACvD,gBAAA,EAAC,GAAD,CAAe,CAAA,CACT;AAAA,EACR,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM,EAAE,OAAO,GAAG;AAAA,IACV,QAAA;AAAA,IACR,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,aAAa,EAAa;AAAA,IAC1B,eAAe,EAAW;AAAA,IAC1B,IAAI;AAAA,MACF,4BAA4B;AAAA,QAAE,IAAI;AAAA,QAAG,OAAO;AAAA,MAAI;AAAA,MAEhD,iCAAiC;AAAA,QAC/B,KAAK;AAAA,QACL,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,IAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,SAAS;AAAA,MAAI,IAAI;AAAA,QAAE,IAAI;AAAA,QAAI,WAAW;AAAA,QAAU,OAAO;AAAA,MAAO;AAAA,MAArE,UAAA;AAAA,QACE,gBAAA,EAAC,GAAD;AAAA,UAAM,MAAM;AAAA,UAAM,UAAU;AAAA,UAAO,SAAQ;AAAA,UACxC,UAAA,EAAa;AAAA,QACV,CAAA;AAAA,QACN,gBAAA,EAAC,GAAD;AAAA,UAAM,UAAU;AAAA,UAAO,SAAQ;AAAA,UAC5B,UAAA,EAAa;AAAA,QACV,CAAA;AAAA,QACN,gBAAA,EAAC,GAAD;AAAA,UACE,IAAI;AAAA,YACF,QAAQ,aAAa,EAAM,QAAQ,QAAQ,KAAA;AAAA,YAC3C,cAAc;AAAA,YACd,GAAG;AAAA,UACL;AAAA,UACA,SAAQ;AAAA,UAEP,UAAA,EAAK;AAAA,QACF,CAAA;AAAA,QACN,gBAAA,EAAC,GAAD;AAAA,UAAM,UAAU;AAAA,UAAO,SAAQ;AAAA,UAC5B,UAAA,EAAa;AAAA,QACV,CAAA;AAAA,MACD;AAAA;EACD,CAAA,CACM,EAAA,CAAA;AAEpB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { useGlobalCopyStore as v, useSettingsStore as C, useUserStore as T } from "../../../../common/context/hooks.es.js";
2
- import b from "../../../../common/components/dialog/Dialog.es.js";
1
+ import { useGlobalCopyStore as v, useSettingsStore as b, useUserStore as C } from "../../../../common/context/hooks.es.js";
2
+ import T from "../../../../common/components/dialog/Dialog.es.js";
3
3
  import S from "./VerifyTokenAction.es.js";
4
4
  import r from "react";
5
5
  import { observer as k } from "mobx-react-lite";
@@ -10,10 +10,10 @@ import { ChevronRight as w } from "@mxenabled/mx-icons";
10
10
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
11
11
  import { useTheme as A } from "@mui/material/styles";
12
12
  var $ = k(() => {
13
- const { common: c, settings: o } = v(), { sendPhoneVerification: l, verifyPhoneToken: p } = C(), { user: f } = T(), h = A(), [m, s] = r.useState(!1), [d, n] = r.useState(!1), a = () => {
14
- s(!1);
13
+ const { common: c, settings: o } = v(), { sendPhoneVerification: l, verifyPhoneToken: p } = b(), { user: f } = C(), h = A(), [d, a] = r.useState(!1), [m, n] = r.useState(!1), s = () => {
14
+ a(!1);
15
15
  }, y = () => {
16
- s(!0);
16
+ a(!0);
17
17
  }, u = () => {
18
18
  l().finally(() => {
19
19
  n(!0);
@@ -36,12 +36,12 @@ var $ = k(() => {
36
36
  children: o.verify_phone
37
37
  }), /* @__PURE__ */ e(w, {})]
38
38
  }),
39
- /* @__PURE__ */ e(b, {
40
- copy: { title: o.confirm_your_phone },
41
- isOpen: m,
42
- onClose: a,
39
+ /* @__PURE__ */ e(T, {
40
+ copy: { title: "" },
41
+ isOpen: d,
42
+ onClose: s,
43
43
  onPrimaryAction: u,
44
- onSecondaryAction: a,
44
+ onSecondaryAction: s,
45
45
  primaryText: o.send_verification,
46
46
  secondaryText: c.back,
47
47
  sx: {
@@ -63,6 +63,12 @@ var $ = k(() => {
63
63
  width: "100%"
64
64
  },
65
65
  children: [
66
+ /* @__PURE__ */ e(t, {
67
+ bold: !0,
68
+ truncate: !1,
69
+ variant: "body1",
70
+ children: o.confirm_your_phone
71
+ }),
66
72
  /* @__PURE__ */ e(t, {
67
73
  truncate: !1,
68
74
  variant: "body2",
@@ -88,7 +94,7 @@ var $ = k(() => {
88
94
  /* @__PURE__ */ e(S, {
89
95
  handleClose: () => n(!1),
90
96
  handleVerify: x,
91
- isOpen: d
97
+ isOpen: m
92
98
  })
93
99
  ] });
94
100
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VerifyPhoneAction.es.js","names":[],"sources":["../../../../../src/settings/components/profile/actions/VerifyPhoneAction.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\nimport React from 'react'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\nimport { Dialog, useGlobalCopyStore, useSettingsStore, useUserStore } from '../../../../common'\nimport VerifyTokenAction from './VerifyTokenAction'\n\nconst VerifyPhoneAction = observer(() => {\n const { common: commonCopy, settings: settingsCopy } = useGlobalCopyStore()\n const { sendPhoneVerification, verifyPhoneToken } = useSettingsStore()\n const { user } = useUserStore()\n const theme = useTheme()\n\n const [isOpen, setIsOpen] = React.useState(false)\n const [showVerifyToken, setShowVerifyToken] = React.useState(false)\n\n const handleClose = (): void => {\n setIsOpen(false)\n }\n\n const handleOpen = (): void => {\n setIsOpen(true)\n }\n\n const handlePhoneVerify = () => {\n sendPhoneVerification().finally(() => {\n setShowVerifyToken(true)\n })\n }\n\n const handleTokenVerify = (token: string) => {\n verifyPhoneToken(token).finally(() => {\n setShowVerifyToken(false)\n })\n }\n\n return (\n <React.Fragment>\n <Button onClick={handleOpen} sx={{ height: 'auto', p: 4, width: 'fit-content' }}>\n <Text variant=\"body2\">{settingsCopy.verify_phone}</Text>\n <ChevronRight />\n </Button>\n <Dialog\n copy={{ title: settingsCopy.confirm_your_phone }}\n isOpen={isOpen}\n onClose={handleClose}\n onPrimaryAction={handlePhoneVerify}\n onSecondaryAction={handleClose}\n primaryText={settingsCopy.send_verification}\n secondaryText={commonCopy.back}\n sx={{\n '& .MuiDialogContent-root': { pt: 0, width: 400 },\n\n '& .MuiToolbar-root:last-child': {\n gap: 16,\n padding: '32px 60px 48px',\n justifyContent: 'center',\n },\n }}\n >\n <Stack spacing={16} sx={{ px: 40, textAlign: 'center', width: '100%' }}>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.confirm_phone}\n </Text>\n <Text\n sx={{\n border: `1px solid ${theme.palette.neutral.light}`,\n borderRadius: '4px',\n p: '16px 32px',\n }}\n variant=\"h3\"\n >\n {user.phone}\n </Text>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.verification_notice_phone}\n </Text>\n </Stack>\n </Dialog>\n <VerifyTokenAction\n handleClose={() => setShowVerifyToken(false)}\n handleVerify={handleTokenVerify}\n isOpen={showVerifyToken}\n />\n </React.Fragment>\n )\n})\n\nexport default VerifyPhoneAction\n"],"mappings":";;;;;;;;;;;AAYA,IAAM,IAAoB,EAAA,MAAe;AACvC,QAAM,EAAE,QAAQ,GAAY,UAAU,EAAA,IAAiB,EAAmB,GACpE,EAAE,uBAAA,GAAuB,kBAAA,EAAA,IAAqB,EAAiB,GAC/D,EAAE,MAAA,EAAA,IAAS,EAAa,GACxB,IAAQ,EAAS,GAEjB,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAC1C,CAAC,GAAiB,CAAA,IAAsB,EAAM,SAAS,EAAK,GAE5D,IAAA,MAA0B;AAC9B,IAAA,EAAU,EAAK;AAAA,EACjB,GAEM,IAAA,MAAyB;AAC7B,IAAA,EAAU,EAAI;AAAA,EAChB,GAEM,IAAA,MAA0B;AAC9B,IAAA,EAAsB,EAAE,QAAA,MAAc;AACpC,MAAA,EAAmB,EAAI;AAAA,IACzB,CAAC;AAAA,EACH,GAEM,IAAA,CAAqB,MAAkB;AAC3C,IAAA,EAAiB,CAAK,EAAE,QAAA,MAAc;AACpC,MAAA,EAAmB,EAAK;AAAA,IAC1B,CAAC;AAAA,EACH;AAEA,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAQ,SAAS;AAAA,MAAY,IAAI;AAAA,QAAE,QAAQ;AAAA,QAAQ,GAAG;AAAA,QAAG,OAAO;AAAA,MAAc;AAAA,MAA9E,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAS,UAAA,EAAa;AAAA,MAAmB,CAAA,GACvD,gBAAA,EAAC,GAAD,CAAe,CAAA,CACT;AAAA;IACR,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM,EAAE,OAAO,EAAa,mBAAmB;AAAA,MACvC,QAAA;AAAA,MACR,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,aAAa,EAAa;AAAA,MAC1B,eAAe,EAAW;AAAA,MAC1B,IAAI;AAAA,QACF,4BAA4B;AAAA,UAAE,IAAI;AAAA,UAAG,OAAO;AAAA,QAAI;AAAA,QAEhD,iCAAiC;AAAA,UAC/B,KAAK;AAAA,UACL,SAAS;AAAA,UACT,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAO,SAAS;AAAA,QAAI,IAAI;AAAA,UAAE,IAAI;AAAA,UAAI,WAAW;AAAA,UAAU,OAAO;AAAA,QAAO;AAAA,QAArE,UAAA;AAAA,UACE,gBAAA,EAAC,GAAD;AAAA,YAAM,UAAU;AAAA,YAAO,SAAQ;AAAA,YAC5B,UAAA,EAAa;AAAA,UACV,CAAA;AAAA,UACN,gBAAA,EAAC,GAAD;AAAA,YACE,IAAI;AAAA,cACF,QAAQ,aAAa,EAAM,QAAQ,QAAQ,KAAA;AAAA,cAC3C,cAAc;AAAA,cACd,GAAG;AAAA,YACL;AAAA,YACA,SAAQ;AAAA,YAEP,UAAA,EAAK;AAAA,UACF,CAAA;AAAA,UACN,gBAAA,EAAC,GAAD;AAAA,YAAM,UAAU;AAAA,YAAO,SAAQ;AAAA,YAC5B,UAAA,EAAa;AAAA,UACV,CAAA;AAAA,QACD;AAAA;IACD,CAAA;AAAA,IACR,gBAAA,EAAC,GAAD;AAAA,MACE,aAAA,MAAmB,EAAmB,EAAK;AAAA,MAC3C,cAAc;AAAA,MACd,QAAQ;AAAA,IACT,CAAA;AAAA,EACa,EAAA,CAAA;AAEpB,CAAC"}
1
+ {"version":3,"file":"VerifyPhoneAction.es.js","names":[],"sources":["../../../../../src/settings/components/profile/actions/VerifyPhoneAction.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\nimport React from 'react'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\nimport { Dialog, useGlobalCopyStore, useSettingsStore, useUserStore } from '../../../../common'\nimport VerifyTokenAction from './VerifyTokenAction'\n\nconst VerifyPhoneAction = observer(() => {\n const { common: commonCopy, settings: settingsCopy } = useGlobalCopyStore()\n const { sendPhoneVerification, verifyPhoneToken } = useSettingsStore()\n const { user } = useUserStore()\n const theme = useTheme()\n\n const [isOpen, setIsOpen] = React.useState(false)\n const [showVerifyToken, setShowVerifyToken] = React.useState(false)\n\n const handleClose = (): void => {\n setIsOpen(false)\n }\n\n const handleOpen = (): void => {\n setIsOpen(true)\n }\n\n const handlePhoneVerify = () => {\n sendPhoneVerification().finally(() => {\n setShowVerifyToken(true)\n })\n }\n\n const handleTokenVerify = (token: string) => {\n verifyPhoneToken(token).finally(() => {\n setShowVerifyToken(false)\n })\n }\n\n return (\n <React.Fragment>\n <Button onClick={handleOpen} sx={{ height: 'auto', p: 4, width: 'fit-content' }}>\n <Text variant=\"body2\">{settingsCopy.verify_phone}</Text>\n <ChevronRight />\n </Button>\n <Dialog\n copy={{ title: '' }}\n isOpen={isOpen}\n onClose={handleClose}\n onPrimaryAction={handlePhoneVerify}\n onSecondaryAction={handleClose}\n primaryText={settingsCopy.send_verification}\n secondaryText={commonCopy.back}\n sx={{\n '& .MuiDialogContent-root': { pt: 0, width: 400 },\n\n '& .MuiToolbar-root:last-child': {\n gap: 16,\n padding: '32px 60px 48px',\n justifyContent: 'center',\n },\n }}\n >\n <Stack spacing={16} sx={{ px: 40, textAlign: 'center', width: '100%' }}>\n <Text bold={true} truncate={false} variant=\"body1\">\n {settingsCopy.confirm_your_phone}\n </Text>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.confirm_phone}\n </Text>\n <Text\n sx={{\n border: `1px solid ${theme.palette.neutral.light}`,\n borderRadius: '4px',\n p: '16px 32px',\n }}\n variant=\"h3\"\n >\n {user.phone}\n </Text>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.verification_notice_phone}\n </Text>\n </Stack>\n </Dialog>\n <VerifyTokenAction\n handleClose={() => setShowVerifyToken(false)}\n handleVerify={handleTokenVerify}\n isOpen={showVerifyToken}\n />\n </React.Fragment>\n )\n})\n\nexport default VerifyPhoneAction\n"],"mappings":";;;;;;;;;;;AAYA,IAAM,IAAoB,EAAA,MAAe;AACvC,QAAM,EAAE,QAAQ,GAAY,UAAU,EAAA,IAAiB,EAAmB,GACpE,EAAE,uBAAA,GAAuB,kBAAA,EAAA,IAAqB,EAAiB,GAC/D,EAAE,MAAA,EAAA,IAAS,EAAa,GACxB,IAAQ,EAAS,GAEjB,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAC1C,CAAC,GAAiB,CAAA,IAAsB,EAAM,SAAS,EAAK,GAE5D,IAAA,MAA0B;AAC9B,IAAA,EAAU,EAAK;AAAA,EACjB,GAEM,IAAA,MAAyB;AAC7B,IAAA,EAAU,EAAI;AAAA,EAChB,GAEM,IAAA,MAA0B;AAC9B,IAAA,EAAsB,EAAE,QAAA,MAAc;AACpC,MAAA,EAAmB,EAAI;AAAA,IACzB,CAAC;AAAA,EACH,GAEM,IAAA,CAAqB,MAAkB;AAC3C,IAAA,EAAiB,CAAK,EAAE,QAAA,MAAc;AACpC,MAAA,EAAmB,EAAK;AAAA,IAC1B,CAAC;AAAA,EACH;AAEA,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAQ,SAAS;AAAA,MAAY,IAAI;AAAA,QAAE,QAAQ;AAAA,QAAQ,GAAG;AAAA,QAAG,OAAO;AAAA,MAAc;AAAA,MAA9E,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAS,UAAA,EAAa;AAAA,MAAmB,CAAA,GACvD,gBAAA,EAAC,GAAD,CAAe,CAAA,CACT;AAAA;IACR,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM,EAAE,OAAO,GAAG;AAAA,MACV,QAAA;AAAA,MACR,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,aAAa,EAAa;AAAA,MAC1B,eAAe,EAAW;AAAA,MAC1B,IAAI;AAAA,QACF,4BAA4B;AAAA,UAAE,IAAI;AAAA,UAAG,OAAO;AAAA,QAAI;AAAA,QAEhD,iCAAiC;AAAA,UAC/B,KAAK;AAAA,UACL,SAAS;AAAA,UACT,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAO,SAAS;AAAA,QAAI,IAAI;AAAA,UAAE,IAAI;AAAA,UAAI,WAAW;AAAA,UAAU,OAAO;AAAA,QAAO;AAAA,QAArE,UAAA;AAAA,UACE,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,UAAU;AAAA,YAAO,SAAQ;AAAA,YACxC,UAAA,EAAa;AAAA,UACV,CAAA;AAAA,UACN,gBAAA,EAAC,GAAD;AAAA,YAAM,UAAU;AAAA,YAAO,SAAQ;AAAA,YAC5B,UAAA,EAAa;AAAA,UACV,CAAA;AAAA,UACN,gBAAA,EAAC,GAAD;AAAA,YACE,IAAI;AAAA,cACF,QAAQ,aAAa,EAAM,QAAQ,QAAQ,KAAA;AAAA,cAC3C,cAAc;AAAA,cACd,GAAG;AAAA,YACL;AAAA,YACA,SAAQ;AAAA,YAEP,UAAA,EAAK;AAAA,UACF,CAAA;AAAA,UACN,gBAAA,EAAC,GAAD;AAAA,YAAM,UAAU;AAAA,YAAO,SAAQ;AAAA,YAC5B,UAAA,EAAa;AAAA,UACV,CAAA;AAAA,QACD;AAAA;IACD,CAAA;AAAA,IACR,gBAAA,EAAC,GAAD;AAAA,MACE,aAAA,MAAmB,EAAmB,EAAK;AAAA,MAC3C,cAAc;AAAA,MACd,QAAQ;AAAA,IACT,CAAA;AAAA,EACa,EAAA,CAAA;AAEpB,CAAC"}