feat: support "All" in organization's country codes (#3264)

This commit is contained in:
DacongDA 2024-10-03 22:58:09 +08:00 committed by GitHub
parent e1dea9f697
commit 468631e654
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 2 deletions

View File

@ -51,6 +51,9 @@ func IsPhoneValid(phone string, countryCode string) bool {
}
func IsPhoneAllowInRegin(countryCode string, allowRegions []string) bool {
if ContainsString(allowRegions, "All") {
return true
}
return ContainsString(allowRegions, countryCode)
}

View File

@ -350,6 +350,7 @@ class OrganizationEditPage extends React.Component {
}}
filterOption={(input, option) => (option?.text ?? "").toLowerCase().includes(input.toLowerCase())}
>
{Setting.getCountryCodeOption({name: i18next.t("organization:All"), code: "All", phone: 0})}
{
Setting.getCountryCodeData().map((country) => Setting.getCountryCodeOption(country))
}

View File

@ -418,6 +418,9 @@ export function getCountryCode(country) {
}
export function getCountryCodeData(countryCodes = phoneNumber.getCountries()) {
if (countryCodes?.includes("All")) {
countryCodes = phoneNumber.getCountries();
}
return countryCodes?.map((countryCode) => {
if (phoneNumber.isSupportedCountry(countryCode)) {
const name = initCountries().getName(countryCode, getLanguage());
@ -436,10 +439,10 @@ export function getCountryCodeOption(country) {
<Option key={country.code} value={country.code} label={`+${country.phone}`} text={`${country.name}, ${country.code}, ${country.phone}`} >
<div style={{display: "flex", justifyContent: "space-between", marginRight: "10px"}}>
<div>
{getCountryImage(country)}
{country.code === "All" ? null : getCountryImage(country)}
{`${country.name}`}
</div>
{`+${country.phone}`}
{country.code === "All" ? null : `+${country.phone}`}
</div>
</Option>
);