Skip to content

Commit 3a15f3d

Browse files
authored
Merge pull request #117 from fleetbase/fix/use-frontend-ip-lookup
fix: Update phone-input to use frontend IP lookup from ember-core
2 parents 6de9893 + 3c63c5d commit 3a15f3d

3 files changed

Lines changed: 28 additions & 6 deletions

File tree

addon/components/layout/header.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,20 @@ export default class LayoutHeaderComponent extends Component {
275275
// Push support menu items
276276
menuItems.pushObjects(supportMenuItems);
277277

278+
// Push items from universe registry
279+
const universeUserMenuItems = this.universe.userMenuItems;
280+
if (isArray(universeUserMenuItems) && universeUserMenuItems.length) {
281+
menuItems.pushObjects([
282+
{
283+
seperator: true,
284+
},
285+
...universeUserMenuItems,
286+
{
287+
seperator: true,
288+
},
289+
]);
290+
}
291+
278292
// Push provided menu items
279293
menuItems.pushObjects(userMenuItems);
280294

addon/components/phone-input.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { inject as service } from '@ember/service';
44
import { action } from '@ember/object';
55
import { debug } from '@ember/debug';
66
import intlTelInput from 'intl-tel-input';
7+
import lookupUserIp from '@fleetbase/ember-core/utils/lookup-user-ip';
78

89
export default class PhoneInputComponent extends Component {
910
@service fetch;
@@ -15,13 +16,20 @@ export default class PhoneInputComponent extends Component {
1516
initialCountry: 'auto',
1617
separateDialCode: true,
1718
formatAsYouType: true,
18-
geoIpLookup: async (success, failure) => {
19+
geoIpLookup: async (success) => {
1920
try {
20-
const { country_code } = await this.fetch.get('lookup/whois');
21-
success(country_code);
21+
const ipData = await lookupUserIp();
22+
if (ipData && ipData.country_code) {
23+
success(ipData.country_code);
24+
} else {
25+
// Fallback to US if no country code in response
26+
debug('No country code in IP lookup response, defaulting to US');
27+
success('us');
28+
}
2229
} catch (error) {
23-
debug('Failed to lookup country code with whois API.');
24-
failure(error);
30+
// Always succeed with US fallback on error
31+
debug('Failed to lookup country code, defaulting to US: ' + error.message);
32+
success('us');
2533
}
2634
},
2735
utilsScript: '/assets/libphonenumber/utils.js',

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@fleetbase/ember-ui",
3-
"version": "0.3.20",
3+
"version": "0.3.21",
44
"description": "Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.",
55
"keywords": [
66
"fleetbase-ui",

0 commit comments

Comments
 (0)