From 8696b08db2daad861b7fdc2fa1e3166b5f60cc54 Mon Sep 17 00:00:00 2001 From: Yaodong Yu <2814461814@qq.com> Date: Wed, 1 Mar 2023 22:09:48 +0800 Subject: [PATCH] fix: empty countryCode of current account causes crash (#1603) * fix: empty countryCode of current account cause crush * Update UserEditPage.js --------- Co-authored-by: hsluoyz --- web/src/ResetModal.js | 4 ++-- web/src/Setting.js | 5 ++++- web/src/UserEditPage.js | 8 ++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/web/src/ResetModal.js b/web/src/ResetModal.js index c833c268..505ff708 100644 --- a/web/src/ResetModal.js +++ b/web/src/ResetModal.js @@ -25,7 +25,7 @@ export const ResetModal = (props) => { const [confirmLoading, setConfirmLoading] = React.useState(false); const [dest, setDest] = React.useState(""); const [code, setCode] = React.useState(""); - const {buttonText, destType, application, account} = props; + const {buttonText, destType, application, countryCode} = props; const showModal = () => { setVisible(true); @@ -87,7 +87,7 @@ export const ResetModal = (props) => {    : (  {`+${Setting.getCountryCode(account.countryCode)}`} )} + prefix={destType === "email" ?    : (  {countryCode !== "" ? "+" : null}{Setting.getCountryCode(countryCode)} )} placeholder={placeholder} onChange={e => setDest(e.target.value)} /> diff --git a/web/src/Setting.js b/web/src/Setting.js index 9b46b895..0a80a65b 100644 --- a/web/src/Setting.js +++ b/web/src/Setting.js @@ -209,7 +209,10 @@ export function initCountries() { } export function getCountryCode(country) { - return phoneNumber.getCountryCallingCode(country); + if (phoneNumber.isSupportedCountry(country)) { + return phoneNumber.getCountryCallingCode(country); + } + return ""; } export function getCountryCodeData(countryCodes = phoneNumber.getCountries()) { diff --git a/web/src/UserEditPage.js b/web/src/UserEditPage.js index 93c7180d..292fbc1f 100644 --- a/web/src/UserEditPage.js +++ b/web/src/UserEditPage.js @@ -138,6 +138,10 @@ class UserEditPage extends React.Component { return this.isSelf() || Setting.isAdminUser(this.props.account); } + getCountryCode() { + return this.props.account.countryCode; + } + renderAccountItem(accountItem) { if (!accountItem.visible) { return null; @@ -296,7 +300,7 @@ class UserEditPage extends React.Component { {/* backend auto get the current user, so admin can not edit. Just self can reset*/} - {this.isSelf() ? : null} + {this.isSelf() ? : null} ); @@ -326,7 +330,7 @@ class UserEditPage extends React.Component { - {this.isSelf() ? () : null} + {this.isSelf() ? () : null} );