@matchain/matchid-sdk-react 0.1.30 → 0.1.32
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/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +596 -67
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +596 -67
- package/dist/index.mjs.map +1 -1
- package/example/src/App.tsx +13 -3
- package/example/src/components/Login/index.tsx +2 -2
- package/example/src/config/index.ts +5 -1
- package/example/src/pages/User.tsx +1 -1
- package/package.json +2 -1
- package/readme.md +29 -3
package/dist/index.js
CHANGED
|
@@ -547,6 +547,19 @@ function LinkedinIcon({
|
|
|
547
547
|
|
|
548
548
|
// src/assets/icon/YoutubeIcon.tsx
|
|
549
549
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
550
|
+
function YoutubeIcon({ size = 40, ...props }) {
|
|
551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("svg", { width: size, height: size, ...{ props }, viewBox: "0 0 40 40", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
552
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("rect", { width: "40", height: "40", rx: "8", fill: "#FF0000" }),
|
|
553
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
554
|
+
"path",
|
|
555
|
+
{
|
|
556
|
+
d: "M33.9855 13.1304C33.656 11.9065 32.691 10.9415 31.4671 10.612C29.231 10 20.287 10 20.287 10C20.287 10 11.3429 10 9.10689 10.5884C7.9065 10.9179 6.91794 11.9065 6.58843 13.1304C6 15.3664 6 20.0032 6 20.0032C6 20.0032 6 24.6636 6.58843 26.876C6.91794 28.1 7.88296 29.065 9.10689 29.3945C11.3664 30.0065 20.287 30.0065 20.287 30.0065C20.287 30.0065 29.231 30.0065 31.4671 29.418C32.691 29.0885 33.656 28.1235 33.9855 26.8996C34.5739 24.6636 34.5739 20.0268 34.5739 20.0268C34.5739 20.0268 34.5975 15.3664 33.9855 13.1304Z",
|
|
557
|
+
fill: "white"
|
|
558
|
+
}
|
|
559
|
+
),
|
|
560
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { d: "M17.439 24.2867L24.8767 20.003L17.439 15.7192V24.2867Z", fill: "#FF0000" })
|
|
561
|
+
] });
|
|
562
|
+
}
|
|
550
563
|
|
|
551
564
|
// src/assets/icon/BTCDarkIcon.tsx
|
|
552
565
|
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
@@ -665,7 +678,7 @@ function ArrowDownIcon({ width = 20, height = 21, color = "black", ...props }) {
|
|
|
665
678
|
{
|
|
666
679
|
d: "M5 7.5L9.29289 11.7929C9.68342 12.1834 10.3166 12.1834 10.7071 11.7929L15 7.5",
|
|
667
680
|
stroke: color,
|
|
668
|
-
|
|
681
|
+
strokeWidth: "1.5",
|
|
669
682
|
strokeLinecap: "round",
|
|
670
683
|
strokeLinejoin: "round"
|
|
671
684
|
}
|
|
@@ -841,7 +854,9 @@ var persistedState = (0, import_middleware.persist)(
|
|
|
841
854
|
setTheme: (theme) => set({ theme }),
|
|
842
855
|
setEndpoints: (endpoints) => set({ endpoints }),
|
|
843
856
|
address: "",
|
|
844
|
-
setAddress: (address) => set({ address })
|
|
857
|
+
setAddress: (address) => set({ address }),
|
|
858
|
+
locale: "en",
|
|
859
|
+
setLocale: (locale) => set({ locale })
|
|
845
860
|
}),
|
|
846
861
|
{ name: "match-local" }
|
|
847
862
|
);
|
|
@@ -890,6 +905,19 @@ var getAppid = () => {
|
|
|
890
905
|
return "";
|
|
891
906
|
}
|
|
892
907
|
};
|
|
908
|
+
var getLocale = () => {
|
|
909
|
+
try {
|
|
910
|
+
const store = localStore.getState();
|
|
911
|
+
const locale = store?.locale;
|
|
912
|
+
if (locale) {
|
|
913
|
+
return locale;
|
|
914
|
+
} else {
|
|
915
|
+
return "en";
|
|
916
|
+
}
|
|
917
|
+
} catch (e) {
|
|
918
|
+
return "en";
|
|
919
|
+
}
|
|
920
|
+
};
|
|
893
921
|
var getToken = () => {
|
|
894
922
|
try {
|
|
895
923
|
const store = localStore.getState();
|
|
@@ -938,6 +966,7 @@ var request = async (config) => {
|
|
|
938
966
|
if (token) {
|
|
939
967
|
instance.defaults.headers.common["Authorization"] = token;
|
|
940
968
|
}
|
|
969
|
+
instance.defaults.headers.common["Accept-Language"] = getLocale();
|
|
941
970
|
const { data } = await instance.request(config);
|
|
942
971
|
matchlog_default.log("api", data);
|
|
943
972
|
if (data.code == 401001) {
|
|
@@ -1158,8 +1187,8 @@ function truncateAddress(address) {
|
|
|
1158
1187
|
const end = address.slice(-2);
|
|
1159
1188
|
return `${start}...${end}`;
|
|
1160
1189
|
}
|
|
1161
|
-
function
|
|
1162
|
-
return
|
|
1190
|
+
function getAppClientId() {
|
|
1191
|
+
return "react-sdk-" + getVersion();
|
|
1163
1192
|
}
|
|
1164
1193
|
|
|
1165
1194
|
// src/store/useModalStore.ts
|
|
@@ -1198,7 +1227,7 @@ function useUserInfo() {
|
|
|
1198
1227
|
eventManager_default.emit("onLogout");
|
|
1199
1228
|
};
|
|
1200
1229
|
const loginByMethod = async (method) => {
|
|
1201
|
-
const link = `${endpoints.back}api/v1/auth/${method}?appid=${appid}&provider=${method}&redirect=${encodeURIComponent(endpoints.auth + "login/" + method)}&authorization=${(/* @__PURE__ */ new Date()).getTime()}`;
|
|
1230
|
+
const link = `${endpoints.back}api/v1/auth/${method == "youtube" ? "google" : method}?appid=${appid}&provider=${method == "youtube" ? "google" : method}&redirect=${encodeURIComponent(endpoints.auth + "login/" + method)}&authorization=${(/* @__PURE__ */ new Date()).getTime()}${method == "youtube" ? "&auth_type=youtube" : ""}`;
|
|
1202
1231
|
matchlog_default.log("link", link);
|
|
1203
1232
|
return window.open(
|
|
1204
1233
|
link,
|
|
@@ -1232,6 +1261,7 @@ function useUserInfo() {
|
|
|
1232
1261
|
return SOLOpen("login");
|
|
1233
1262
|
case "telegram":
|
|
1234
1263
|
return await loginByTelegram();
|
|
1264
|
+
case "youtube":
|
|
1235
1265
|
case "twitter":
|
|
1236
1266
|
case "google":
|
|
1237
1267
|
case "discord":
|
|
@@ -1324,7 +1354,8 @@ function useUserInfo() {
|
|
|
1324
1354
|
case "github":
|
|
1325
1355
|
case "linkedin":
|
|
1326
1356
|
case "facebook":
|
|
1327
|
-
|
|
1357
|
+
case "youtube":
|
|
1358
|
+
const link = `${endpoints.back}api/v1/auth/${method == "youtube" ? "google" : method}?appid=${appid}&provider=${method == "youtube" ? "google" : method}&redirect=${encodeURIComponent(endpoints.auth + "bind/" + method)}&authorization=${token.includes("Bearer ") ? token.split(" ")[1] : token}${method == "youtube" ? "&auth_type=youtube" : ""}`;
|
|
1328
1359
|
matchlog_default.log("link", link);
|
|
1329
1360
|
return window.open(
|
|
1330
1361
|
link,
|
|
@@ -1549,6 +1580,7 @@ function useCopyClipboard(timeout = 500) {
|
|
|
1549
1580
|
}
|
|
1550
1581
|
|
|
1551
1582
|
// src/components/PasswordModal/index.tsx
|
|
1583
|
+
var import_react_intl = require("react-intl");
|
|
1552
1584
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1553
1585
|
function PasswordModal({
|
|
1554
1586
|
title,
|
|
@@ -1556,28 +1588,40 @@ function PasswordModal({
|
|
|
1556
1588
|
onSuccess,
|
|
1557
1589
|
...props
|
|
1558
1590
|
}) {
|
|
1559
|
-
const { refreshOverview } = useUserInfo();
|
|
1591
|
+
const { refreshOverview, overview } = useUserInfo();
|
|
1560
1592
|
const { isLogin, did } = useUserInfo();
|
|
1561
1593
|
const [password, setPassword] = (0, import_react5.useState)("");
|
|
1562
1594
|
const [rePassword, setRePassword] = (0, import_react5.useState)("");
|
|
1563
1595
|
const [error, setError] = (0, import_react5.useState)("");
|
|
1564
|
-
const { generateWallet } = useWallet();
|
|
1596
|
+
const { generateWallet, initWallet } = useWallet();
|
|
1597
|
+
const intl = (0, import_react_intl.useIntl)();
|
|
1565
1598
|
const passwordError = (0, import_react5.useMemo)(() => {
|
|
1566
|
-
if (password.length < 6) return
|
|
1599
|
+
if (password.length < 6) return intl.formatMessage({
|
|
1600
|
+
id: "passwordMinError"
|
|
1601
|
+
}, {
|
|
1602
|
+
length: 6
|
|
1603
|
+
});
|
|
1567
1604
|
return "";
|
|
1568
1605
|
}, [password]);
|
|
1569
1606
|
const rePasswordError = (0, import_react5.useMemo)(() => {
|
|
1570
1607
|
if (rePassword != password) {
|
|
1571
|
-
return
|
|
1608
|
+
return intl.formatMessage({
|
|
1609
|
+
id: "passwordMatchError"
|
|
1610
|
+
});
|
|
1572
1611
|
}
|
|
1573
1612
|
return "";
|
|
1574
1613
|
}, [rePassword, password]);
|
|
1575
1614
|
(0, import_react5.useEffect)(() => {
|
|
1576
|
-
if (isOpen) {
|
|
1615
|
+
if (isOpen && overview) {
|
|
1577
1616
|
setPassword("");
|
|
1578
1617
|
setRePassword("");
|
|
1618
|
+
const did2 = overview.did.split(":")[2];
|
|
1619
|
+
initWallet({
|
|
1620
|
+
did: did2,
|
|
1621
|
+
address: ""
|
|
1622
|
+
});
|
|
1579
1623
|
}
|
|
1580
|
-
}, [isOpen]);
|
|
1624
|
+
}, [isOpen, overview]);
|
|
1581
1625
|
const [isSubmitting, setIsSubmitting] = (0, import_react5.useState)(false);
|
|
1582
1626
|
const onContinue = async () => {
|
|
1583
1627
|
if (isSubmitting) return;
|
|
@@ -1595,26 +1639,32 @@ function PasswordModal({
|
|
|
1595
1639
|
setIsSubmitting(false);
|
|
1596
1640
|
}
|
|
1597
1641
|
};
|
|
1598
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title ||
|
|
1642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
1643
|
+
id: "passwordTitle"
|
|
1644
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-box", children: [
|
|
1599
1645
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-header", children: [
|
|
1600
1646
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PasswordRoundIcon, {}) }),
|
|
1601
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "matchid-password-header-content", children:
|
|
1647
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_intl.FormattedMessage, { id: "passwordTips" }) })
|
|
1602
1648
|
] }),
|
|
1603
1649
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-content", children: [
|
|
1604
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: "
|
|
1650
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1605
1651
|
Input,
|
|
1606
1652
|
{
|
|
1607
|
-
placeholder:
|
|
1653
|
+
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
1608
1654
|
maxLength: 32,
|
|
1609
1655
|
type: "password",
|
|
1610
1656
|
onChange: (e) => setPassword(e.target.value),
|
|
1611
1657
|
value: password
|
|
1612
1658
|
}
|
|
1613
1659
|
) }),
|
|
1614
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label:
|
|
1660
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: intl.formatMessage({
|
|
1661
|
+
id: "rePassword"
|
|
1662
|
+
}), error: rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1615
1663
|
Input,
|
|
1616
1664
|
{
|
|
1617
|
-
placeholder:
|
|
1665
|
+
placeholder: intl.formatMessage({
|
|
1666
|
+
id: "rePasswordPlaceholder"
|
|
1667
|
+
}),
|
|
1618
1668
|
maxLength: 32,
|
|
1619
1669
|
onChange: (e) => setRePassword(e.target.value),
|
|
1620
1670
|
value: rePassword,
|
|
@@ -1631,7 +1681,7 @@ function PasswordModal({
|
|
|
1631
1681
|
size: "lg",
|
|
1632
1682
|
onClick: onContinue,
|
|
1633
1683
|
loading: isSubmitting,
|
|
1634
|
-
children: "
|
|
1684
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_intl.FormattedMessage, { id: "continue" })
|
|
1635
1685
|
}
|
|
1636
1686
|
)
|
|
1637
1687
|
] }) });
|
|
@@ -1639,6 +1689,7 @@ function PasswordModal({
|
|
|
1639
1689
|
|
|
1640
1690
|
// src/components/RecoveryModal/index.tsx
|
|
1641
1691
|
var import_react6 = require("react");
|
|
1692
|
+
var import_react_intl2 = require("react-intl");
|
|
1642
1693
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1643
1694
|
function RecoveryModal({
|
|
1644
1695
|
title,
|
|
@@ -1647,19 +1698,29 @@ function RecoveryModal({
|
|
|
1647
1698
|
...props
|
|
1648
1699
|
}) {
|
|
1649
1700
|
const { refreshOverview } = useUserInfo();
|
|
1650
|
-
const { isLogin } = useUserInfo();
|
|
1701
|
+
const { isLogin, overview } = useUserInfo();
|
|
1651
1702
|
const [password, setPassword] = (0, import_react6.useState)("");
|
|
1652
|
-
const { recoveryWallet } = useWallet();
|
|
1703
|
+
const { recoveryWallet, initWallet } = useWallet();
|
|
1653
1704
|
const [error, setError] = (0, import_react6.useState)("");
|
|
1705
|
+
const intl = (0, import_react_intl2.useIntl)();
|
|
1654
1706
|
const passwordError = (0, import_react6.useMemo)(() => {
|
|
1655
|
-
if (password.length < 6) return
|
|
1707
|
+
if (password.length < 6) return intl.formatMessage({
|
|
1708
|
+
id: "passwordMinError"
|
|
1709
|
+
}, {
|
|
1710
|
+
length: 6
|
|
1711
|
+
});
|
|
1656
1712
|
return "";
|
|
1657
1713
|
}, [password]);
|
|
1658
1714
|
(0, import_react6.useEffect)(() => {
|
|
1659
|
-
if (isOpen) {
|
|
1715
|
+
if (isOpen && overview) {
|
|
1660
1716
|
setPassword("");
|
|
1717
|
+
const did = overview.did.split(":")[2];
|
|
1718
|
+
initWallet({
|
|
1719
|
+
did,
|
|
1720
|
+
address: overview.address
|
|
1721
|
+
});
|
|
1661
1722
|
}
|
|
1662
|
-
}, [isOpen]);
|
|
1723
|
+
}, [isOpen, overview]);
|
|
1663
1724
|
const [isSubmitting, setIsSubmitting] = (0, import_react6.useState)(false);
|
|
1664
1725
|
const onContinue = async () => {
|
|
1665
1726
|
if (isSubmitting) return;
|
|
@@ -1675,15 +1736,17 @@ function RecoveryModal({
|
|
|
1675
1736
|
setIsSubmitting(false);
|
|
1676
1737
|
}
|
|
1677
1738
|
};
|
|
1678
|
-
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title ||
|
|
1739
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
1740
|
+
id: "recoverTitle"
|
|
1741
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "matchid-password-box", children: [
|
|
1679
1742
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "matchid-password-header", children: [
|
|
1680
1743
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(PasswordRoundIcon, {}) }),
|
|
1681
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-header-content", children:
|
|
1744
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_intl2.FormattedMessage, { id: "recoverTips" }) })
|
|
1682
1745
|
] }),
|
|
1683
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-content", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Field, { label: "
|
|
1746
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-content", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 ? passwordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
1684
1747
|
Input,
|
|
1685
1748
|
{
|
|
1686
|
-
placeholder:
|
|
1749
|
+
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
1687
1750
|
maxLength: 32,
|
|
1688
1751
|
type: "password",
|
|
1689
1752
|
onChange: (e) => setPassword(e.target.value),
|
|
@@ -1699,7 +1762,7 @@ function RecoveryModal({
|
|
|
1699
1762
|
size: "lg",
|
|
1700
1763
|
onClick: onContinue,
|
|
1701
1764
|
loading: isSubmitting,
|
|
1702
|
-
children: "
|
|
1765
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
|
|
1703
1766
|
}
|
|
1704
1767
|
)
|
|
1705
1768
|
] }) });
|
|
@@ -1732,8 +1795,10 @@ var import_react9 = require("react");
|
|
|
1732
1795
|
|
|
1733
1796
|
// src/components/EmailModal/StepEmail.tsx
|
|
1734
1797
|
var import_react7 = require("react");
|
|
1798
|
+
var import_react_intl3 = require("react-intl");
|
|
1735
1799
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1736
1800
|
function StepEmail(props) {
|
|
1801
|
+
const intl = (0, import_react_intl3.useIntl)();
|
|
1737
1802
|
const [emailVal, setEmailVal] = (0, import_react7.useState)("");
|
|
1738
1803
|
(0, import_react7.useEffect)(() => {
|
|
1739
1804
|
if (props.email) {
|
|
@@ -1747,17 +1812,21 @@ function StepEmail(props) {
|
|
|
1747
1812
|
props.onContinue(emailVal);
|
|
1748
1813
|
};
|
|
1749
1814
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "matchid-email-email-box", children: [
|
|
1750
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field, { label:
|
|
1815
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field, { label: intl.formatMessage({
|
|
1816
|
+
id: "emailAddress"
|
|
1817
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
1751
1818
|
Input,
|
|
1752
1819
|
{
|
|
1753
|
-
placeholder:
|
|
1820
|
+
placeholder: intl.formatMessage({
|
|
1821
|
+
id: "emailAddressPlaceholder"
|
|
1822
|
+
}),
|
|
1754
1823
|
onChange: (e) => setEmailVal(e.target.value),
|
|
1755
1824
|
value: emailVal
|
|
1756
1825
|
}
|
|
1757
1826
|
) }),
|
|
1758
1827
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button, { disabled: !canContinue, style: {
|
|
1759
1828
|
marginTop: "64px"
|
|
1760
|
-
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: "
|
|
1829
|
+
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_intl3.FormattedMessage, { id: "continue" }) })
|
|
1761
1830
|
] });
|
|
1762
1831
|
}
|
|
1763
1832
|
|
|
@@ -1769,15 +1838,19 @@ var EMAIL_INTERVAL = 60;
|
|
|
1769
1838
|
var EMAIL_CODE_LENGTH = 6;
|
|
1770
1839
|
|
|
1771
1840
|
// src/components/EmailModal/StepVerify.tsx
|
|
1841
|
+
var import_react_intl4 = require("react-intl");
|
|
1772
1842
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
1773
1843
|
function StepVerify(props) {
|
|
1844
|
+
const intl = (0, import_react_intl4.useIntl)();
|
|
1774
1845
|
const { getLoginEmailCode, loginByEmail } = useUserInfo();
|
|
1775
1846
|
const [error, setError] = (0, import_react8.useState)("");
|
|
1776
1847
|
const [code, setCode] = (0, import_react8.useState)("");
|
|
1777
1848
|
const [sending, setSending] = (0, import_react8.useState)(false);
|
|
1778
1849
|
const [submitting, setSubmitting] = (0, import_react8.useState)(false);
|
|
1779
1850
|
const sendTimeRef = (0, import_react8.useRef)(0);
|
|
1780
|
-
const [sendBtnText, setSendBtnText] = (0, import_react8.useState)(
|
|
1851
|
+
const [sendBtnText, setSendBtnText] = (0, import_react8.useState)(intl.formatMessage({
|
|
1852
|
+
id: "send"
|
|
1853
|
+
}));
|
|
1781
1854
|
const intervalTime = EMAIL_INTERVAL;
|
|
1782
1855
|
const codeLength = EMAIL_CODE_LENGTH;
|
|
1783
1856
|
const intervalRef = (0, import_react8.useRef)(null);
|
|
@@ -1795,14 +1868,18 @@ function StepVerify(props) {
|
|
|
1795
1868
|
sendTimeRef.current--;
|
|
1796
1869
|
setSendBtnText(`${sendTimeRef.current}s`);
|
|
1797
1870
|
if (sendTimeRef.current <= 0) {
|
|
1798
|
-
setSendBtnText(
|
|
1871
|
+
setSendBtnText(intl.formatMessage({
|
|
1872
|
+
id: "Resend"
|
|
1873
|
+
}));
|
|
1799
1874
|
clearInterval(intervalRef.current);
|
|
1800
1875
|
setSending(false);
|
|
1801
1876
|
}
|
|
1802
1877
|
}, 1e3);
|
|
1803
1878
|
} catch (err) {
|
|
1804
1879
|
console.error("Send email error", err);
|
|
1805
|
-
setError(
|
|
1880
|
+
setError(intl.formatMessage({
|
|
1881
|
+
id: "sendCodeErrorTip"
|
|
1882
|
+
}, { error: err.message }));
|
|
1806
1883
|
setSending(false);
|
|
1807
1884
|
}
|
|
1808
1885
|
};
|
|
@@ -1843,13 +1920,17 @@ function StepVerify(props) {
|
|
|
1843
1920
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(EmailLineIcon, {}) }),
|
|
1844
1921
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
|
|
1845
1922
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
|
|
1846
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-tips", children:
|
|
1923
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_intl4.FormattedMessage, { id: "sendEmailTips" }) })
|
|
1847
1924
|
] })
|
|
1848
1925
|
] }),
|
|
1849
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Field, { label:
|
|
1926
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Field, { label: intl.formatMessage({
|
|
1927
|
+
id: "verificationCode"
|
|
1928
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
1850
1929
|
Input,
|
|
1851
1930
|
{
|
|
1852
|
-
placeholder:
|
|
1931
|
+
placeholder: intl.formatMessage({
|
|
1932
|
+
id: "codePlaceholder"
|
|
1933
|
+
}),
|
|
1853
1934
|
maxLength: codeLength,
|
|
1854
1935
|
onChange: (e) => setCode(e.target.value),
|
|
1855
1936
|
value: code,
|
|
@@ -1872,11 +1953,12 @@ function StepVerify(props) {
|
|
|
1872
1953
|
)
|
|
1873
1954
|
}
|
|
1874
1955
|
) }),
|
|
1875
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: "
|
|
1956
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_intl4.FormattedMessage, { id: "continue" }) })
|
|
1876
1957
|
] });
|
|
1877
1958
|
}
|
|
1878
1959
|
|
|
1879
1960
|
// src/components/EmailModal/index.tsx
|
|
1961
|
+
var import_react_intl5 = require("react-intl");
|
|
1880
1962
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
1881
1963
|
function EmailModal({
|
|
1882
1964
|
isOpen = false,
|
|
@@ -1887,6 +1969,7 @@ function EmailModal({
|
|
|
1887
1969
|
}) {
|
|
1888
1970
|
const [step, setStep] = (0, import_react9.useState)("input");
|
|
1889
1971
|
const [emailVal, setEmailVal] = (0, import_react9.useState)("");
|
|
1972
|
+
const intl = (0, import_react_intl5.useIntl)();
|
|
1890
1973
|
(0, import_react9.useEffect)(() => {
|
|
1891
1974
|
if (!isOpen) {
|
|
1892
1975
|
setStep("input");
|
|
@@ -1899,7 +1982,9 @@ function EmailModal({
|
|
|
1899
1982
|
isOpen,
|
|
1900
1983
|
width,
|
|
1901
1984
|
onClose,
|
|
1902
|
-
title:
|
|
1985
|
+
title: intl.formatMessage({
|
|
1986
|
+
id: "email"
|
|
1987
|
+
}),
|
|
1903
1988
|
onBack: step == "verify" ? () => setStep("input") : onBack,
|
|
1904
1989
|
children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
|
|
1905
1990
|
setEmailVal(email);
|
|
@@ -1942,6 +2027,7 @@ function Popover({
|
|
|
1942
2027
|
|
|
1943
2028
|
// src/components/LoginBox/index.tsx
|
|
1944
2029
|
var import_react11 = require("react");
|
|
2030
|
+
var import_react_intl6 = require("react-intl");
|
|
1945
2031
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
1946
2032
|
var RecommendItem = ({
|
|
1947
2033
|
icon,
|
|
@@ -1996,16 +2082,17 @@ function LoginBox({
|
|
|
1996
2082
|
const [emailOpen, setEmailOpen] = (0, import_react11.useState)(false);
|
|
1997
2083
|
const { login } = useUserInfo();
|
|
1998
2084
|
const [showWallet, setShowWallet] = (0, import_react11.useState)(false);
|
|
2085
|
+
const intl = (0, import_react_intl6.useIntl)();
|
|
1999
2086
|
const methodMap = {
|
|
2000
2087
|
wallet: {
|
|
2001
2088
|
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(WalletIcon, {}),
|
|
2002
|
-
name: "
|
|
2089
|
+
name: intl.formatMessage({ id: "wallet" }),
|
|
2003
2090
|
onClick: () => setShowWallet(!showWallet),
|
|
2004
2091
|
type: "wallet"
|
|
2005
2092
|
},
|
|
2006
2093
|
email: {
|
|
2007
2094
|
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(EmailIcon, {}),
|
|
2008
|
-
name: "
|
|
2095
|
+
name: intl.formatMessage({ id: "email" }),
|
|
2009
2096
|
onClick: () => {
|
|
2010
2097
|
setEmailOpen(true);
|
|
2011
2098
|
}
|
|
@@ -2044,6 +2131,11 @@ function LoginBox({
|
|
|
2044
2131
|
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(FacebookIcon, {}),
|
|
2045
2132
|
name: "Facebook",
|
|
2046
2133
|
onClick: () => login("facebook")
|
|
2134
|
+
},
|
|
2135
|
+
youtube: {
|
|
2136
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(YoutubeIcon, {}),
|
|
2137
|
+
name: "Youtube",
|
|
2138
|
+
onClick: () => login("youtube")
|
|
2047
2139
|
}
|
|
2048
2140
|
};
|
|
2049
2141
|
const walletMethods = [
|
|
@@ -2115,7 +2207,7 @@ function LoginBox({
|
|
|
2115
2207
|
);
|
|
2116
2208
|
}) }),
|
|
2117
2209
|
methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "matchid-login-other", children: [
|
|
2118
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-login-other-text", children:
|
|
2210
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_intl6.FormattedMessage, { id: "otherLoginMethods" }) }),
|
|
2119
2211
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
|
|
2120
2212
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2121
2213
|
"div",
|
|
@@ -2149,6 +2241,7 @@ function LoginBox({
|
|
|
2149
2241
|
var import_react13 = require("react");
|
|
2150
2242
|
|
|
2151
2243
|
// src/components/LoginPanel/index.tsx
|
|
2244
|
+
var import_react_intl7 = require("react-intl");
|
|
2152
2245
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2153
2246
|
function LoginPanel({
|
|
2154
2247
|
header,
|
|
@@ -2158,8 +2251,8 @@ function LoginPanel({
|
|
|
2158
2251
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel", children: [
|
|
2159
2252
|
header ? header : /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel-header", children: [
|
|
2160
2253
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
|
|
2161
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-title", children:
|
|
2162
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-subtilte", children:
|
|
2254
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_intl7.FormattedMessage, { id: "loginTitle" }) }),
|
|
2255
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_intl7.FormattedMessage, { id: "loginTips" }) })
|
|
2163
2256
|
] }),
|
|
2164
2257
|
onClose && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(CloseRoundIcon, {}) })
|
|
2165
2258
|
] }),
|
|
@@ -2215,6 +2308,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
2215
2308
|
}
|
|
2216
2309
|
|
|
2217
2310
|
// src/components/UserPopover/index.tsx
|
|
2311
|
+
var import_react_intl8 = require("react-intl");
|
|
2218
2312
|
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2219
2313
|
function UserContent() {
|
|
2220
2314
|
const { logout, address, username } = useUserInfo();
|
|
@@ -2249,6 +2343,7 @@ function UserContent() {
|
|
|
2249
2343
|
};
|
|
2250
2344
|
const [usernameOpen, setUsernameOpen] = (0, import_react12.useState)(false);
|
|
2251
2345
|
const [copied, setCopied] = useCopyClipboard();
|
|
2346
|
+
const intl = (0, import_react_intl8.useIntl)();
|
|
2252
2347
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-user-popover-content", children: [
|
|
2253
2348
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-user-popover-list", children: [
|
|
2254
2349
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserItem, { onClick: () => {
|
|
@@ -2257,9 +2352,11 @@ function UserContent() {
|
|
|
2257
2352
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserDivider, {}),
|
|
2258
2353
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserItem, { onClick: () => {
|
|
2259
2354
|
setUsernameOpen(true);
|
|
2260
|
-
}, icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username ||
|
|
2355
|
+
}, icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
|
|
2356
|
+
id: "setUsername"
|
|
2357
|
+
}) })
|
|
2261
2358
|
] }),
|
|
2262
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { onClick: onLogout, loading: logouting, children: "
|
|
2359
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_intl8.FormattedMessage, { id: "disconnect" }) }),
|
|
2263
2360
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
|
|
2264
2361
|
setUsernameOpen(false);
|
|
2265
2362
|
}, onSuccess: () => {
|
|
@@ -2275,6 +2372,7 @@ function UserPopover({
|
|
|
2275
2372
|
}
|
|
2276
2373
|
|
|
2277
2374
|
// src/components/LoginButton/index.tsx
|
|
2375
|
+
var import_react_intl9 = require("react-intl");
|
|
2278
2376
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2279
2377
|
function LoginButton({
|
|
2280
2378
|
loginRender,
|
|
@@ -2286,6 +2384,7 @@ function LoginButton({
|
|
|
2286
2384
|
popoverGap = 20,
|
|
2287
2385
|
...props
|
|
2288
2386
|
}) {
|
|
2387
|
+
const intl = (0, import_react_intl9.useIntl)();
|
|
2289
2388
|
const { isLogin, username } = useUserInfo();
|
|
2290
2389
|
const [loginOpen, setLoginOpen] = (0, import_react13.useState)(false);
|
|
2291
2390
|
if (!isLogin) {
|
|
@@ -2293,13 +2392,15 @@ function LoginButton({
|
|
|
2293
2392
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(LoginModal, { methods, recommendMethods, isOpen: loginOpen, onClose: () => setLoginOpen(false) }),
|
|
2294
2393
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
|
|
2295
2394
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UnLoginIcon_default, {}),
|
|
2296
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "
|
|
2395
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_intl9.FormattedMessage, { id: "login" }) })
|
|
2297
2396
|
] })
|
|
2298
2397
|
] });
|
|
2299
2398
|
}
|
|
2300
2399
|
return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx_runtime51.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
|
|
2301
2400
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(LoginIcon_default, {}),
|
|
2302
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: username ? truncateAddress(username) : "MatchID
|
|
2401
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
|
|
2402
|
+
id: "user"
|
|
2403
|
+
}) })
|
|
2303
2404
|
] }) });
|
|
2304
2405
|
}
|
|
2305
2406
|
|
|
@@ -2328,6 +2429,7 @@ function InfoRoundIcon({
|
|
|
2328
2429
|
}
|
|
2329
2430
|
|
|
2330
2431
|
// src/components/UsernameModal/index.tsx
|
|
2432
|
+
var import_react_intl10 = require("react-intl");
|
|
2331
2433
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2332
2434
|
var ValidItem = ({
|
|
2333
2435
|
success = false,
|
|
@@ -2381,11 +2483,18 @@ function UsernameModal({
|
|
|
2381
2483
|
setIsSubmitting(false);
|
|
2382
2484
|
}
|
|
2383
2485
|
};
|
|
2384
|
-
|
|
2385
|
-
|
|
2486
|
+
const intl = (0, import_react_intl10.useIntl)();
|
|
2487
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
2488
|
+
id: username ? "editUsernameTitle" : "setUsernameTitle"
|
|
2489
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "matchid-username-box", children: [
|
|
2490
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Field, { label: intl.formatMessage({
|
|
2491
|
+
id: "username"
|
|
2492
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2386
2493
|
Input,
|
|
2387
2494
|
{
|
|
2388
|
-
placeholder:
|
|
2495
|
+
placeholder: intl.formatMessage({
|
|
2496
|
+
id: "usernamePlaceholder"
|
|
2497
|
+
}),
|
|
2389
2498
|
onChange: (e) => {
|
|
2390
2499
|
setVal(e.target.value);
|
|
2391
2500
|
setError("");
|
|
@@ -2398,17 +2507,21 @@ function UsernameModal({
|
|
|
2398
2507
|
ValidItem,
|
|
2399
2508
|
{
|
|
2400
2509
|
success: isValid,
|
|
2401
|
-
text:
|
|
2510
|
+
text: intl.formatMessage({
|
|
2511
|
+
id: "usernameValidError"
|
|
2512
|
+
})
|
|
2402
2513
|
}
|
|
2403
2514
|
),
|
|
2404
|
-
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ValidItem, { success: isLength, text:
|
|
2515
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
|
|
2516
|
+
id: "usernameLengthError"
|
|
2517
|
+
}) })
|
|
2405
2518
|
] }),
|
|
2406
2519
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
|
|
2407
2520
|
marginTop: "64px"
|
|
2408
|
-
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: "
|
|
2521
|
+
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_intl10.FormattedMessage, { id: "confirm" }) }),
|
|
2409
2522
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { style: {
|
|
2410
2523
|
marginTop: "24px"
|
|
2411
|
-
}, onClick: props.onClose, size: "lg", block: true, children:
|
|
2524
|
+
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_intl10.FormattedMessage, { id: "nextTime" }) })
|
|
2412
2525
|
] }) });
|
|
2413
2526
|
}
|
|
2414
2527
|
|
|
@@ -2437,6 +2550,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
|
|
|
2437
2550
|
var walletSigningImage = "data:image/png;base64,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";
|
|
2438
2551
|
|
|
2439
2552
|
// src/components/SOLModal/index.tsx
|
|
2553
|
+
var import_react_intl11 = require("react-intl");
|
|
2440
2554
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
2441
2555
|
function WalletContent({
|
|
2442
2556
|
onSuccess,
|
|
@@ -2634,7 +2748,12 @@ function SOLModal({
|
|
|
2634
2748
|
onSuccess,
|
|
2635
2749
|
...props
|
|
2636
2750
|
}) {
|
|
2637
|
-
|
|
2751
|
+
const intl = (0, import_react_intl11.useIntl)();
|
|
2752
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
2753
|
+
id: type == "bind" ? "bindWith" : "loginWith"
|
|
2754
|
+
}, {
|
|
2755
|
+
name: "SOL"
|
|
2756
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
|
|
2638
2757
|
}
|
|
2639
2758
|
|
|
2640
2759
|
// src/context/BusinessProvider.tsx
|
|
@@ -2679,7 +2798,7 @@ var context_default = Providers;
|
|
|
2679
2798
|
|
|
2680
2799
|
// src/hooks/useWalletInit.ts
|
|
2681
2800
|
var import_react16 = require("react");
|
|
2682
|
-
var AppClientId2 =
|
|
2801
|
+
var AppClientId2 = getAppClientId();
|
|
2683
2802
|
function useWalletInit({
|
|
2684
2803
|
refreshOverview
|
|
2685
2804
|
}) {
|
|
@@ -2817,7 +2936,8 @@ function useInit({
|
|
|
2817
2936
|
theme,
|
|
2818
2937
|
appid,
|
|
2819
2938
|
events,
|
|
2820
|
-
endpoints
|
|
2939
|
+
endpoints,
|
|
2940
|
+
locale
|
|
2821
2941
|
}) {
|
|
2822
2942
|
const {
|
|
2823
2943
|
setAppid,
|
|
@@ -2826,7 +2946,9 @@ function useInit({
|
|
|
2826
2946
|
setMid,
|
|
2827
2947
|
token,
|
|
2828
2948
|
setOverview,
|
|
2829
|
-
setTheme
|
|
2949
|
+
setTheme,
|
|
2950
|
+
setLocale,
|
|
2951
|
+
locale: realLocale
|
|
2830
2952
|
} = useLocalStore_default();
|
|
2831
2953
|
const overviewLoadingRef = (0, import_react17.useRef)(false);
|
|
2832
2954
|
const searchParams = new URLSearchParams(window.location.search);
|
|
@@ -2841,6 +2963,9 @@ function useInit({
|
|
|
2841
2963
|
(0, import_react17.useEffect)(() => {
|
|
2842
2964
|
setEndpoints(realEndpoints);
|
|
2843
2965
|
}, [realEndpoints]);
|
|
2966
|
+
(0, import_react17.useEffect)(() => {
|
|
2967
|
+
setLocale(locale || "en");
|
|
2968
|
+
}, [locale]);
|
|
2844
2969
|
(0, import_react17.useEffect)(() => {
|
|
2845
2970
|
if (matchToken) {
|
|
2846
2971
|
const tokenData = JSON.parse(atob(matchToken));
|
|
@@ -2913,26 +3038,429 @@ function useInit({
|
|
|
2913
3038
|
return {
|
|
2914
3039
|
loadOverview,
|
|
2915
3040
|
login,
|
|
2916
|
-
endpoints: realEndpoints
|
|
3041
|
+
endpoints: realEndpoints,
|
|
3042
|
+
locale: realLocale
|
|
2917
3043
|
};
|
|
2918
3044
|
}
|
|
2919
3045
|
|
|
2920
3046
|
// src/MatchContext.tsx
|
|
2921
3047
|
var import_react_query = require("@tanstack/react-query");
|
|
3048
|
+
var import_react_intl12 = require("react-intl");
|
|
3049
|
+
|
|
3050
|
+
// src/i18n/en.json
|
|
3051
|
+
var en_default = {
|
|
3052
|
+
email: "Email",
|
|
3053
|
+
emailAddress: "Email Address",
|
|
3054
|
+
emailAddressPlaceholder: "Enter Your Email Address",
|
|
3055
|
+
continue: "Continue",
|
|
3056
|
+
send: "Send",
|
|
3057
|
+
resend: "Resend",
|
|
3058
|
+
sendCodeErrorTip: "Failed to send code: {error}",
|
|
3059
|
+
sendEmailTips: "We have sent a verification code to your email",
|
|
3060
|
+
verificationCode: "Verification Code",
|
|
3061
|
+
codePlaceholder: "Enter the code",
|
|
3062
|
+
wallet: "Wallet",
|
|
3063
|
+
otherLoginMethods: "Other login methods",
|
|
3064
|
+
login: "Login",
|
|
3065
|
+
user: "User",
|
|
3066
|
+
loginTitle: "Log in / Sign up",
|
|
3067
|
+
loginTips: "You can use the following methods",
|
|
3068
|
+
passwordMinError: "Password must be at least {length} characters",
|
|
3069
|
+
passwordMatchError: "The password you entered twice do not match",
|
|
3070
|
+
passwordTitle: "Set Password",
|
|
3071
|
+
passwordTips: "Please set the wallet password that will be used to recover the wallet",
|
|
3072
|
+
password: "Password",
|
|
3073
|
+
passwordPlaceholder: "Enter Your Password",
|
|
3074
|
+
rePassword: "Re Password",
|
|
3075
|
+
rePasswordPlaceholder: "Re Enter the Password",
|
|
3076
|
+
recoverTitle: "Recover Wallet",
|
|
3077
|
+
recoverTips: "Please enter your password to recover your wallet",
|
|
3078
|
+
bindWith: "Bind with {name} Wallet",
|
|
3079
|
+
loginWith: "Login with {name} Wallet",
|
|
3080
|
+
editUsernameTitle: "Edit User Name",
|
|
3081
|
+
setUsernameTitle: "Set User Name",
|
|
3082
|
+
username: "User Name",
|
|
3083
|
+
usernamePlaceholder: "Enter Your User Name",
|
|
3084
|
+
usernameValidError: "Name can be composed of numbers and letters as well as characters",
|
|
3085
|
+
usernameLengthError: "No less than 2 characters",
|
|
3086
|
+
confirm: "Confirm",
|
|
3087
|
+
nextTime: "Next time",
|
|
3088
|
+
setUsername: "Set a User Name",
|
|
3089
|
+
disconnect: "Disconnect"
|
|
3090
|
+
};
|
|
3091
|
+
|
|
3092
|
+
// src/i18n/zh.json
|
|
3093
|
+
var zh_default = {
|
|
3094
|
+
email: "\u90AE\u7BB1",
|
|
3095
|
+
emailAddress: "\u90AE\u7BB1\u5730\u5740",
|
|
3096
|
+
emailAddressPlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u90AE\u7BB1\u5730\u5740",
|
|
3097
|
+
continue: "\u7EE7\u7EED",
|
|
3098
|
+
send: "\u53D1\u9001",
|
|
3099
|
+
resend: "\u91CD\u65B0\u53D1\u9001",
|
|
3100
|
+
sendCodeErrorTip: "\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25\uFF1A{error}",
|
|
3101
|
+
sendEmailTips: "\u6211\u4EEC\u5DF2\u5411\u60A8\u7684\u90AE\u7BB1\u53D1\u9001\u9A8C\u8BC1\u7801",
|
|
3102
|
+
verificationCode: "\u9A8C\u8BC1\u7801",
|
|
3103
|
+
codePlaceholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
|
|
3104
|
+
wallet: "\u94B1\u5305",
|
|
3105
|
+
otherLoginMethods: "\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F",
|
|
3106
|
+
login: "\u767B\u5F55",
|
|
3107
|
+
user: "\u7528\u6237",
|
|
3108
|
+
loginTitle: "\u767B\u5F55 / \u6CE8\u518C",
|
|
3109
|
+
loginTips: "\u60A8\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5F55",
|
|
3110
|
+
passwordMinError: "\u5BC6\u7801\u5FC5\u987B\u81F3\u5C11\u5305\u542B {length} \u4E2A\u5B57\u7B26",
|
|
3111
|
+
passwordMatchError: "\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4",
|
|
3112
|
+
passwordTitle: "\u8BBE\u7F6E\u5BC6\u7801",
|
|
3113
|
+
passwordTips: "\u8BF7\u8BBE\u7F6E\u7528\u4E8E\u6062\u590D\u94B1\u5305\u7684\u94B1\u5305\u5BC6\u7801",
|
|
3114
|
+
password: "\u5BC6\u7801",
|
|
3115
|
+
passwordPlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u5BC6\u7801",
|
|
3116
|
+
rePassword: "\u786E\u8BA4\u5BC6\u7801",
|
|
3117
|
+
rePasswordPlaceholder: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
|
|
3118
|
+
recoverTitle: "\u6062\u590D\u94B1\u5305",
|
|
3119
|
+
recoverTips: "\u8BF7\u8F93\u5165\u60A8\u7684\u5BC6\u7801\u4EE5\u6062\u590D\u94B1\u5305",
|
|
3120
|
+
bindWith: "\u7ED1\u5B9A {name} \u94B1\u5305",
|
|
3121
|
+
loginWith: "\u4F7F\u7528 {name} \u94B1\u5305\u767B\u5F55",
|
|
3122
|
+
editUsernameTitle: "\u4FEE\u6539\u7528\u6237\u540D",
|
|
3123
|
+
setUsernameTitle: "\u8BBE\u7F6E\u7528\u6237\u540D",
|
|
3124
|
+
username: "\u7528\u6237\u540D",
|
|
3125
|
+
usernamePlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u7528\u6237\u540D",
|
|
3126
|
+
usernameValidError: "\u7528\u6237\u540D\u53EF\u4EE5\u7531\u6570\u5B57\u3001\u5B57\u6BCD\u548C\u5B57\u7B26\u7EC4\u6210",
|
|
3127
|
+
usernameLengthError: "\u7528\u6237\u540D\u4E0D\u5F97\u5C11\u4E8E 2 \u4E2A\u5B57\u7B26",
|
|
3128
|
+
confirm: "\u786E\u8BA4",
|
|
3129
|
+
nextTime: "\u4E0B\u6B21\u518D\u8BF4",
|
|
3130
|
+
setUsername: "\u8BBE\u7F6E\u7528\u6237\u540D",
|
|
3131
|
+
disconnect: "\u65AD\u5F00\u8FDE\u63A5"
|
|
3132
|
+
};
|
|
3133
|
+
|
|
3134
|
+
// src/i18n/tw.json
|
|
3135
|
+
var tw_default = {
|
|
3136
|
+
email: "\u90F5\u7BB1",
|
|
3137
|
+
emailAddress: "\u90F5\u7BB1\u5730\u5740",
|
|
3138
|
+
emailAddressPlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u90F5\u7BB1\u5730\u5740",
|
|
3139
|
+
continue: "\u7E7C\u7E8C",
|
|
3140
|
+
send: "\u767C\u9001",
|
|
3141
|
+
resend: "\u91CD\u65B0\u767C\u9001",
|
|
3142
|
+
sendCodeErrorTip: "\u767C\u9001\u9A57\u8B49\u78BC\u5931\u6557\uFF1A{error}",
|
|
3143
|
+
sendEmailTips: "\u6211\u5011\u5DF2\u5411\u60A8\u7684\u90F5\u7BB1\u767C\u9001\u9A57\u8B49\u78BC",
|
|
3144
|
+
verificationCode: "\u9A57\u8B49\u78BC",
|
|
3145
|
+
codePlaceholder: "\u8ACB\u8F38\u5165\u9A57\u8B49\u78BC",
|
|
3146
|
+
wallet: "\u9322\u5305",
|
|
3147
|
+
otherLoginMethods: "\u5176\u4ED6\u767B\u5165\u65B9\u5F0F",
|
|
3148
|
+
login: "\u767B\u5165",
|
|
3149
|
+
user: "\u7528\u6236",
|
|
3150
|
+
loginTitle: "\u767B\u5165 / \u8A3B\u518A",
|
|
3151
|
+
loginTips: "\u60A8\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5165",
|
|
3152
|
+
passwordMinError: "\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u5305\u542B {length} \u500B\u5B57\u7B26",
|
|
3153
|
+
passwordMatchError: "\u5169\u6B21\u8F38\u5165\u7684\u5BC6\u78BC\u4E0D\u4E00\u81F4",
|
|
3154
|
+
passwordTitle: "\u8A2D\u7F6E\u5BC6\u78BC",
|
|
3155
|
+
passwordTips: "\u8ACB\u8A2D\u7F6E\u7528\u65BC\u6062\u5FA9\u9322\u5305\u7684\u5BC6\u78BC",
|
|
3156
|
+
password: "\u5BC6\u78BC",
|
|
3157
|
+
passwordPlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC",
|
|
3158
|
+
rePassword: "\u78BA\u8A8D\u5BC6\u78BC",
|
|
3159
|
+
rePasswordPlaceholder: "\u8ACB\u518D\u6B21\u8F38\u5165\u5BC6\u78BC",
|
|
3160
|
+
recoverTitle: "\u6062\u5FA9\u9322\u5305",
|
|
3161
|
+
recoverTips: "\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC\u4EE5\u6062\u5FA9\u9322\u5305",
|
|
3162
|
+
bindWith: "\u7D81\u5B9A {name} \u9322\u5305",
|
|
3163
|
+
loginWith: "\u4F7F\u7528 {name} \u9322\u5305\u767B\u5165",
|
|
3164
|
+
editUsernameTitle: "\u4FEE\u6539\u7528\u6236\u540D",
|
|
3165
|
+
setUsernameTitle: "\u8A2D\u7F6E\u7528\u6236\u540D",
|
|
3166
|
+
username: "\u7528\u6236\u540D",
|
|
3167
|
+
usernamePlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u7528\u6236\u540D",
|
|
3168
|
+
usernameValidError: "\u7528\u6236\u540D\u53EF\u4EE5\u7531\u6578\u5B57\u3001\u5B57\u6BCD\u548C\u5B57\u7B26\u7D44\u6210",
|
|
3169
|
+
usernameLengthError: "\u7528\u6236\u540D\u4E0D\u5F97\u5C11\u65BC 2 \u500B\u5B57\u7B26",
|
|
3170
|
+
confirm: "\u78BA\u8A8D",
|
|
3171
|
+
nextTime: "\u4E0B\u6B21\u518D\u8AAA",
|
|
3172
|
+
setUsername: "\u8A2D\u7F6E\u7528\u6236\u540D",
|
|
3173
|
+
disconnect: "\u65B7\u958B\u9023\u63A5"
|
|
3174
|
+
};
|
|
3175
|
+
|
|
3176
|
+
// src/i18n/fr.json
|
|
3177
|
+
var fr_default = {
|
|
3178
|
+
email: "Email",
|
|
3179
|
+
emailAddress: "Adresse Email",
|
|
3180
|
+
emailAddressPlaceholder: "Entrez votre adresse email",
|
|
3181
|
+
continue: "Continuer",
|
|
3182
|
+
send: "Envoyer",
|
|
3183
|
+
resend: "Renvoyer",
|
|
3184
|
+
sendCodeErrorTip: "\xC9chec de l'envoi du code : {error}",
|
|
3185
|
+
sendEmailTips: "Un code de v\xE9rification a \xE9t\xE9 envoy\xE9 \xE0 votre email",
|
|
3186
|
+
verificationCode: "Code de v\xE9rification",
|
|
3187
|
+
codePlaceholder: "Entrez le code",
|
|
3188
|
+
wallet: "Portefeuille",
|
|
3189
|
+
otherLoginMethods: "Autres m\xE9thodes de connexion",
|
|
3190
|
+
login: "Connexion",
|
|
3191
|
+
user: "Utilisateur",
|
|
3192
|
+
loginTitle: "Connexion / Inscription",
|
|
3193
|
+
loginTips: "Vous pouvez utiliser les m\xE9thodes suivantes",
|
|
3194
|
+
passwordMinError: "Le mot de passe doit contenir au moins {length} caract\xE8res",
|
|
3195
|
+
passwordMatchError: "Les mots de passe ne correspondent pas",
|
|
3196
|
+
passwordTitle: "D\xE9finir un mot de passe",
|
|
3197
|
+
passwordTips: "Veuillez d\xE9finir le mot de passe pour restaurer le portefeuille",
|
|
3198
|
+
password: "Mot de passe",
|
|
3199
|
+
passwordPlaceholder: "Entrez votre mot de passe",
|
|
3200
|
+
rePassword: "Confirmer le mot de passe",
|
|
3201
|
+
rePasswordPlaceholder: "Ressaisissez le mot de passe",
|
|
3202
|
+
recoverTitle: "Restaurer le portefeuille",
|
|
3203
|
+
recoverTips: "Entrez votre mot de passe pour restaurer le portefeuille",
|
|
3204
|
+
bindWith: "Lier avec le portefeuille {name}",
|
|
3205
|
+
loginWith: "Connexion avec le portefeuille {name}",
|
|
3206
|
+
editUsernameTitle: "Modifier le nom d'utilisateur",
|
|
3207
|
+
setUsernameTitle: "D\xE9finir un nom d'utilisateur",
|
|
3208
|
+
username: "Nom d'utilisateur",
|
|
3209
|
+
usernamePlaceholder: "Entrez votre nom d'utilisateur",
|
|
3210
|
+
usernameValidError: "Le nom peut contenir des lettres, chiffres et caract\xE8res",
|
|
3211
|
+
usernameLengthError: "Le nom doit comporter au moins 2 caract\xE8res",
|
|
3212
|
+
confirm: "Confirmer",
|
|
3213
|
+
nextTime: "La prochaine fois",
|
|
3214
|
+
setUsername: "D\xE9finir un nom d'utilisateur",
|
|
3215
|
+
disconnect: "D\xE9connecter"
|
|
3216
|
+
};
|
|
3217
|
+
|
|
3218
|
+
// src/i18n/ja.json
|
|
3219
|
+
var ja_default = {
|
|
3220
|
+
email: "\u30E1\u30FC\u30EB",
|
|
3221
|
+
emailAddress: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",
|
|
3222
|
+
emailAddressPlaceholder: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3223
|
+
continue: "\u7D9A\u3051\u308B",
|
|
3224
|
+
send: "\u9001\u4FE1",
|
|
3225
|
+
resend: "\u518D\u9001\u4FE1",
|
|
3226
|
+
sendCodeErrorTip: "\u30B3\u30FC\u30C9\u9001\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {error}",
|
|
3227
|
+
sendEmailTips: "\u78BA\u8A8D\u30B3\u30FC\u30C9\u3092\u30E1\u30FC\u30EB\u306B\u9001\u4FE1\u3057\u307E\u3057\u305F",
|
|
3228
|
+
verificationCode: "\u78BA\u8A8D\u30B3\u30FC\u30C9",
|
|
3229
|
+
codePlaceholder: "\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3230
|
+
wallet: "\u30A6\u30A9\u30EC\u30C3\u30C8",
|
|
3231
|
+
otherLoginMethods: "\u305D\u306E\u4ED6\u306E\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5",
|
|
3232
|
+
login: "\u30ED\u30B0\u30A4\u30F3",
|
|
3233
|
+
user: "\u30E6\u30FC\u30B6\u30FC",
|
|
3234
|
+
loginTitle: "\u30ED\u30B0\u30A4\u30F3 / \u767B\u9332",
|
|
3235
|
+
loginTips: "\u4EE5\u4E0B\u306E\u65B9\u6CD5\u3067\u30ED\u30B0\u30A4\u30F3\u3067\u304D\u307E\u3059",
|
|
3236
|
+
passwordMinError: "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u6700\u4F4E {length} \u6587\u5B57\u5FC5\u8981\u3067\u3059",
|
|
3237
|
+
passwordMatchError: "\u5165\u529B\u3055\u308C\u305F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093",
|
|
3238
|
+
passwordTitle: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8A2D\u5B9A",
|
|
3239
|
+
passwordTips: "\u30A6\u30A9\u30EC\u30C3\u30C8\u5FA9\u5143\u7528\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3240
|
+
password: "\u30D1\u30B9\u30EF\u30FC\u30C9",
|
|
3241
|
+
passwordPlaceholder: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3242
|
+
rePassword: "\u30D1\u30B9\u30EF\u30FC\u30C9\u78BA\u8A8D",
|
|
3243
|
+
rePasswordPlaceholder: "\u518D\u5EA6\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3244
|
+
recoverTitle: "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5FA9\u5143",
|
|
3245
|
+
recoverTips: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3246
|
+
bindWith: "{name}\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u9023\u643A",
|
|
3247
|
+
loginWith: "{name}\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u30ED\u30B0\u30A4\u30F3",
|
|
3248
|
+
editUsernameTitle: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u7DE8\u96C6",
|
|
3249
|
+
setUsernameTitle: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u8A2D\u5B9A",
|
|
3250
|
+
username: "\u30E6\u30FC\u30B6\u30FC\u540D",
|
|
3251
|
+
usernamePlaceholder: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3252
|
+
usernameValidError: "\u540D\u524D\u306F\u6587\u5B57\u3001\u6570\u5B57\u3001\u8A18\u53F7\u3067\u69CB\u6210\u3067\u304D\u307E\u3059",
|
|
3253
|
+
usernameLengthError: "2\u6587\u5B57\u4EE5\u4E0A\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3254
|
+
confirm: "\u78BA\u8A8D",
|
|
3255
|
+
nextTime: "\u6B21\u56DE",
|
|
3256
|
+
setUsername: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u8A2D\u5B9A",
|
|
3257
|
+
disconnect: "\u5207\u65AD"
|
|
3258
|
+
};
|
|
3259
|
+
|
|
3260
|
+
// src/i18n/ko.json
|
|
3261
|
+
var ko_default = {
|
|
3262
|
+
email: "\uC774\uBA54\uC77C",
|
|
3263
|
+
emailAddress: "\uC774\uBA54\uC77C \uC8FC\uC18C",
|
|
3264
|
+
emailAddressPlaceholder: "\uC774\uBA54\uC77C \uC8FC\uC18C\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3265
|
+
continue: "\uACC4\uC18D\uD558\uAE30",
|
|
3266
|
+
send: "\uBCF4\uB0B4\uAE30",
|
|
3267
|
+
resend: "\uC7AC\uC804\uC1A1",
|
|
3268
|
+
sendCodeErrorTip: "\uCF54\uB4DC \uC804\uC1A1 \uC2E4\uD328: {error}",
|
|
3269
|
+
sendEmailTips: "\uC778\uC99D \uCF54\uB4DC\uB97C \uC774\uBA54\uC77C\uB85C \uBCF4\uB0C8\uC2B5\uB2C8\uB2E4",
|
|
3270
|
+
verificationCode: "\uC778\uC99D \uCF54\uB4DC",
|
|
3271
|
+
codePlaceholder: "\uCF54\uB4DC\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3272
|
+
wallet: "\uC9C0\uAC11",
|
|
3273
|
+
otherLoginMethods: "\uB2E4\uB978 \uB85C\uADF8\uC778 \uBC29\uBC95",
|
|
3274
|
+
login: "\uB85C\uADF8\uC778",
|
|
3275
|
+
user: "\uC0AC\uC6A9\uC790",
|
|
3276
|
+
loginTitle: "\uB85C\uADF8\uC778 / \uD68C\uC6D0\uAC00\uC785",
|
|
3277
|
+
loginTips: "\uB2E4\uC74C \uBC29\uBC95\uC73C\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
3278
|
+
passwordMinError: "\uBE44\uBC00\uBC88\uD638\uB294 \uCD5C\uC18C {length}\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",
|
|
3279
|
+
passwordMatchError: "\uB450 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",
|
|
3280
|
+
passwordTitle: "\uBE44\uBC00\uBC88\uD638 \uC124\uC815",
|
|
3281
|
+
passwordTips: "\uC9C0\uAC11 \uBCF5\uAD6C\uC5D0 \uC0AC\uC6A9\uD560 \uBE44\uBC00\uBC88\uD638\uB97C \uC124\uC815\uD558\uC138\uC694",
|
|
3282
|
+
password: "\uBE44\uBC00\uBC88\uD638",
|
|
3283
|
+
passwordPlaceholder: "\uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3284
|
+
rePassword: "\uBE44\uBC00\uBC88\uD638 \uD655\uC778",
|
|
3285
|
+
rePasswordPlaceholder: "\uBE44\uBC00\uBC88\uD638\uB97C \uB2E4\uC2DC \uC785\uB825\uD558\uC138\uC694",
|
|
3286
|
+
recoverTitle: "\uC9C0\uAC11 \uBCF5\uAD6C",
|
|
3287
|
+
recoverTips: "\uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD574 \uC9C0\uAC11\uC744 \uBCF5\uAD6C\uD558\uC138\uC694",
|
|
3288
|
+
bindWith: "{name} \uC9C0\uAC11\uACFC \uC5F0\uACB0",
|
|
3289
|
+
loginWith: "{name} \uC9C0\uAC11\uC73C\uB85C \uB85C\uADF8\uC778",
|
|
3290
|
+
editUsernameTitle: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC218\uC815",
|
|
3291
|
+
setUsernameTitle: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC124\uC815",
|
|
3292
|
+
username: "\uC0AC\uC6A9\uC790 \uC774\uB984",
|
|
3293
|
+
usernamePlaceholder: "\uC0AC\uC6A9\uC790 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694",
|
|
3294
|
+
usernameValidError: "\uC774\uB984\uC740 \uBB38\uC790, \uC22B\uC790 \uBC0F \uD2B9\uC218\uBB38\uC790\uB85C \uAD6C\uC131\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
3295
|
+
usernameLengthError: "\uC774\uB984\uC740 \uCD5C\uC18C 2\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",
|
|
3296
|
+
confirm: "\uD655\uC778",
|
|
3297
|
+
nextTime: "\uB2E4\uC74C\uC5D0",
|
|
3298
|
+
setUsername: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC124\uC815",
|
|
3299
|
+
disconnect: "\uC5F0\uACB0 \uB04A\uAE30"
|
|
3300
|
+
};
|
|
3301
|
+
|
|
3302
|
+
// src/i18n/vi.json
|
|
3303
|
+
var vi_default = {
|
|
3304
|
+
email: "Email",
|
|
3305
|
+
emailAddress: "\u0110\u1ECBa ch\u1EC9 Email",
|
|
3306
|
+
emailAddressPlaceholder: "Nh\u1EADp \u0111\u1ECBa ch\u1EC9 Email c\u1EE7a b\u1EA1n",
|
|
3307
|
+
continue: "Ti\u1EBFp t\u1EE5c",
|
|
3308
|
+
send: "G\u1EEDi",
|
|
3309
|
+
resend: "G\u1EEDi l\u1EA1i",
|
|
3310
|
+
sendCodeErrorTip: "G\u1EEDi m\xE3 th\u1EA5t b\u1EA1i: {error}",
|
|
3311
|
+
sendEmailTips: "Ch\xFAng t\xF4i \u0111\xE3 g\u1EEDi m\xE3 x\xE1c minh \u0111\u1EBFn email c\u1EE7a b\u1EA1n",
|
|
3312
|
+
verificationCode: "M\xE3 x\xE1c minh",
|
|
3313
|
+
codePlaceholder: "Nh\u1EADp m\xE3",
|
|
3314
|
+
wallet: "V\xED",
|
|
3315
|
+
otherLoginMethods: "Ph\u01B0\u01A1ng th\u1EE9c \u0111\u0103ng nh\u1EADp kh\xE1c",
|
|
3316
|
+
login: "\u0110\u0103ng nh\u1EADp",
|
|
3317
|
+
user: "Ng\u01B0\u1EDDi d\xF9ng",
|
|
3318
|
+
loginTitle: "\u0110\u0103ng nh\u1EADp / \u0110\u0103ng k\xFD",
|
|
3319
|
+
loginTips: "B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng c\xE1c ph\u01B0\u01A1ng th\u1EE9c sau",
|
|
3320
|
+
passwordMinError: "M\u1EADt kh\u1EA9u ph\u1EA3i c\xF3 \xEDt nh\u1EA5t {length} k\xFD t\u1EF1",
|
|
3321
|
+
passwordMatchError: "Hai m\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp",
|
|
3322
|
+
passwordTitle: "T\u1EA1o m\u1EADt kh\u1EA9u",
|
|
3323
|
+
passwordTips: "Vui l\xF2ng \u0111\u1EB7t m\u1EADt kh\u1EA9u \u0111\u1EC3 kh\xF4i ph\u1EE5c v\xED",
|
|
3324
|
+
password: "M\u1EADt kh\u1EA9u",
|
|
3325
|
+
passwordPlaceholder: "Nh\u1EADp m\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n",
|
|
3326
|
+
rePassword: "X\xE1c nh\u1EADn m\u1EADt kh\u1EA9u",
|
|
3327
|
+
rePasswordPlaceholder: "Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u",
|
|
3328
|
+
recoverTitle: "Kh\xF4i ph\u1EE5c v\xED",
|
|
3329
|
+
recoverTips: "Nh\u1EADp m\u1EADt kh\u1EA9u \u0111\u1EC3 kh\xF4i ph\u1EE5c v\xED",
|
|
3330
|
+
bindWith: "Li\xEAn k\u1EBFt v\u1EDBi v\xED {name}",
|
|
3331
|
+
loginWith: "\u0110\u0103ng nh\u1EADp b\u1EB1ng v\xED {name}",
|
|
3332
|
+
editUsernameTitle: "Ch\u1EC9nh s\u1EEDa t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3333
|
+
setUsernameTitle: "\u0110\u1EB7t t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3334
|
+
username: "T\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3335
|
+
usernamePlaceholder: "Nh\u1EADp t\xEAn ng\u01B0\u1EDDi d\xF9ng c\u1EE7a b\u1EA1n",
|
|
3336
|
+
usernameValidError: "T\xEAn ch\u1EC9 \u0111\u01B0\u1EE3c ch\u1EE9a ch\u1EEF, s\u1ED1 v\xE0 k\xFD t\u1EF1",
|
|
3337
|
+
usernameLengthError: "T\xEAn ph\u1EA3i d\xE0i \xEDt nh\u1EA5t 2 k\xFD t\u1EF1",
|
|
3338
|
+
confirm: "X\xE1c nh\u1EADn",
|
|
3339
|
+
nextTime: "L\u1EA7n sau",
|
|
3340
|
+
setUsername: "\u0110\u1EB7t t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3341
|
+
disconnect: "Ng\u1EAFt k\u1EBFt n\u1ED1i"
|
|
3342
|
+
};
|
|
3343
|
+
|
|
3344
|
+
// src/i18n/es.json
|
|
3345
|
+
var es_default = {
|
|
3346
|
+
email: "Correo",
|
|
3347
|
+
emailAddress: "Direcci\xF3n de correo",
|
|
3348
|
+
emailAddressPlaceholder: "Introduce tu direcci\xF3n de correo",
|
|
3349
|
+
continue: "Continuar",
|
|
3350
|
+
send: "Enviar",
|
|
3351
|
+
resend: "Reenviar",
|
|
3352
|
+
sendCodeErrorTip: "Error al enviar el c\xF3digo: {error}",
|
|
3353
|
+
sendEmailTips: "Hemos enviado un c\xF3digo de verificaci\xF3n a tu correo",
|
|
3354
|
+
verificationCode: "C\xF3digo de verificaci\xF3n",
|
|
3355
|
+
codePlaceholder: "Introduce el c\xF3digo",
|
|
3356
|
+
wallet: "Cartera",
|
|
3357
|
+
otherLoginMethods: "Otros m\xE9todos de inicio de sesi\xF3n",
|
|
3358
|
+
login: "Iniciar sesi\xF3n",
|
|
3359
|
+
user: "Usuario",
|
|
3360
|
+
loginTitle: "Iniciar sesi\xF3n / Registrarse",
|
|
3361
|
+
loginTips: "Puedes usar los siguientes m\xE9todos",
|
|
3362
|
+
passwordMinError: "La contrase\xF1a debe tener al menos {length} caracteres",
|
|
3363
|
+
passwordMatchError: "Las contrase\xF1as no coinciden",
|
|
3364
|
+
passwordTitle: "Establecer contrase\xF1a",
|
|
3365
|
+
passwordTips: "Configura la contrase\xF1a para recuperar tu cartera",
|
|
3366
|
+
password: "Contrase\xF1a",
|
|
3367
|
+
passwordPlaceholder: "Introduce tu contrase\xF1a",
|
|
3368
|
+
rePassword: "Confirmar contrase\xF1a",
|
|
3369
|
+
rePasswordPlaceholder: "Repite la contrase\xF1a",
|
|
3370
|
+
recoverTitle: "Recuperar cartera",
|
|
3371
|
+
recoverTips: "Introduce tu contrase\xF1a para recuperar la cartera",
|
|
3372
|
+
bindWith: "Vincular con la cartera {name}",
|
|
3373
|
+
loginWith: "Iniciar sesi\xF3n con la cartera {name}",
|
|
3374
|
+
editUsernameTitle: "Editar nombre de usuario",
|
|
3375
|
+
setUsernameTitle: "Establecer nombre de usuario",
|
|
3376
|
+
username: "Nombre de usuario",
|
|
3377
|
+
usernamePlaceholder: "Introduce tu nombre de usuario",
|
|
3378
|
+
usernameValidError: "El nombre puede contener letras, n\xFAmeros y caracteres",
|
|
3379
|
+
usernameLengthError: "El nombre debe tener al menos 2 caracteres",
|
|
3380
|
+
confirm: "Confirmar",
|
|
3381
|
+
nextTime: "La pr\xF3xima vez",
|
|
3382
|
+
setUsername: "Establecer nombre de usuario",
|
|
3383
|
+
disconnect: "Desconectar"
|
|
3384
|
+
};
|
|
3385
|
+
|
|
3386
|
+
// src/i18n/pt.json
|
|
3387
|
+
var pt_default = {
|
|
3388
|
+
email: "Email",
|
|
3389
|
+
emailAddress: "Endere\xE7o de Email",
|
|
3390
|
+
emailAddressPlaceholder: "Digite seu endere\xE7o de email",
|
|
3391
|
+
continue: "Continuar",
|
|
3392
|
+
send: "Enviar",
|
|
3393
|
+
resend: "Reenviar",
|
|
3394
|
+
sendCodeErrorTip: "Falha ao enviar c\xF3digo: {error}",
|
|
3395
|
+
sendEmailTips: "Enviamos um c\xF3digo de verifica\xE7\xE3o para seu email",
|
|
3396
|
+
verificationCode: "C\xF3digo de Verifica\xE7\xE3o",
|
|
3397
|
+
codePlaceholder: "Digite o c\xF3digo",
|
|
3398
|
+
wallet: "Carteira",
|
|
3399
|
+
otherLoginMethods: "Outros m\xE9todos de login",
|
|
3400
|
+
login: "Entrar",
|
|
3401
|
+
user: "Usu\xE1rio",
|
|
3402
|
+
loginTitle: "Entrar / Registrar",
|
|
3403
|
+
loginTips: "Voc\xEA pode usar os m\xE9todos abaixo",
|
|
3404
|
+
passwordMinError: "A senha deve ter pelo menos {length} caracteres",
|
|
3405
|
+
passwordMatchError: "As senhas digitadas n\xE3o coincidem",
|
|
3406
|
+
passwordTitle: "Definir Senha",
|
|
3407
|
+
passwordTips: "Configure uma senha para recuperar sua carteira",
|
|
3408
|
+
password: "Senha",
|
|
3409
|
+
passwordPlaceholder: "Digite sua senha",
|
|
3410
|
+
rePassword: "Confirmar Senha",
|
|
3411
|
+
rePasswordPlaceholder: "Digite a senha novamente",
|
|
3412
|
+
recoverTitle: "Recuperar Carteira",
|
|
3413
|
+
recoverTips: "Digite sua senha para recuperar a carteira",
|
|
3414
|
+
bindWith: "Vincular com Carteira {name}",
|
|
3415
|
+
loginWith: "Entrar com Carteira {name}",
|
|
3416
|
+
editUsernameTitle: "Editar Nome de Usu\xE1rio",
|
|
3417
|
+
setUsernameTitle: "Definir Nome de Usu\xE1rio",
|
|
3418
|
+
username: "Nome de Usu\xE1rio",
|
|
3419
|
+
usernamePlaceholder: "Digite seu nome de usu\xE1rio",
|
|
3420
|
+
usernameValidError: "O nome pode conter letras, n\xFAmeros e caracteres",
|
|
3421
|
+
usernameLengthError: "Deve ter no m\xEDnimo 2 caracteres",
|
|
3422
|
+
confirm: "Confirmar",
|
|
3423
|
+
nextTime: "Pr\xF3xima vez",
|
|
3424
|
+
setUsername: "Definir Nome de Usu\xE1rio",
|
|
3425
|
+
disconnect: "Desconectar"
|
|
3426
|
+
};
|
|
3427
|
+
|
|
3428
|
+
// src/i18n/index.ts
|
|
3429
|
+
var messages = {
|
|
3430
|
+
en: en_default,
|
|
3431
|
+
zh: zh_default,
|
|
3432
|
+
tw: tw_default,
|
|
3433
|
+
fr: fr_default,
|
|
3434
|
+
ja: ja_default,
|
|
3435
|
+
ko: ko_default,
|
|
3436
|
+
vi: vi_default,
|
|
3437
|
+
es: es_default,
|
|
3438
|
+
pt: pt_default
|
|
3439
|
+
};
|
|
3440
|
+
|
|
3441
|
+
// src/MatchContext.tsx
|
|
2922
3442
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
2923
3443
|
var queryClient = new import_react_query.QueryClient();
|
|
2924
3444
|
var MatchContext = (0, import_react18.createContext)(void 0);
|
|
2925
|
-
var MatchProvider = ({ children, appid, events, theme = "light", endpoints }) => {
|
|
2926
|
-
const { loadOverview, login, endpoints: realEndPoints } = useInit({
|
|
3445
|
+
var MatchProvider = ({ children, appid, events, theme = "light", endpoints, locale }) => {
|
|
3446
|
+
const { loadOverview, login, endpoints: realEndPoints, locale: realLocale } = useInit({
|
|
2927
3447
|
theme,
|
|
2928
3448
|
appid,
|
|
2929
3449
|
events,
|
|
2930
|
-
endpoints
|
|
3450
|
+
endpoints,
|
|
3451
|
+
locale
|
|
3452
|
+
});
|
|
3453
|
+
matchlog_default.log("config", {
|
|
3454
|
+
appid,
|
|
3455
|
+
theme,
|
|
3456
|
+
endpoints,
|
|
3457
|
+
locale,
|
|
3458
|
+
realLocale
|
|
2931
3459
|
});
|
|
2932
3460
|
useWalletInit({
|
|
2933
3461
|
refreshOverview: loadOverview
|
|
2934
3462
|
});
|
|
2935
|
-
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_query.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
3463
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_intl12.IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_query.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
2936
3464
|
MatchContext.Provider,
|
|
2937
3465
|
{
|
|
2938
3466
|
value: {
|
|
@@ -2940,11 +3468,12 @@ var MatchProvider = ({ children, appid, events, theme = "light", endpoints }) =>
|
|
|
2940
3468
|
endpoints: realEndPoints,
|
|
2941
3469
|
events,
|
|
2942
3470
|
login,
|
|
2943
|
-
theme
|
|
3471
|
+
theme,
|
|
3472
|
+
locale: realLocale
|
|
2944
3473
|
},
|
|
2945
3474
|
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(context_default, { children })
|
|
2946
3475
|
}
|
|
2947
|
-
) });
|
|
3476
|
+
) }) });
|
|
2948
3477
|
};
|
|
2949
3478
|
var useMatch = () => {
|
|
2950
3479
|
const context = (0, import_react18.useContext)(MatchContext);
|