diff --git a/src/interface/web/app/settings/page.tsx b/src/interface/web/app/settings/page.tsx index 4fefe161..cab58f06 100644 --- a/src/interface/web/app/settings/page.tsx +++ b/src/interface/web/app/settings/page.tsx @@ -424,6 +424,31 @@ export default function SettingsView() { } }; + const disconnectNumber = async () => { + try { + const response = await fetch(`/api/phone`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + }); + if (!response.ok) throw new Error('Failed to disconnect phone number'); + + setPhoneNumber(undefined); + setNumberValidationState(PhoneNumberValidationState.Setup); + toast({ + title: "📱 Phone", + description: "Phone number disconnected", + }); + } catch (error) { + console.error('Error disconnecting phone number:', error); + toast({ + title: "📱 Phone", + description: "Failed to disconnect phone number. Try again or contact us at team@khoj.dev", + }); + } + } + const setSubscription = async (state: string) => { try { const url = `/api/subscription?email=${userConfig?.username}&operation=${state}`; @@ -951,8 +976,9 @@ export default function SettingsView() { disabled={numberValidationState === PhoneNumberValidationState.VerifyOTP} initOptions={{ separateDialCode: true, - initialCountry: "us", + initialCountry: "af", utilsScript: "https://assets.khoj.dev/intl-tel-input%4023.8.0_build_js_utils.js", + containerClass: `${styles.phoneInput}` }} /> {numberValidationState === PhoneNumberValidationState.VerifyOTP && ( @@ -1000,6 +1026,16 @@ export default function SettingsView() { } )} + { + numberValidationState === PhoneNumberValidationState.Verified && ( + + ) + } diff --git a/src/interface/web/app/settings/settings.module.css b/src/interface/web/app/settings/settings.module.css index 0bc76667..8c5ec535 100644 --- a/src/interface/web/app/settings/settings.module.css +++ b/src/interface/web/app/settings/settings.module.css @@ -9,3 +9,14 @@ div.contentBody { display: grid; margin: auto; } + +div.phoneInput { + padding: 0rem; +} + +div.phoneInput input { + width: 100%; + padding: 0.5rem; + border: 1px solid hsla(var(--border)); + border-radius: 0.25rem; +} diff --git a/src/khoj/routers/helpers.py b/src/khoj/routers/helpers.py index 11338dd5..0223ab8c 100644 --- a/src/khoj/routers/helpers.py +++ b/src/khoj/routers/helpers.py @@ -1298,7 +1298,7 @@ def get_user_config(user: KhojUser, request: Request, is_detailed: bool = False) "user_photo": user_picture, "is_active": is_active, "given_name": given_name, - "phone_number": str(user.phone_number), + "phone_number": str(user.phone_number) if user.phone_number else "", "is_phone_number_verified": user.verified_phone_number, # user content settings "enabled_content_source": enabled_content_sources,