fix(contacts): Show telegram id in contact details form (#13611)
## Summary This change fixes a mismatch in contact details where Telegram data could be shown in the contact profile/social icon area but was not available in the editable contact form. ### What changed - Added Telegram to the social links section of the next-gen contact form so agents can view and edit it alongside Facebook, Instagram, TikTok, Twitter, GitHub, and LinkedIn. - Added Telegram support to the legacy conversation contact edit form for parity between both contact editing experiences. - Mapped social_telegram_user_name into the editable socialProfiles payload when preparing contact form state, so Telegram usernames sourced from channel attributes are visible in the form. - Updated the conversation contact social profile merge logic so Telegram display prefers an explicitly saved social profile value and falls back to social_telegram_user_name when needed. - Added the missing English i18n placeholder: Add Telegram. ### Why Without this, users could see Telegram info in some contact views but could not reliably edit it in contact details, creating inconsistent behavior between display and edit states. --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
This commit is contained in:
@@ -44,6 +44,7 @@ const SOCIAL_CONFIG = {
|
|||||||
LINKEDIN: 'i-ri-linkedin-box-fill',
|
LINKEDIN: 'i-ri-linkedin-box-fill',
|
||||||
FACEBOOK: 'i-ri-facebook-circle-fill',
|
FACEBOOK: 'i-ri-facebook-circle-fill',
|
||||||
INSTAGRAM: 'i-ri-instagram-line',
|
INSTAGRAM: 'i-ri-instagram-line',
|
||||||
|
TELEGRAM: 'i-ri-telegram-fill',
|
||||||
TIKTOK: 'i-ri-tiktok-fill',
|
TIKTOK: 'i-ri-tiktok-fill',
|
||||||
TWITTER: 'i-ri-twitter-x-fill',
|
TWITTER: 'i-ri-twitter-x-fill',
|
||||||
GITHUB: 'i-ri-github-fill',
|
GITHUB: 'i-ri-github-fill',
|
||||||
@@ -66,6 +67,7 @@ const defaultState = {
|
|||||||
facebook: '',
|
facebook: '',
|
||||||
github: '',
|
github: '',
|
||||||
instagram: '',
|
instagram: '',
|
||||||
|
telegram: '',
|
||||||
tiktok: '',
|
tiktok: '',
|
||||||
linkedin: '',
|
linkedin: '',
|
||||||
twitter: '',
|
twitter: '',
|
||||||
@@ -103,9 +105,13 @@ const prepareStateBasedOnProps = () => {
|
|||||||
countryCode = '',
|
countryCode = '',
|
||||||
country = '',
|
country = '',
|
||||||
city = '',
|
city = '',
|
||||||
|
socialTelegramUserName = '',
|
||||||
socialProfiles = {},
|
socialProfiles = {},
|
||||||
} = additionalAttributes || {};
|
} = additionalAttributes || {};
|
||||||
|
|
||||||
|
const telegramUsername =
|
||||||
|
socialProfiles?.telegram || socialTelegramUserName || '';
|
||||||
|
|
||||||
Object.assign(state, {
|
Object.assign(state, {
|
||||||
id,
|
id,
|
||||||
name,
|
name,
|
||||||
@@ -119,7 +125,10 @@ const prepareStateBasedOnProps = () => {
|
|||||||
countryCode,
|
countryCode,
|
||||||
country,
|
country,
|
||||||
city,
|
city,
|
||||||
socialProfiles,
|
socialProfiles: {
|
||||||
|
...socialProfiles,
|
||||||
|
telegram: telegramUsername,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -458,6 +458,9 @@
|
|||||||
"INSTAGRAM": {
|
"INSTAGRAM": {
|
||||||
"PLACEHOLDER": "Add Instagram"
|
"PLACEHOLDER": "Add Instagram"
|
||||||
},
|
},
|
||||||
|
"TELEGRAM": {
|
||||||
|
"PLACEHOLDER": "Add Telegram"
|
||||||
|
},
|
||||||
"TIKTOK": {
|
"TIKTOK": {
|
||||||
"PLACEHOLDER": "Add TikTok"
|
"PLACEHOLDER": "Add TikTok"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -58,12 +58,14 @@ export default {
|
|||||||
twitter: '',
|
twitter: '',
|
||||||
linkedin: '',
|
linkedin: '',
|
||||||
github: '',
|
github: '',
|
||||||
|
telegram: '',
|
||||||
},
|
},
|
||||||
socialProfileKeys: [
|
socialProfileKeys: [
|
||||||
{ key: 'facebook', prefixURL: 'https://facebook.com/' },
|
{ key: 'facebook', prefixURL: 'https://facebook.com/' },
|
||||||
{ key: 'twitter', prefixURL: 'https://twitter.com/' },
|
{ key: 'twitter', prefixURL: 'https://twitter.com/' },
|
||||||
{ key: 'linkedin', prefixURL: 'https://linkedin.com/' },
|
{ key: 'linkedin', prefixURL: 'https://linkedin.com/' },
|
||||||
{ key: 'github', prefixURL: 'https://github.com/' },
|
{ key: 'github', prefixURL: 'https://github.com/' },
|
||||||
|
{ key: 'telegram', prefixURL: 'https://t.me/' },
|
||||||
{ key: 'tiktok', prefixURL: 'https://tiktok.com/@' },
|
{ key: 'tiktok', prefixURL: 'https://tiktok.com/@' },
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
@@ -175,12 +177,14 @@ export default {
|
|||||||
const {
|
const {
|
||||||
social_profiles: socialProfiles = {},
|
social_profiles: socialProfiles = {},
|
||||||
screen_name: twitterScreenName,
|
screen_name: twitterScreenName,
|
||||||
|
social_telegram_user_name: telegramUserName,
|
||||||
} = additionalAttributes;
|
} = additionalAttributes;
|
||||||
this.socialProfileUserNames = {
|
this.socialProfileUserNames = {
|
||||||
twitter: socialProfiles.twitter || twitterScreenName || '',
|
twitter: socialProfiles.twitter || twitterScreenName || '',
|
||||||
facebook: socialProfiles.facebook || '',
|
facebook: socialProfiles.facebook || '',
|
||||||
linkedin: socialProfiles.linkedin || '',
|
linkedin: socialProfiles.linkedin || '',
|
||||||
github: socialProfiles.github || '',
|
github: socialProfiles.github || '',
|
||||||
|
telegram: socialProfiles.telegram || telegramUserName || '',
|
||||||
instagram: socialProfiles.instagram || '',
|
instagram: socialProfiles.instagram || '',
|
||||||
tiktok: socialProfiles.tiktok || '',
|
tiktok: socialProfiles.tiktok || '',
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -81,10 +81,14 @@ export default {
|
|||||||
screen_name: twitterScreenName,
|
screen_name: twitterScreenName,
|
||||||
social_telegram_user_name: telegramUsername,
|
social_telegram_user_name: telegramUsername,
|
||||||
} = this.additionalAttributes;
|
} = this.additionalAttributes;
|
||||||
|
|
||||||
|
const telegram = socialProfiles?.telegram || telegramUsername || '';
|
||||||
|
const twitter = socialProfiles?.twitter || twitterScreenName || '';
|
||||||
|
|
||||||
return {
|
return {
|
||||||
twitter: twitterScreenName,
|
|
||||||
telegram: telegramUsername,
|
|
||||||
...(socialProfiles || {}),
|
...(socialProfiles || {}),
|
||||||
|
twitter,
|
||||||
|
telegram,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
// Delete Modal
|
// Delete Modal
|
||||||
|
|||||||
Reference in New Issue
Block a user