Skip to content

Commit a2f23d8

Browse files
committed
GH-38: Implement advanced country filtering with dial codes
1 parent 9893ecd commit a2f23d8

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

development/src/phone-hooks/index.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -129,17 +129,15 @@ export const usePhone = ({
129129

130130
const countriesOnly = useMemo(() => {
131131
const allowList = onlyCountries.length > 0 ? onlyCountries : countries.map(([iso]) => iso);
132-
return countries.map(([iso]) => iso).filter((iso) => {
133-
return allowList.includes(iso) && !excludeCountries.includes(iso);
132+
return countries.filter(([iso, _1, dial]) => {
133+
return (allowList.includes(iso) || allowList.includes(dial)) && !excludeCountries.includes(iso) && !excludeCountries.includes(dial);
134134
});
135135
}, [onlyCountries, excludeCountries])
136136

137137
const countriesList = useMemo(() => {
138-
const filteredCountries = countries.filter(([iso, name, _1, dial]) => {
139-
return countriesOnly.includes(iso) && (
140-
name.toLowerCase().startsWith(query.toLowerCase()) || dial.includes(query)
141-
);
142-
});
138+
const filteredCountries = countriesOnly.filter(([_1, name, dial, mask]) => (
139+
name.toLowerCase().startsWith(query.toLowerCase()) || dial.includes(query) || mask.includes(query)
140+
));
143141
return [
144142
...filteredCountries.filter(([iso]) => preferredCountries.includes(iso)),
145143
...filteredCountries.filter(([iso]) => !preferredCountries.includes(iso)),

src/index.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -129,17 +129,15 @@ export const usePhone = ({
129129

130130
const countriesOnly = useMemo(() => {
131131
const allowList = onlyCountries.length > 0 ? onlyCountries : countries.map(([iso]) => iso);
132-
return countries.map(([iso]) => iso).filter((iso) => {
133-
return allowList.includes(iso) && !excludeCountries.includes(iso);
132+
return countries.filter(([iso, _1, dial]) => {
133+
return (allowList.includes(iso) || allowList.includes(dial)) && !excludeCountries.includes(iso) && !excludeCountries.includes(dial);
134134
});
135135
}, [onlyCountries, excludeCountries])
136136

137137
const countriesList = useMemo(() => {
138-
const filteredCountries = countries.filter(([iso, name, _1, dial]) => {
139-
return countriesOnly.includes(iso) && (
140-
name.toLowerCase().startsWith(query.toLowerCase()) || dial.includes(query)
141-
);
142-
});
138+
const filteredCountries = countriesOnly.filter(([_1, name, dial, mask]) => (
139+
name.toLowerCase().startsWith(query.toLowerCase()) || dial.includes(query) || mask.includes(query)
140+
));
143141
return [
144142
...filteredCountries.filter(([iso]) => preferredCountries.includes(iso)),
145143
...filteredCountries.filter(([iso]) => !preferredCountries.includes(iso)),

0 commit comments

Comments
 (0)