@matchain/matchid-sdk-react 0.1.29 → 0.1.31
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.css +16 -6
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +570 -68
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +570 -68
- package/dist/index.mjs.map +1 -1
- package/example/src/App.tsx +33 -18
- package/example/src/components/Login/index.tsx +1 -1
- package/example/src/config/index.ts +3 -0
- package/example/src/pages/User.tsx +2 -2
- package/package.json +2 -1
- package/readme.md +29 -3
package/dist/index.js
CHANGED
|
@@ -729,18 +729,24 @@ function Input({
|
|
|
729
729
|
...props
|
|
730
730
|
}) {
|
|
731
731
|
const [inputType, setInputType] = (0, import_react.useState)(type);
|
|
732
|
-
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
733
|
+
"div",
|
|
734
|
+
{
|
|
735
|
+
className: `matchid-input-box ${props.value.length > 0 ? "matchid-input-has-content" : ""} ${className}`,
|
|
736
|
+
children: [
|
|
737
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("input", { type: inputType, onChange, ...props, className: "matchid-input-field" }),
|
|
738
|
+
props.value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "matchid-input-delete-icon", onClick: (e) => {
|
|
739
|
+
if (onChange) {
|
|
740
|
+
onChange({ target: { value: "" } });
|
|
741
|
+
}
|
|
742
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DeleteRoundIcon, { className: "", color: "var(--matchid-input-delete-icon-color)" }) }),
|
|
743
|
+
type === "password" && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "matchid-input-eye-icon", onClick: () => {
|
|
744
|
+
setInputType(inputType === "password" ? "text" : "password");
|
|
745
|
+
}, children: inputType === "password" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CloseEyeIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(OpenEyeIcon, {}) }),
|
|
746
|
+
after
|
|
747
|
+
]
|
|
748
|
+
}
|
|
749
|
+
);
|
|
744
750
|
}
|
|
745
751
|
|
|
746
752
|
// src/components/Field/index.tsx
|
|
@@ -835,7 +841,9 @@ var persistedState = (0, import_middleware.persist)(
|
|
|
835
841
|
setTheme: (theme) => set({ theme }),
|
|
836
842
|
setEndpoints: (endpoints) => set({ endpoints }),
|
|
837
843
|
address: "",
|
|
838
|
-
setAddress: (address) => set({ address })
|
|
844
|
+
setAddress: (address) => set({ address }),
|
|
845
|
+
locale: "en",
|
|
846
|
+
setLocale: (locale) => set({ locale })
|
|
839
847
|
}),
|
|
840
848
|
{ name: "match-local" }
|
|
841
849
|
);
|
|
@@ -884,6 +892,19 @@ var getAppid = () => {
|
|
|
884
892
|
return "";
|
|
885
893
|
}
|
|
886
894
|
};
|
|
895
|
+
var getLocale = () => {
|
|
896
|
+
try {
|
|
897
|
+
const store = localStore.getState();
|
|
898
|
+
const locale = store?.locale;
|
|
899
|
+
if (locale) {
|
|
900
|
+
return locale;
|
|
901
|
+
} else {
|
|
902
|
+
return "en";
|
|
903
|
+
}
|
|
904
|
+
} catch (e) {
|
|
905
|
+
return "en";
|
|
906
|
+
}
|
|
907
|
+
};
|
|
887
908
|
var getToken = () => {
|
|
888
909
|
try {
|
|
889
910
|
const store = localStore.getState();
|
|
@@ -932,6 +953,7 @@ var request = async (config) => {
|
|
|
932
953
|
if (token) {
|
|
933
954
|
instance.defaults.headers.common["Authorization"] = token;
|
|
934
955
|
}
|
|
956
|
+
instance.defaults.headers.common["Accept-Language"] = getLocale();
|
|
935
957
|
const { data } = await instance.request(config);
|
|
936
958
|
matchlog_default.log("api", data);
|
|
937
959
|
if (data.code == 401001) {
|
|
@@ -1152,9 +1174,6 @@ function truncateAddress(address) {
|
|
|
1152
1174
|
const end = address.slice(-2);
|
|
1153
1175
|
return `${start}...${end}`;
|
|
1154
1176
|
}
|
|
1155
|
-
function firstUpperCase(str) {
|
|
1156
|
-
return str.toString()[0].toUpperCase() + str.toString().slice(1);
|
|
1157
|
-
}
|
|
1158
1177
|
|
|
1159
1178
|
// src/store/useModalStore.ts
|
|
1160
1179
|
var import_zustand2 = require("zustand");
|
|
@@ -1543,6 +1562,7 @@ function useCopyClipboard(timeout = 500) {
|
|
|
1543
1562
|
}
|
|
1544
1563
|
|
|
1545
1564
|
// src/components/PasswordModal/index.tsx
|
|
1565
|
+
var import_react_intl = require("react-intl");
|
|
1546
1566
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1547
1567
|
function PasswordModal({
|
|
1548
1568
|
title,
|
|
@@ -1556,13 +1576,20 @@ function PasswordModal({
|
|
|
1556
1576
|
const [rePassword, setRePassword] = (0, import_react5.useState)("");
|
|
1557
1577
|
const [error, setError] = (0, import_react5.useState)("");
|
|
1558
1578
|
const { generateWallet } = useWallet();
|
|
1579
|
+
const intl = (0, import_react_intl.useIntl)();
|
|
1559
1580
|
const passwordError = (0, import_react5.useMemo)(() => {
|
|
1560
|
-
if (password.length < 6) return
|
|
1581
|
+
if (password.length < 6) return intl.formatMessage({
|
|
1582
|
+
id: "passwordMinError"
|
|
1583
|
+
}, {
|
|
1584
|
+
length: 6
|
|
1585
|
+
});
|
|
1561
1586
|
return "";
|
|
1562
1587
|
}, [password]);
|
|
1563
1588
|
const rePasswordError = (0, import_react5.useMemo)(() => {
|
|
1564
1589
|
if (rePassword != password) {
|
|
1565
|
-
return
|
|
1590
|
+
return intl.formatMessage({
|
|
1591
|
+
id: "passwordMatchError"
|
|
1592
|
+
});
|
|
1566
1593
|
}
|
|
1567
1594
|
return "";
|
|
1568
1595
|
}, [rePassword, password]);
|
|
@@ -1589,26 +1616,32 @@ function PasswordModal({
|
|
|
1589
1616
|
setIsSubmitting(false);
|
|
1590
1617
|
}
|
|
1591
1618
|
};
|
|
1592
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title ||
|
|
1619
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
1620
|
+
id: "passwordTitle"
|
|
1621
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-box", children: [
|
|
1593
1622
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-header", children: [
|
|
1594
1623
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PasswordRoundIcon, {}) }),
|
|
1595
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "matchid-password-header-content", children:
|
|
1624
|
+
/* @__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" }) })
|
|
1596
1625
|
] }),
|
|
1597
1626
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-content", children: [
|
|
1598
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: "
|
|
1627
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1599
1628
|
Input,
|
|
1600
1629
|
{
|
|
1601
|
-
placeholder:
|
|
1630
|
+
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
1602
1631
|
maxLength: 32,
|
|
1603
1632
|
type: "password",
|
|
1604
1633
|
onChange: (e) => setPassword(e.target.value),
|
|
1605
1634
|
value: password
|
|
1606
1635
|
}
|
|
1607
1636
|
) }),
|
|
1608
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label:
|
|
1637
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: intl.formatMessage({
|
|
1638
|
+
id: "rePassword"
|
|
1639
|
+
}), error: rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1609
1640
|
Input,
|
|
1610
1641
|
{
|
|
1611
|
-
placeholder:
|
|
1642
|
+
placeholder: intl.formatMessage({
|
|
1643
|
+
id: "rePasswordPlaceholder"
|
|
1644
|
+
}),
|
|
1612
1645
|
maxLength: 32,
|
|
1613
1646
|
onChange: (e) => setRePassword(e.target.value),
|
|
1614
1647
|
value: rePassword,
|
|
@@ -1625,7 +1658,7 @@ function PasswordModal({
|
|
|
1625
1658
|
size: "lg",
|
|
1626
1659
|
onClick: onContinue,
|
|
1627
1660
|
loading: isSubmitting,
|
|
1628
|
-
children: "
|
|
1661
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_intl.FormattedMessage, { id: "continue" })
|
|
1629
1662
|
}
|
|
1630
1663
|
)
|
|
1631
1664
|
] }) });
|
|
@@ -1633,6 +1666,7 @@ function PasswordModal({
|
|
|
1633
1666
|
|
|
1634
1667
|
// src/components/RecoveryModal/index.tsx
|
|
1635
1668
|
var import_react6 = require("react");
|
|
1669
|
+
var import_react_intl2 = require("react-intl");
|
|
1636
1670
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1637
1671
|
function RecoveryModal({
|
|
1638
1672
|
title,
|
|
@@ -1645,8 +1679,13 @@ function RecoveryModal({
|
|
|
1645
1679
|
const [password, setPassword] = (0, import_react6.useState)("");
|
|
1646
1680
|
const { recoveryWallet } = useWallet();
|
|
1647
1681
|
const [error, setError] = (0, import_react6.useState)("");
|
|
1682
|
+
const intl = (0, import_react_intl2.useIntl)();
|
|
1648
1683
|
const passwordError = (0, import_react6.useMemo)(() => {
|
|
1649
|
-
if (password.length < 6) return
|
|
1684
|
+
if (password.length < 6) return intl.formatMessage({
|
|
1685
|
+
id: "passwordMinError"
|
|
1686
|
+
}, {
|
|
1687
|
+
length: 6
|
|
1688
|
+
});
|
|
1650
1689
|
return "";
|
|
1651
1690
|
}, [password]);
|
|
1652
1691
|
(0, import_react6.useEffect)(() => {
|
|
@@ -1669,15 +1708,17 @@ function RecoveryModal({
|
|
|
1669
1708
|
setIsSubmitting(false);
|
|
1670
1709
|
}
|
|
1671
1710
|
};
|
|
1672
|
-
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title ||
|
|
1711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
1712
|
+
id: "recoverTitle"
|
|
1713
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "matchid-password-box", children: [
|
|
1673
1714
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "matchid-password-header", children: [
|
|
1674
1715
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(PasswordRoundIcon, {}) }),
|
|
1675
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-header-content", children:
|
|
1716
|
+
/* @__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" }) })
|
|
1676
1717
|
] }),
|
|
1677
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-content", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Field, { label: "
|
|
1718
|
+
/* @__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)(
|
|
1678
1719
|
Input,
|
|
1679
1720
|
{
|
|
1680
|
-
placeholder:
|
|
1721
|
+
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
1681
1722
|
maxLength: 32,
|
|
1682
1723
|
type: "password",
|
|
1683
1724
|
onChange: (e) => setPassword(e.target.value),
|
|
@@ -1693,7 +1734,7 @@ function RecoveryModal({
|
|
|
1693
1734
|
size: "lg",
|
|
1694
1735
|
onClick: onContinue,
|
|
1695
1736
|
loading: isSubmitting,
|
|
1696
|
-
children: "
|
|
1737
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
|
|
1697
1738
|
}
|
|
1698
1739
|
)
|
|
1699
1740
|
] }) });
|
|
@@ -1726,8 +1767,10 @@ var import_react9 = require("react");
|
|
|
1726
1767
|
|
|
1727
1768
|
// src/components/EmailModal/StepEmail.tsx
|
|
1728
1769
|
var import_react7 = require("react");
|
|
1770
|
+
var import_react_intl3 = require("react-intl");
|
|
1729
1771
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1730
1772
|
function StepEmail(props) {
|
|
1773
|
+
const intl = (0, import_react_intl3.useIntl)();
|
|
1731
1774
|
const [emailVal, setEmailVal] = (0, import_react7.useState)("");
|
|
1732
1775
|
(0, import_react7.useEffect)(() => {
|
|
1733
1776
|
if (props.email) {
|
|
@@ -1741,17 +1784,21 @@ function StepEmail(props) {
|
|
|
1741
1784
|
props.onContinue(emailVal);
|
|
1742
1785
|
};
|
|
1743
1786
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "matchid-email-email-box", children: [
|
|
1744
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field, { label:
|
|
1787
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field, { label: intl.formatMessage({
|
|
1788
|
+
id: "emailAddress"
|
|
1789
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
1745
1790
|
Input,
|
|
1746
1791
|
{
|
|
1747
|
-
placeholder:
|
|
1792
|
+
placeholder: intl.formatMessage({
|
|
1793
|
+
id: "emailAddressPlaceholder"
|
|
1794
|
+
}),
|
|
1748
1795
|
onChange: (e) => setEmailVal(e.target.value),
|
|
1749
1796
|
value: emailVal
|
|
1750
1797
|
}
|
|
1751
1798
|
) }),
|
|
1752
1799
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button, { disabled: !canContinue, style: {
|
|
1753
1800
|
marginTop: "64px"
|
|
1754
|
-
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: "
|
|
1801
|
+
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_intl3.FormattedMessage, { id: "continue" }) })
|
|
1755
1802
|
] });
|
|
1756
1803
|
}
|
|
1757
1804
|
|
|
@@ -1763,15 +1810,19 @@ var EMAIL_INTERVAL = 60;
|
|
|
1763
1810
|
var EMAIL_CODE_LENGTH = 6;
|
|
1764
1811
|
|
|
1765
1812
|
// src/components/EmailModal/StepVerify.tsx
|
|
1813
|
+
var import_react_intl4 = require("react-intl");
|
|
1766
1814
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
1767
1815
|
function StepVerify(props) {
|
|
1816
|
+
const intl = (0, import_react_intl4.useIntl)();
|
|
1768
1817
|
const { getLoginEmailCode, loginByEmail } = useUserInfo();
|
|
1769
1818
|
const [error, setError] = (0, import_react8.useState)("");
|
|
1770
1819
|
const [code, setCode] = (0, import_react8.useState)("");
|
|
1771
1820
|
const [sending, setSending] = (0, import_react8.useState)(false);
|
|
1772
1821
|
const [submitting, setSubmitting] = (0, import_react8.useState)(false);
|
|
1773
1822
|
const sendTimeRef = (0, import_react8.useRef)(0);
|
|
1774
|
-
const [sendBtnText, setSendBtnText] = (0, import_react8.useState)(
|
|
1823
|
+
const [sendBtnText, setSendBtnText] = (0, import_react8.useState)(intl.formatMessage({
|
|
1824
|
+
id: "send"
|
|
1825
|
+
}));
|
|
1775
1826
|
const intervalTime = EMAIL_INTERVAL;
|
|
1776
1827
|
const codeLength = EMAIL_CODE_LENGTH;
|
|
1777
1828
|
const intervalRef = (0, import_react8.useRef)(null);
|
|
@@ -1789,14 +1840,18 @@ function StepVerify(props) {
|
|
|
1789
1840
|
sendTimeRef.current--;
|
|
1790
1841
|
setSendBtnText(`${sendTimeRef.current}s`);
|
|
1791
1842
|
if (sendTimeRef.current <= 0) {
|
|
1792
|
-
setSendBtnText(
|
|
1843
|
+
setSendBtnText(intl.formatMessage({
|
|
1844
|
+
id: "Resend"
|
|
1845
|
+
}));
|
|
1793
1846
|
clearInterval(intervalRef.current);
|
|
1794
1847
|
setSending(false);
|
|
1795
1848
|
}
|
|
1796
1849
|
}, 1e3);
|
|
1797
1850
|
} catch (err) {
|
|
1798
1851
|
console.error("Send email error", err);
|
|
1799
|
-
setError(
|
|
1852
|
+
setError(intl.formatMessage({
|
|
1853
|
+
id: "sendCodeErrorTip"
|
|
1854
|
+
}, { error: err.message }));
|
|
1800
1855
|
setSending(false);
|
|
1801
1856
|
}
|
|
1802
1857
|
};
|
|
@@ -1837,13 +1892,17 @@ function StepVerify(props) {
|
|
|
1837
1892
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(EmailLineIcon, {}) }),
|
|
1838
1893
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
|
|
1839
1894
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
|
|
1840
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-tips", children:
|
|
1895
|
+
/* @__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" }) })
|
|
1841
1896
|
] })
|
|
1842
1897
|
] }),
|
|
1843
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Field, { label:
|
|
1898
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Field, { label: intl.formatMessage({
|
|
1899
|
+
id: "verificationCode"
|
|
1900
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
1844
1901
|
Input,
|
|
1845
1902
|
{
|
|
1846
|
-
placeholder:
|
|
1903
|
+
placeholder: intl.formatMessage({
|
|
1904
|
+
id: "codePlaceholder"
|
|
1905
|
+
}),
|
|
1847
1906
|
maxLength: codeLength,
|
|
1848
1907
|
onChange: (e) => setCode(e.target.value),
|
|
1849
1908
|
value: code,
|
|
@@ -1866,11 +1925,12 @@ function StepVerify(props) {
|
|
|
1866
1925
|
)
|
|
1867
1926
|
}
|
|
1868
1927
|
) }),
|
|
1869
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: "
|
|
1928
|
+
/* @__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" }) })
|
|
1870
1929
|
] });
|
|
1871
1930
|
}
|
|
1872
1931
|
|
|
1873
1932
|
// src/components/EmailModal/index.tsx
|
|
1933
|
+
var import_react_intl5 = require("react-intl");
|
|
1874
1934
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
1875
1935
|
function EmailModal({
|
|
1876
1936
|
isOpen = false,
|
|
@@ -1881,6 +1941,7 @@ function EmailModal({
|
|
|
1881
1941
|
}) {
|
|
1882
1942
|
const [step, setStep] = (0, import_react9.useState)("input");
|
|
1883
1943
|
const [emailVal, setEmailVal] = (0, import_react9.useState)("");
|
|
1944
|
+
const intl = (0, import_react_intl5.useIntl)();
|
|
1884
1945
|
(0, import_react9.useEffect)(() => {
|
|
1885
1946
|
if (!isOpen) {
|
|
1886
1947
|
setStep("input");
|
|
@@ -1893,7 +1954,9 @@ function EmailModal({
|
|
|
1893
1954
|
isOpen,
|
|
1894
1955
|
width,
|
|
1895
1956
|
onClose,
|
|
1896
|
-
title:
|
|
1957
|
+
title: intl.formatMessage({
|
|
1958
|
+
id: "email"
|
|
1959
|
+
}),
|
|
1897
1960
|
onBack: step == "verify" ? () => setStep("input") : onBack,
|
|
1898
1961
|
children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
|
|
1899
1962
|
setEmailVal(email);
|
|
@@ -1936,6 +1999,7 @@ function Popover({
|
|
|
1936
1999
|
|
|
1937
2000
|
// src/components/LoginBox/index.tsx
|
|
1938
2001
|
var import_react11 = require("react");
|
|
2002
|
+
var import_react_intl6 = require("react-intl");
|
|
1939
2003
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
1940
2004
|
var RecommendItem = ({
|
|
1941
2005
|
icon,
|
|
@@ -1990,16 +2054,17 @@ function LoginBox({
|
|
|
1990
2054
|
const [emailOpen, setEmailOpen] = (0, import_react11.useState)(false);
|
|
1991
2055
|
const { login } = useUserInfo();
|
|
1992
2056
|
const [showWallet, setShowWallet] = (0, import_react11.useState)(false);
|
|
2057
|
+
const intl = (0, import_react_intl6.useIntl)();
|
|
1993
2058
|
const methodMap = {
|
|
1994
2059
|
wallet: {
|
|
1995
2060
|
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(WalletIcon, {}),
|
|
1996
|
-
name: "
|
|
2061
|
+
name: intl.formatMessage({ id: "wallet" }),
|
|
1997
2062
|
onClick: () => setShowWallet(!showWallet),
|
|
1998
2063
|
type: "wallet"
|
|
1999
2064
|
},
|
|
2000
2065
|
email: {
|
|
2001
2066
|
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(EmailIcon, {}),
|
|
2002
|
-
name: "
|
|
2067
|
+
name: intl.formatMessage({ id: "email" }),
|
|
2003
2068
|
onClick: () => {
|
|
2004
2069
|
setEmailOpen(true);
|
|
2005
2070
|
}
|
|
@@ -2109,7 +2174,7 @@ function LoginBox({
|
|
|
2109
2174
|
);
|
|
2110
2175
|
}) }),
|
|
2111
2176
|
methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "matchid-login-other", children: [
|
|
2112
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-login-other-text", children:
|
|
2177
|
+
/* @__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" }) }),
|
|
2113
2178
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
|
|
2114
2179
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2115
2180
|
"div",
|
|
@@ -2143,6 +2208,7 @@ function LoginBox({
|
|
|
2143
2208
|
var import_react13 = require("react");
|
|
2144
2209
|
|
|
2145
2210
|
// src/components/LoginPanel/index.tsx
|
|
2211
|
+
var import_react_intl7 = require("react-intl");
|
|
2146
2212
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2147
2213
|
function LoginPanel({
|
|
2148
2214
|
header,
|
|
@@ -2152,8 +2218,8 @@ function LoginPanel({
|
|
|
2152
2218
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel", children: [
|
|
2153
2219
|
header ? header : /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel-header", children: [
|
|
2154
2220
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
|
|
2155
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-title", children:
|
|
2156
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-subtilte", children:
|
|
2221
|
+
/* @__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" }) }),
|
|
2222
|
+
/* @__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" }) })
|
|
2157
2223
|
] }),
|
|
2158
2224
|
onClose && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(CloseRoundIcon, {}) })
|
|
2159
2225
|
] }),
|
|
@@ -2209,6 +2275,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
2209
2275
|
}
|
|
2210
2276
|
|
|
2211
2277
|
// src/components/UserPopover/index.tsx
|
|
2278
|
+
var import_react_intl8 = require("react-intl");
|
|
2212
2279
|
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2213
2280
|
function UserContent() {
|
|
2214
2281
|
const { logout, address, username } = useUserInfo();
|
|
@@ -2243,6 +2310,7 @@ function UserContent() {
|
|
|
2243
2310
|
};
|
|
2244
2311
|
const [usernameOpen, setUsernameOpen] = (0, import_react12.useState)(false);
|
|
2245
2312
|
const [copied, setCopied] = useCopyClipboard();
|
|
2313
|
+
const intl = (0, import_react_intl8.useIntl)();
|
|
2246
2314
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-user-popover-content", children: [
|
|
2247
2315
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-user-popover-list", children: [
|
|
2248
2316
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserItem, { onClick: () => {
|
|
@@ -2251,9 +2319,11 @@ function UserContent() {
|
|
|
2251
2319
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserDivider, {}),
|
|
2252
2320
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserItem, { onClick: () => {
|
|
2253
2321
|
setUsernameOpen(true);
|
|
2254
|
-
}, 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 ||
|
|
2322
|
+
}, 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({
|
|
2323
|
+
id: "setUsername"
|
|
2324
|
+
}) })
|
|
2255
2325
|
] }),
|
|
2256
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { onClick: onLogout, loading: logouting, children: "
|
|
2326
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_intl8.FormattedMessage, { id: "disconnect" }) }),
|
|
2257
2327
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
|
|
2258
2328
|
setUsernameOpen(false);
|
|
2259
2329
|
}, onSuccess: () => {
|
|
@@ -2269,6 +2339,7 @@ function UserPopover({
|
|
|
2269
2339
|
}
|
|
2270
2340
|
|
|
2271
2341
|
// src/components/LoginButton/index.tsx
|
|
2342
|
+
var import_react_intl9 = require("react-intl");
|
|
2272
2343
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2273
2344
|
function LoginButton({
|
|
2274
2345
|
loginRender,
|
|
@@ -2280,6 +2351,7 @@ function LoginButton({
|
|
|
2280
2351
|
popoverGap = 20,
|
|
2281
2352
|
...props
|
|
2282
2353
|
}) {
|
|
2354
|
+
const intl = (0, import_react_intl9.useIntl)();
|
|
2283
2355
|
const { isLogin, username } = useUserInfo();
|
|
2284
2356
|
const [loginOpen, setLoginOpen] = (0, import_react13.useState)(false);
|
|
2285
2357
|
if (!isLogin) {
|
|
@@ -2287,13 +2359,15 @@ function LoginButton({
|
|
|
2287
2359
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(LoginModal, { methods, recommendMethods, isOpen: loginOpen, onClose: () => setLoginOpen(false) }),
|
|
2288
2360
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
|
|
2289
2361
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UnLoginIcon_default, {}),
|
|
2290
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "
|
|
2362
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_intl9.FormattedMessage, { id: "login" }) })
|
|
2291
2363
|
] })
|
|
2292
2364
|
] });
|
|
2293
2365
|
}
|
|
2294
2366
|
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: [
|
|
2295
2367
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(LoginIcon_default, {}),
|
|
2296
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: username ? truncateAddress(username) : "MatchID
|
|
2368
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
|
|
2369
|
+
id: "user"
|
|
2370
|
+
}) })
|
|
2297
2371
|
] }) });
|
|
2298
2372
|
}
|
|
2299
2373
|
|
|
@@ -2322,6 +2396,7 @@ function InfoRoundIcon({
|
|
|
2322
2396
|
}
|
|
2323
2397
|
|
|
2324
2398
|
// src/components/UsernameModal/index.tsx
|
|
2399
|
+
var import_react_intl10 = require("react-intl");
|
|
2325
2400
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2326
2401
|
var ValidItem = ({
|
|
2327
2402
|
success = false,
|
|
@@ -2375,11 +2450,18 @@ function UsernameModal({
|
|
|
2375
2450
|
setIsSubmitting(false);
|
|
2376
2451
|
}
|
|
2377
2452
|
};
|
|
2378
|
-
|
|
2379
|
-
|
|
2453
|
+
const intl = (0, import_react_intl10.useIntl)();
|
|
2454
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
2455
|
+
id: username ? "editUsernameTitle" : "setUsernameTitle"
|
|
2456
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "matchid-username-box", children: [
|
|
2457
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Field, { label: intl.formatMessage({
|
|
2458
|
+
id: "username"
|
|
2459
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2380
2460
|
Input,
|
|
2381
2461
|
{
|
|
2382
|
-
placeholder:
|
|
2462
|
+
placeholder: intl.formatMessage({
|
|
2463
|
+
id: "usernamePlaceholder"
|
|
2464
|
+
}),
|
|
2383
2465
|
onChange: (e) => {
|
|
2384
2466
|
setVal(e.target.value);
|
|
2385
2467
|
setError("");
|
|
@@ -2392,17 +2474,21 @@ function UsernameModal({
|
|
|
2392
2474
|
ValidItem,
|
|
2393
2475
|
{
|
|
2394
2476
|
success: isValid,
|
|
2395
|
-
text:
|
|
2477
|
+
text: intl.formatMessage({
|
|
2478
|
+
id: "usernameValidError"
|
|
2479
|
+
})
|
|
2396
2480
|
}
|
|
2397
2481
|
),
|
|
2398
|
-
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ValidItem, { success: isLength, text:
|
|
2482
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
|
|
2483
|
+
id: "usernameLengthError"
|
|
2484
|
+
}) })
|
|
2399
2485
|
] }),
|
|
2400
2486
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
|
|
2401
2487
|
marginTop: "64px"
|
|
2402
|
-
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: "
|
|
2488
|
+
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_intl10.FormattedMessage, { id: "confirm" }) }),
|
|
2403
2489
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { style: {
|
|
2404
2490
|
marginTop: "24px"
|
|
2405
|
-
}, onClick: props.onClose, size: "lg", block: true, children:
|
|
2491
|
+
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_intl10.FormattedMessage, { id: "nextTime" }) })
|
|
2406
2492
|
] }) });
|
|
2407
2493
|
}
|
|
2408
2494
|
|
|
@@ -2431,6 +2517,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
|
|
|
2431
2517
|
var walletSigningImage = "data:image/png;base64,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";
|
|
2432
2518
|
|
|
2433
2519
|
// src/components/SOLModal/index.tsx
|
|
2520
|
+
var import_react_intl11 = require("react-intl");
|
|
2434
2521
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
2435
2522
|
function WalletContent({
|
|
2436
2523
|
onSuccess,
|
|
@@ -2628,7 +2715,12 @@ function SOLModal({
|
|
|
2628
2715
|
onSuccess,
|
|
2629
2716
|
...props
|
|
2630
2717
|
}) {
|
|
2631
|
-
|
|
2718
|
+
const intl = (0, import_react_intl11.useIntl)();
|
|
2719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
2720
|
+
id: type == "bind" ? "bindWith" : "loginWith"
|
|
2721
|
+
}, {
|
|
2722
|
+
name: "SOL"
|
|
2723
|
+
}), 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 }) }) }) }) });
|
|
2632
2724
|
}
|
|
2633
2725
|
|
|
2634
2726
|
// src/context/BusinessProvider.tsx
|
|
@@ -2811,7 +2903,8 @@ function useInit({
|
|
|
2811
2903
|
theme,
|
|
2812
2904
|
appid,
|
|
2813
2905
|
events,
|
|
2814
|
-
endpoints
|
|
2906
|
+
endpoints,
|
|
2907
|
+
locale
|
|
2815
2908
|
}) {
|
|
2816
2909
|
const {
|
|
2817
2910
|
setAppid,
|
|
@@ -2820,7 +2913,9 @@ function useInit({
|
|
|
2820
2913
|
setMid,
|
|
2821
2914
|
token,
|
|
2822
2915
|
setOverview,
|
|
2823
|
-
setTheme
|
|
2916
|
+
setTheme,
|
|
2917
|
+
setLocale,
|
|
2918
|
+
locale: realLocale
|
|
2824
2919
|
} = useLocalStore_default();
|
|
2825
2920
|
const overviewLoadingRef = (0, import_react17.useRef)(false);
|
|
2826
2921
|
const searchParams = new URLSearchParams(window.location.search);
|
|
@@ -2835,6 +2930,9 @@ function useInit({
|
|
|
2835
2930
|
(0, import_react17.useEffect)(() => {
|
|
2836
2931
|
setEndpoints(realEndpoints);
|
|
2837
2932
|
}, [realEndpoints]);
|
|
2933
|
+
(0, import_react17.useEffect)(() => {
|
|
2934
|
+
setLocale(locale || "en");
|
|
2935
|
+
}, [locale]);
|
|
2838
2936
|
(0, import_react17.useEffect)(() => {
|
|
2839
2937
|
if (matchToken) {
|
|
2840
2938
|
const tokenData = JSON.parse(atob(matchToken));
|
|
@@ -2907,26 +3005,429 @@ function useInit({
|
|
|
2907
3005
|
return {
|
|
2908
3006
|
loadOverview,
|
|
2909
3007
|
login,
|
|
2910
|
-
endpoints: realEndpoints
|
|
3008
|
+
endpoints: realEndpoints,
|
|
3009
|
+
locale: realLocale
|
|
2911
3010
|
};
|
|
2912
3011
|
}
|
|
2913
3012
|
|
|
2914
3013
|
// src/MatchContext.tsx
|
|
2915
3014
|
var import_react_query = require("@tanstack/react-query");
|
|
3015
|
+
var import_react_intl12 = require("react-intl");
|
|
3016
|
+
|
|
3017
|
+
// src/i18n/en.json
|
|
3018
|
+
var en_default = {
|
|
3019
|
+
email: "Email",
|
|
3020
|
+
emailAddress: "Email Address",
|
|
3021
|
+
emailAddressPlaceholder: "Enter Your Email Address",
|
|
3022
|
+
continue: "Continue",
|
|
3023
|
+
send: "Send",
|
|
3024
|
+
resend: "Resend",
|
|
3025
|
+
sendCodeErrorTip: "Failed to send code: {error}",
|
|
3026
|
+
sendEmailTips: "We have sent a verification code to your email",
|
|
3027
|
+
verificationCode: "Verification Code",
|
|
3028
|
+
codePlaceholder: "Enter the code",
|
|
3029
|
+
wallet: "Wallet",
|
|
3030
|
+
otherLoginMethods: "Other login methods",
|
|
3031
|
+
login: "Login",
|
|
3032
|
+
user: "User",
|
|
3033
|
+
loginTitle: "Log in / Sign up",
|
|
3034
|
+
loginTips: "You can use the following methods",
|
|
3035
|
+
passwordMinError: "Password must be at least {length} characters",
|
|
3036
|
+
passwordMatchError: "The password you entered twice do not match",
|
|
3037
|
+
passwordTitle: "Set Password",
|
|
3038
|
+
passwordTips: "Please set the wallet password that will be used to recover the wallet",
|
|
3039
|
+
password: "Password",
|
|
3040
|
+
passwordPlaceholder: "Enter Your Password",
|
|
3041
|
+
rePassword: "Re Password",
|
|
3042
|
+
rePasswordPlaceholder: "Re Enter the Password",
|
|
3043
|
+
recoverTitle: "Recover Wallet",
|
|
3044
|
+
recoverTips: "Please enter your password to recover your wallet",
|
|
3045
|
+
bindWith: "Bind with {name} Wallet",
|
|
3046
|
+
loginWith: "Login with {name} Wallet",
|
|
3047
|
+
editUsernameTitle: "Edit User Name",
|
|
3048
|
+
setUsernameTitle: "Set User Name",
|
|
3049
|
+
username: "User Name",
|
|
3050
|
+
usernamePlaceholder: "Enter Your User Name",
|
|
3051
|
+
usernameValidError: "Name can be composed of numbers and letters as well as characters",
|
|
3052
|
+
usernameLengthError: "No less than 2 characters",
|
|
3053
|
+
confirm: "Confirm",
|
|
3054
|
+
nextTime: "Next time",
|
|
3055
|
+
setUsername: "Set a User Name",
|
|
3056
|
+
disconnect: "Disconnect"
|
|
3057
|
+
};
|
|
3058
|
+
|
|
3059
|
+
// src/i18n/zh.json
|
|
3060
|
+
var zh_default = {
|
|
3061
|
+
email: "\u90AE\u7BB1",
|
|
3062
|
+
emailAddress: "\u90AE\u7BB1\u5730\u5740",
|
|
3063
|
+
emailAddressPlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u90AE\u7BB1\u5730\u5740",
|
|
3064
|
+
continue: "\u7EE7\u7EED",
|
|
3065
|
+
send: "\u53D1\u9001",
|
|
3066
|
+
resend: "\u91CD\u65B0\u53D1\u9001",
|
|
3067
|
+
sendCodeErrorTip: "\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25\uFF1A{error}",
|
|
3068
|
+
sendEmailTips: "\u6211\u4EEC\u5DF2\u5411\u60A8\u7684\u90AE\u7BB1\u53D1\u9001\u9A8C\u8BC1\u7801",
|
|
3069
|
+
verificationCode: "\u9A8C\u8BC1\u7801",
|
|
3070
|
+
codePlaceholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
|
|
3071
|
+
wallet: "\u94B1\u5305",
|
|
3072
|
+
otherLoginMethods: "\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F",
|
|
3073
|
+
login: "\u767B\u5F55",
|
|
3074
|
+
user: "\u7528\u6237",
|
|
3075
|
+
loginTitle: "\u767B\u5F55 / \u6CE8\u518C",
|
|
3076
|
+
loginTips: "\u60A8\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5F55",
|
|
3077
|
+
passwordMinError: "\u5BC6\u7801\u5FC5\u987B\u81F3\u5C11\u5305\u542B {length} \u4E2A\u5B57\u7B26",
|
|
3078
|
+
passwordMatchError: "\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4",
|
|
3079
|
+
passwordTitle: "\u8BBE\u7F6E\u5BC6\u7801",
|
|
3080
|
+
passwordTips: "\u8BF7\u8BBE\u7F6E\u7528\u4E8E\u6062\u590D\u94B1\u5305\u7684\u94B1\u5305\u5BC6\u7801",
|
|
3081
|
+
password: "\u5BC6\u7801",
|
|
3082
|
+
passwordPlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u5BC6\u7801",
|
|
3083
|
+
rePassword: "\u786E\u8BA4\u5BC6\u7801",
|
|
3084
|
+
rePasswordPlaceholder: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
|
|
3085
|
+
recoverTitle: "\u6062\u590D\u94B1\u5305",
|
|
3086
|
+
recoverTips: "\u8BF7\u8F93\u5165\u60A8\u7684\u5BC6\u7801\u4EE5\u6062\u590D\u94B1\u5305",
|
|
3087
|
+
bindWith: "\u7ED1\u5B9A {name} \u94B1\u5305",
|
|
3088
|
+
loginWith: "\u4F7F\u7528 {name} \u94B1\u5305\u767B\u5F55",
|
|
3089
|
+
editUsernameTitle: "\u4FEE\u6539\u7528\u6237\u540D",
|
|
3090
|
+
setUsernameTitle: "\u8BBE\u7F6E\u7528\u6237\u540D",
|
|
3091
|
+
username: "\u7528\u6237\u540D",
|
|
3092
|
+
usernamePlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u7528\u6237\u540D",
|
|
3093
|
+
usernameValidError: "\u7528\u6237\u540D\u53EF\u4EE5\u7531\u6570\u5B57\u3001\u5B57\u6BCD\u548C\u5B57\u7B26\u7EC4\u6210",
|
|
3094
|
+
usernameLengthError: "\u7528\u6237\u540D\u4E0D\u5F97\u5C11\u4E8E 2 \u4E2A\u5B57\u7B26",
|
|
3095
|
+
confirm: "\u786E\u8BA4",
|
|
3096
|
+
nextTime: "\u4E0B\u6B21\u518D\u8BF4",
|
|
3097
|
+
setUsername: "\u8BBE\u7F6E\u7528\u6237\u540D",
|
|
3098
|
+
disconnect: "\u65AD\u5F00\u8FDE\u63A5"
|
|
3099
|
+
};
|
|
3100
|
+
|
|
3101
|
+
// src/i18n/tw.json
|
|
3102
|
+
var tw_default = {
|
|
3103
|
+
email: "\u90F5\u7BB1",
|
|
3104
|
+
emailAddress: "\u90F5\u7BB1\u5730\u5740",
|
|
3105
|
+
emailAddressPlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u90F5\u7BB1\u5730\u5740",
|
|
3106
|
+
continue: "\u7E7C\u7E8C",
|
|
3107
|
+
send: "\u767C\u9001",
|
|
3108
|
+
resend: "\u91CD\u65B0\u767C\u9001",
|
|
3109
|
+
sendCodeErrorTip: "\u767C\u9001\u9A57\u8B49\u78BC\u5931\u6557\uFF1A{error}",
|
|
3110
|
+
sendEmailTips: "\u6211\u5011\u5DF2\u5411\u60A8\u7684\u90F5\u7BB1\u767C\u9001\u9A57\u8B49\u78BC",
|
|
3111
|
+
verificationCode: "\u9A57\u8B49\u78BC",
|
|
3112
|
+
codePlaceholder: "\u8ACB\u8F38\u5165\u9A57\u8B49\u78BC",
|
|
3113
|
+
wallet: "\u9322\u5305",
|
|
3114
|
+
otherLoginMethods: "\u5176\u4ED6\u767B\u5165\u65B9\u5F0F",
|
|
3115
|
+
login: "\u767B\u5165",
|
|
3116
|
+
user: "\u7528\u6236",
|
|
3117
|
+
loginTitle: "\u767B\u5165 / \u8A3B\u518A",
|
|
3118
|
+
loginTips: "\u60A8\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5165",
|
|
3119
|
+
passwordMinError: "\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u5305\u542B {length} \u500B\u5B57\u7B26",
|
|
3120
|
+
passwordMatchError: "\u5169\u6B21\u8F38\u5165\u7684\u5BC6\u78BC\u4E0D\u4E00\u81F4",
|
|
3121
|
+
passwordTitle: "\u8A2D\u7F6E\u5BC6\u78BC",
|
|
3122
|
+
passwordTips: "\u8ACB\u8A2D\u7F6E\u7528\u65BC\u6062\u5FA9\u9322\u5305\u7684\u5BC6\u78BC",
|
|
3123
|
+
password: "\u5BC6\u78BC",
|
|
3124
|
+
passwordPlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC",
|
|
3125
|
+
rePassword: "\u78BA\u8A8D\u5BC6\u78BC",
|
|
3126
|
+
rePasswordPlaceholder: "\u8ACB\u518D\u6B21\u8F38\u5165\u5BC6\u78BC",
|
|
3127
|
+
recoverTitle: "\u6062\u5FA9\u9322\u5305",
|
|
3128
|
+
recoverTips: "\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC\u4EE5\u6062\u5FA9\u9322\u5305",
|
|
3129
|
+
bindWith: "\u7D81\u5B9A {name} \u9322\u5305",
|
|
3130
|
+
loginWith: "\u4F7F\u7528 {name} \u9322\u5305\u767B\u5165",
|
|
3131
|
+
editUsernameTitle: "\u4FEE\u6539\u7528\u6236\u540D",
|
|
3132
|
+
setUsernameTitle: "\u8A2D\u7F6E\u7528\u6236\u540D",
|
|
3133
|
+
username: "\u7528\u6236\u540D",
|
|
3134
|
+
usernamePlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u7528\u6236\u540D",
|
|
3135
|
+
usernameValidError: "\u7528\u6236\u540D\u53EF\u4EE5\u7531\u6578\u5B57\u3001\u5B57\u6BCD\u548C\u5B57\u7B26\u7D44\u6210",
|
|
3136
|
+
usernameLengthError: "\u7528\u6236\u540D\u4E0D\u5F97\u5C11\u65BC 2 \u500B\u5B57\u7B26",
|
|
3137
|
+
confirm: "\u78BA\u8A8D",
|
|
3138
|
+
nextTime: "\u4E0B\u6B21\u518D\u8AAA",
|
|
3139
|
+
setUsername: "\u8A2D\u7F6E\u7528\u6236\u540D",
|
|
3140
|
+
disconnect: "\u65B7\u958B\u9023\u63A5"
|
|
3141
|
+
};
|
|
3142
|
+
|
|
3143
|
+
// src/i18n/fr.json
|
|
3144
|
+
var fr_default = {
|
|
3145
|
+
email: "Email",
|
|
3146
|
+
emailAddress: "Adresse Email",
|
|
3147
|
+
emailAddressPlaceholder: "Entrez votre adresse email",
|
|
3148
|
+
continue: "Continuer",
|
|
3149
|
+
send: "Envoyer",
|
|
3150
|
+
resend: "Renvoyer",
|
|
3151
|
+
sendCodeErrorTip: "\xC9chec de l'envoi du code : {error}",
|
|
3152
|
+
sendEmailTips: "Un code de v\xE9rification a \xE9t\xE9 envoy\xE9 \xE0 votre email",
|
|
3153
|
+
verificationCode: "Code de v\xE9rification",
|
|
3154
|
+
codePlaceholder: "Entrez le code",
|
|
3155
|
+
wallet: "Portefeuille",
|
|
3156
|
+
otherLoginMethods: "Autres m\xE9thodes de connexion",
|
|
3157
|
+
login: "Connexion",
|
|
3158
|
+
user: "Utilisateur",
|
|
3159
|
+
loginTitle: "Connexion / Inscription",
|
|
3160
|
+
loginTips: "Vous pouvez utiliser les m\xE9thodes suivantes",
|
|
3161
|
+
passwordMinError: "Le mot de passe doit contenir au moins {length} caract\xE8res",
|
|
3162
|
+
passwordMatchError: "Les mots de passe ne correspondent pas",
|
|
3163
|
+
passwordTitle: "D\xE9finir un mot de passe",
|
|
3164
|
+
passwordTips: "Veuillez d\xE9finir le mot de passe pour restaurer le portefeuille",
|
|
3165
|
+
password: "Mot de passe",
|
|
3166
|
+
passwordPlaceholder: "Entrez votre mot de passe",
|
|
3167
|
+
rePassword: "Confirmer le mot de passe",
|
|
3168
|
+
rePasswordPlaceholder: "Ressaisissez le mot de passe",
|
|
3169
|
+
recoverTitle: "Restaurer le portefeuille",
|
|
3170
|
+
recoverTips: "Entrez votre mot de passe pour restaurer le portefeuille",
|
|
3171
|
+
bindWith: "Lier avec le portefeuille {name}",
|
|
3172
|
+
loginWith: "Connexion avec le portefeuille {name}",
|
|
3173
|
+
editUsernameTitle: "Modifier le nom d'utilisateur",
|
|
3174
|
+
setUsernameTitle: "D\xE9finir un nom d'utilisateur",
|
|
3175
|
+
username: "Nom d'utilisateur",
|
|
3176
|
+
usernamePlaceholder: "Entrez votre nom d'utilisateur",
|
|
3177
|
+
usernameValidError: "Le nom peut contenir des lettres, chiffres et caract\xE8res",
|
|
3178
|
+
usernameLengthError: "Le nom doit comporter au moins 2 caract\xE8res",
|
|
3179
|
+
confirm: "Confirmer",
|
|
3180
|
+
nextTime: "La prochaine fois",
|
|
3181
|
+
setUsername: "D\xE9finir un nom d'utilisateur",
|
|
3182
|
+
disconnect: "D\xE9connecter"
|
|
3183
|
+
};
|
|
3184
|
+
|
|
3185
|
+
// src/i18n/ja.json
|
|
3186
|
+
var ja_default = {
|
|
3187
|
+
email: "\u30E1\u30FC\u30EB",
|
|
3188
|
+
emailAddress: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",
|
|
3189
|
+
emailAddressPlaceholder: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3190
|
+
continue: "\u7D9A\u3051\u308B",
|
|
3191
|
+
send: "\u9001\u4FE1",
|
|
3192
|
+
resend: "\u518D\u9001\u4FE1",
|
|
3193
|
+
sendCodeErrorTip: "\u30B3\u30FC\u30C9\u9001\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {error}",
|
|
3194
|
+
sendEmailTips: "\u78BA\u8A8D\u30B3\u30FC\u30C9\u3092\u30E1\u30FC\u30EB\u306B\u9001\u4FE1\u3057\u307E\u3057\u305F",
|
|
3195
|
+
verificationCode: "\u78BA\u8A8D\u30B3\u30FC\u30C9",
|
|
3196
|
+
codePlaceholder: "\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3197
|
+
wallet: "\u30A6\u30A9\u30EC\u30C3\u30C8",
|
|
3198
|
+
otherLoginMethods: "\u305D\u306E\u4ED6\u306E\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5",
|
|
3199
|
+
login: "\u30ED\u30B0\u30A4\u30F3",
|
|
3200
|
+
user: "\u30E6\u30FC\u30B6\u30FC",
|
|
3201
|
+
loginTitle: "\u30ED\u30B0\u30A4\u30F3 / \u767B\u9332",
|
|
3202
|
+
loginTips: "\u4EE5\u4E0B\u306E\u65B9\u6CD5\u3067\u30ED\u30B0\u30A4\u30F3\u3067\u304D\u307E\u3059",
|
|
3203
|
+
passwordMinError: "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u6700\u4F4E {length} \u6587\u5B57\u5FC5\u8981\u3067\u3059",
|
|
3204
|
+
passwordMatchError: "\u5165\u529B\u3055\u308C\u305F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093",
|
|
3205
|
+
passwordTitle: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8A2D\u5B9A",
|
|
3206
|
+
passwordTips: "\u30A6\u30A9\u30EC\u30C3\u30C8\u5FA9\u5143\u7528\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3207
|
+
password: "\u30D1\u30B9\u30EF\u30FC\u30C9",
|
|
3208
|
+
passwordPlaceholder: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3209
|
+
rePassword: "\u30D1\u30B9\u30EF\u30FC\u30C9\u78BA\u8A8D",
|
|
3210
|
+
rePasswordPlaceholder: "\u518D\u5EA6\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3211
|
+
recoverTitle: "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5FA9\u5143",
|
|
3212
|
+
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",
|
|
3213
|
+
bindWith: "{name}\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u9023\u643A",
|
|
3214
|
+
loginWith: "{name}\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u30ED\u30B0\u30A4\u30F3",
|
|
3215
|
+
editUsernameTitle: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u7DE8\u96C6",
|
|
3216
|
+
setUsernameTitle: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u8A2D\u5B9A",
|
|
3217
|
+
username: "\u30E6\u30FC\u30B6\u30FC\u540D",
|
|
3218
|
+
usernamePlaceholder: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3219
|
+
usernameValidError: "\u540D\u524D\u306F\u6587\u5B57\u3001\u6570\u5B57\u3001\u8A18\u53F7\u3067\u69CB\u6210\u3067\u304D\u307E\u3059",
|
|
3220
|
+
usernameLengthError: "2\u6587\u5B57\u4EE5\u4E0A\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3221
|
+
confirm: "\u78BA\u8A8D",
|
|
3222
|
+
nextTime: "\u6B21\u56DE",
|
|
3223
|
+
setUsername: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u8A2D\u5B9A",
|
|
3224
|
+
disconnect: "\u5207\u65AD"
|
|
3225
|
+
};
|
|
3226
|
+
|
|
3227
|
+
// src/i18n/ko.json
|
|
3228
|
+
var ko_default = {
|
|
3229
|
+
email: "\uC774\uBA54\uC77C",
|
|
3230
|
+
emailAddress: "\uC774\uBA54\uC77C \uC8FC\uC18C",
|
|
3231
|
+
emailAddressPlaceholder: "\uC774\uBA54\uC77C \uC8FC\uC18C\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3232
|
+
continue: "\uACC4\uC18D\uD558\uAE30",
|
|
3233
|
+
send: "\uBCF4\uB0B4\uAE30",
|
|
3234
|
+
resend: "\uC7AC\uC804\uC1A1",
|
|
3235
|
+
sendCodeErrorTip: "\uCF54\uB4DC \uC804\uC1A1 \uC2E4\uD328: {error}",
|
|
3236
|
+
sendEmailTips: "\uC778\uC99D \uCF54\uB4DC\uB97C \uC774\uBA54\uC77C\uB85C \uBCF4\uB0C8\uC2B5\uB2C8\uB2E4",
|
|
3237
|
+
verificationCode: "\uC778\uC99D \uCF54\uB4DC",
|
|
3238
|
+
codePlaceholder: "\uCF54\uB4DC\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3239
|
+
wallet: "\uC9C0\uAC11",
|
|
3240
|
+
otherLoginMethods: "\uB2E4\uB978 \uB85C\uADF8\uC778 \uBC29\uBC95",
|
|
3241
|
+
login: "\uB85C\uADF8\uC778",
|
|
3242
|
+
user: "\uC0AC\uC6A9\uC790",
|
|
3243
|
+
loginTitle: "\uB85C\uADF8\uC778 / \uD68C\uC6D0\uAC00\uC785",
|
|
3244
|
+
loginTips: "\uB2E4\uC74C \uBC29\uBC95\uC73C\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
3245
|
+
passwordMinError: "\uBE44\uBC00\uBC88\uD638\uB294 \uCD5C\uC18C {length}\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",
|
|
3246
|
+
passwordMatchError: "\uB450 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",
|
|
3247
|
+
passwordTitle: "\uBE44\uBC00\uBC88\uD638 \uC124\uC815",
|
|
3248
|
+
passwordTips: "\uC9C0\uAC11 \uBCF5\uAD6C\uC5D0 \uC0AC\uC6A9\uD560 \uBE44\uBC00\uBC88\uD638\uB97C \uC124\uC815\uD558\uC138\uC694",
|
|
3249
|
+
password: "\uBE44\uBC00\uBC88\uD638",
|
|
3250
|
+
passwordPlaceholder: "\uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3251
|
+
rePassword: "\uBE44\uBC00\uBC88\uD638 \uD655\uC778",
|
|
3252
|
+
rePasswordPlaceholder: "\uBE44\uBC00\uBC88\uD638\uB97C \uB2E4\uC2DC \uC785\uB825\uD558\uC138\uC694",
|
|
3253
|
+
recoverTitle: "\uC9C0\uAC11 \uBCF5\uAD6C",
|
|
3254
|
+
recoverTips: "\uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD574 \uC9C0\uAC11\uC744 \uBCF5\uAD6C\uD558\uC138\uC694",
|
|
3255
|
+
bindWith: "{name} \uC9C0\uAC11\uACFC \uC5F0\uACB0",
|
|
3256
|
+
loginWith: "{name} \uC9C0\uAC11\uC73C\uB85C \uB85C\uADF8\uC778",
|
|
3257
|
+
editUsernameTitle: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC218\uC815",
|
|
3258
|
+
setUsernameTitle: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC124\uC815",
|
|
3259
|
+
username: "\uC0AC\uC6A9\uC790 \uC774\uB984",
|
|
3260
|
+
usernamePlaceholder: "\uC0AC\uC6A9\uC790 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694",
|
|
3261
|
+
usernameValidError: "\uC774\uB984\uC740 \uBB38\uC790, \uC22B\uC790 \uBC0F \uD2B9\uC218\uBB38\uC790\uB85C \uAD6C\uC131\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
3262
|
+
usernameLengthError: "\uC774\uB984\uC740 \uCD5C\uC18C 2\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",
|
|
3263
|
+
confirm: "\uD655\uC778",
|
|
3264
|
+
nextTime: "\uB2E4\uC74C\uC5D0",
|
|
3265
|
+
setUsername: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC124\uC815",
|
|
3266
|
+
disconnect: "\uC5F0\uACB0 \uB04A\uAE30"
|
|
3267
|
+
};
|
|
3268
|
+
|
|
3269
|
+
// src/i18n/vi.json
|
|
3270
|
+
var vi_default = {
|
|
3271
|
+
email: "Email",
|
|
3272
|
+
emailAddress: "\u0110\u1ECBa ch\u1EC9 Email",
|
|
3273
|
+
emailAddressPlaceholder: "Nh\u1EADp \u0111\u1ECBa ch\u1EC9 Email c\u1EE7a b\u1EA1n",
|
|
3274
|
+
continue: "Ti\u1EBFp t\u1EE5c",
|
|
3275
|
+
send: "G\u1EEDi",
|
|
3276
|
+
resend: "G\u1EEDi l\u1EA1i",
|
|
3277
|
+
sendCodeErrorTip: "G\u1EEDi m\xE3 th\u1EA5t b\u1EA1i: {error}",
|
|
3278
|
+
sendEmailTips: "Ch\xFAng t\xF4i \u0111\xE3 g\u1EEDi m\xE3 x\xE1c minh \u0111\u1EBFn email c\u1EE7a b\u1EA1n",
|
|
3279
|
+
verificationCode: "M\xE3 x\xE1c minh",
|
|
3280
|
+
codePlaceholder: "Nh\u1EADp m\xE3",
|
|
3281
|
+
wallet: "V\xED",
|
|
3282
|
+
otherLoginMethods: "Ph\u01B0\u01A1ng th\u1EE9c \u0111\u0103ng nh\u1EADp kh\xE1c",
|
|
3283
|
+
login: "\u0110\u0103ng nh\u1EADp",
|
|
3284
|
+
user: "Ng\u01B0\u1EDDi d\xF9ng",
|
|
3285
|
+
loginTitle: "\u0110\u0103ng nh\u1EADp / \u0110\u0103ng k\xFD",
|
|
3286
|
+
loginTips: "B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng c\xE1c ph\u01B0\u01A1ng th\u1EE9c sau",
|
|
3287
|
+
passwordMinError: "M\u1EADt kh\u1EA9u ph\u1EA3i c\xF3 \xEDt nh\u1EA5t {length} k\xFD t\u1EF1",
|
|
3288
|
+
passwordMatchError: "Hai m\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp",
|
|
3289
|
+
passwordTitle: "T\u1EA1o m\u1EADt kh\u1EA9u",
|
|
3290
|
+
passwordTips: "Vui l\xF2ng \u0111\u1EB7t m\u1EADt kh\u1EA9u \u0111\u1EC3 kh\xF4i ph\u1EE5c v\xED",
|
|
3291
|
+
password: "M\u1EADt kh\u1EA9u",
|
|
3292
|
+
passwordPlaceholder: "Nh\u1EADp m\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n",
|
|
3293
|
+
rePassword: "X\xE1c nh\u1EADn m\u1EADt kh\u1EA9u",
|
|
3294
|
+
rePasswordPlaceholder: "Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u",
|
|
3295
|
+
recoverTitle: "Kh\xF4i ph\u1EE5c v\xED",
|
|
3296
|
+
recoverTips: "Nh\u1EADp m\u1EADt kh\u1EA9u \u0111\u1EC3 kh\xF4i ph\u1EE5c v\xED",
|
|
3297
|
+
bindWith: "Li\xEAn k\u1EBFt v\u1EDBi v\xED {name}",
|
|
3298
|
+
loginWith: "\u0110\u0103ng nh\u1EADp b\u1EB1ng v\xED {name}",
|
|
3299
|
+
editUsernameTitle: "Ch\u1EC9nh s\u1EEDa t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3300
|
+
setUsernameTitle: "\u0110\u1EB7t t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3301
|
+
username: "T\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3302
|
+
usernamePlaceholder: "Nh\u1EADp t\xEAn ng\u01B0\u1EDDi d\xF9ng c\u1EE7a b\u1EA1n",
|
|
3303
|
+
usernameValidError: "T\xEAn ch\u1EC9 \u0111\u01B0\u1EE3c ch\u1EE9a ch\u1EEF, s\u1ED1 v\xE0 k\xFD t\u1EF1",
|
|
3304
|
+
usernameLengthError: "T\xEAn ph\u1EA3i d\xE0i \xEDt nh\u1EA5t 2 k\xFD t\u1EF1",
|
|
3305
|
+
confirm: "X\xE1c nh\u1EADn",
|
|
3306
|
+
nextTime: "L\u1EA7n sau",
|
|
3307
|
+
setUsername: "\u0110\u1EB7t t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3308
|
+
disconnect: "Ng\u1EAFt k\u1EBFt n\u1ED1i"
|
|
3309
|
+
};
|
|
3310
|
+
|
|
3311
|
+
// src/i18n/es.json
|
|
3312
|
+
var es_default = {
|
|
3313
|
+
email: "Correo",
|
|
3314
|
+
emailAddress: "Direcci\xF3n de correo",
|
|
3315
|
+
emailAddressPlaceholder: "Introduce tu direcci\xF3n de correo",
|
|
3316
|
+
continue: "Continuar",
|
|
3317
|
+
send: "Enviar",
|
|
3318
|
+
resend: "Reenviar",
|
|
3319
|
+
sendCodeErrorTip: "Error al enviar el c\xF3digo: {error}",
|
|
3320
|
+
sendEmailTips: "Hemos enviado un c\xF3digo de verificaci\xF3n a tu correo",
|
|
3321
|
+
verificationCode: "C\xF3digo de verificaci\xF3n",
|
|
3322
|
+
codePlaceholder: "Introduce el c\xF3digo",
|
|
3323
|
+
wallet: "Cartera",
|
|
3324
|
+
otherLoginMethods: "Otros m\xE9todos de inicio de sesi\xF3n",
|
|
3325
|
+
login: "Iniciar sesi\xF3n",
|
|
3326
|
+
user: "Usuario",
|
|
3327
|
+
loginTitle: "Iniciar sesi\xF3n / Registrarse",
|
|
3328
|
+
loginTips: "Puedes usar los siguientes m\xE9todos",
|
|
3329
|
+
passwordMinError: "La contrase\xF1a debe tener al menos {length} caracteres",
|
|
3330
|
+
passwordMatchError: "Las contrase\xF1as no coinciden",
|
|
3331
|
+
passwordTitle: "Establecer contrase\xF1a",
|
|
3332
|
+
passwordTips: "Configura la contrase\xF1a para recuperar tu cartera",
|
|
3333
|
+
password: "Contrase\xF1a",
|
|
3334
|
+
passwordPlaceholder: "Introduce tu contrase\xF1a",
|
|
3335
|
+
rePassword: "Confirmar contrase\xF1a",
|
|
3336
|
+
rePasswordPlaceholder: "Repite la contrase\xF1a",
|
|
3337
|
+
recoverTitle: "Recuperar cartera",
|
|
3338
|
+
recoverTips: "Introduce tu contrase\xF1a para recuperar la cartera",
|
|
3339
|
+
bindWith: "Vincular con la cartera {name}",
|
|
3340
|
+
loginWith: "Iniciar sesi\xF3n con la cartera {name}",
|
|
3341
|
+
editUsernameTitle: "Editar nombre de usuario",
|
|
3342
|
+
setUsernameTitle: "Establecer nombre de usuario",
|
|
3343
|
+
username: "Nombre de usuario",
|
|
3344
|
+
usernamePlaceholder: "Introduce tu nombre de usuario",
|
|
3345
|
+
usernameValidError: "El nombre puede contener letras, n\xFAmeros y caracteres",
|
|
3346
|
+
usernameLengthError: "El nombre debe tener al menos 2 caracteres",
|
|
3347
|
+
confirm: "Confirmar",
|
|
3348
|
+
nextTime: "La pr\xF3xima vez",
|
|
3349
|
+
setUsername: "Establecer nombre de usuario",
|
|
3350
|
+
disconnect: "Desconectar"
|
|
3351
|
+
};
|
|
3352
|
+
|
|
3353
|
+
// src/i18n/pt.json
|
|
3354
|
+
var pt_default = {
|
|
3355
|
+
email: "Email",
|
|
3356
|
+
emailAddress: "Endere\xE7o de Email",
|
|
3357
|
+
emailAddressPlaceholder: "Digite seu endere\xE7o de email",
|
|
3358
|
+
continue: "Continuar",
|
|
3359
|
+
send: "Enviar",
|
|
3360
|
+
resend: "Reenviar",
|
|
3361
|
+
sendCodeErrorTip: "Falha ao enviar c\xF3digo: {error}",
|
|
3362
|
+
sendEmailTips: "Enviamos um c\xF3digo de verifica\xE7\xE3o para seu email",
|
|
3363
|
+
verificationCode: "C\xF3digo de Verifica\xE7\xE3o",
|
|
3364
|
+
codePlaceholder: "Digite o c\xF3digo",
|
|
3365
|
+
wallet: "Carteira",
|
|
3366
|
+
otherLoginMethods: "Outros m\xE9todos de login",
|
|
3367
|
+
login: "Entrar",
|
|
3368
|
+
user: "Usu\xE1rio",
|
|
3369
|
+
loginTitle: "Entrar / Registrar",
|
|
3370
|
+
loginTips: "Voc\xEA pode usar os m\xE9todos abaixo",
|
|
3371
|
+
passwordMinError: "A senha deve ter pelo menos {length} caracteres",
|
|
3372
|
+
passwordMatchError: "As senhas digitadas n\xE3o coincidem",
|
|
3373
|
+
passwordTitle: "Definir Senha",
|
|
3374
|
+
passwordTips: "Configure uma senha para recuperar sua carteira",
|
|
3375
|
+
password: "Senha",
|
|
3376
|
+
passwordPlaceholder: "Digite sua senha",
|
|
3377
|
+
rePassword: "Confirmar Senha",
|
|
3378
|
+
rePasswordPlaceholder: "Digite a senha novamente",
|
|
3379
|
+
recoverTitle: "Recuperar Carteira",
|
|
3380
|
+
recoverTips: "Digite sua senha para recuperar a carteira",
|
|
3381
|
+
bindWith: "Vincular com Carteira {name}",
|
|
3382
|
+
loginWith: "Entrar com Carteira {name}",
|
|
3383
|
+
editUsernameTitle: "Editar Nome de Usu\xE1rio",
|
|
3384
|
+
setUsernameTitle: "Definir Nome de Usu\xE1rio",
|
|
3385
|
+
username: "Nome de Usu\xE1rio",
|
|
3386
|
+
usernamePlaceholder: "Digite seu nome de usu\xE1rio",
|
|
3387
|
+
usernameValidError: "O nome pode conter letras, n\xFAmeros e caracteres",
|
|
3388
|
+
usernameLengthError: "Deve ter no m\xEDnimo 2 caracteres",
|
|
3389
|
+
confirm: "Confirmar",
|
|
3390
|
+
nextTime: "Pr\xF3xima vez",
|
|
3391
|
+
setUsername: "Definir Nome de Usu\xE1rio",
|
|
3392
|
+
disconnect: "Desconectar"
|
|
3393
|
+
};
|
|
3394
|
+
|
|
3395
|
+
// src/i18n/index.ts
|
|
3396
|
+
var messages = {
|
|
3397
|
+
en: en_default,
|
|
3398
|
+
zh: zh_default,
|
|
3399
|
+
tw: tw_default,
|
|
3400
|
+
fr: fr_default,
|
|
3401
|
+
ja: ja_default,
|
|
3402
|
+
ko: ko_default,
|
|
3403
|
+
vi: vi_default,
|
|
3404
|
+
es: es_default,
|
|
3405
|
+
pt: pt_default
|
|
3406
|
+
};
|
|
3407
|
+
|
|
3408
|
+
// src/MatchContext.tsx
|
|
2916
3409
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
2917
3410
|
var queryClient = new import_react_query.QueryClient();
|
|
2918
3411
|
var MatchContext = (0, import_react18.createContext)(void 0);
|
|
2919
|
-
var MatchProvider = ({ children, appid, events, theme = "light", endpoints }) => {
|
|
2920
|
-
const { loadOverview, login, endpoints: realEndPoints } = useInit({
|
|
3412
|
+
var MatchProvider = ({ children, appid, events, theme = "light", endpoints, locale }) => {
|
|
3413
|
+
const { loadOverview, login, endpoints: realEndPoints, locale: realLocale } = useInit({
|
|
2921
3414
|
theme,
|
|
2922
3415
|
appid,
|
|
2923
3416
|
events,
|
|
2924
|
-
endpoints
|
|
3417
|
+
endpoints,
|
|
3418
|
+
locale
|
|
3419
|
+
});
|
|
3420
|
+
matchlog_default.log("config", {
|
|
3421
|
+
appid,
|
|
3422
|
+
theme,
|
|
3423
|
+
endpoints,
|
|
3424
|
+
locale,
|
|
3425
|
+
realLocale
|
|
2925
3426
|
});
|
|
2926
3427
|
useWalletInit({
|
|
2927
3428
|
refreshOverview: loadOverview
|
|
2928
3429
|
});
|
|
2929
|
-
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_query.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
3430
|
+
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)(
|
|
2930
3431
|
MatchContext.Provider,
|
|
2931
3432
|
{
|
|
2932
3433
|
value: {
|
|
@@ -2934,11 +3435,12 @@ var MatchProvider = ({ children, appid, events, theme = "light", endpoints }) =>
|
|
|
2934
3435
|
endpoints: realEndPoints,
|
|
2935
3436
|
events,
|
|
2936
3437
|
login,
|
|
2937
|
-
theme
|
|
3438
|
+
theme,
|
|
3439
|
+
locale: realLocale
|
|
2938
3440
|
},
|
|
2939
3441
|
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(context_default, { children })
|
|
2940
3442
|
}
|
|
2941
|
-
) });
|
|
3443
|
+
) }) });
|
|
2942
3444
|
};
|
|
2943
3445
|
var useMatch = () => {
|
|
2944
3446
|
const context = (0, import_react18.useContext)(MatchContext);
|