diff --git a/src/hooks/useShortMentionsList.ts b/src/hooks/useShortMentionsList.ts index 32a04d53f9e6..69361a9013f9 100644 --- a/src/hooks/useShortMentionsList.ts +++ b/src/hooks/useShortMentionsList.ts @@ -1,6 +1,6 @@ import {useMemo} from 'react'; import {usePersonalDetails} from '@components/OnyxListItemProvider'; -import {areEmailsFromSamePrivateDomain} from '@libs/LoginUtils'; +import {getEmailDomain, isDomainPublic} from '@libs/LoginUtils'; import useCurrentUserPersonalDetails from './useCurrentUserPersonalDetails'; /** @@ -18,14 +18,20 @@ export default function useShortMentionsList() { return []; } + const currentUserDomain = getEmailDomain(currentUserPersonalDetails.login ?? ''); + const isCurrentUserPublicDomain = isDomainPublic(currentUserDomain); + return Object.values(personalDetails) .map((personalDetail) => { - if (!personalDetail?.login) { + if (!personalDetail?.login || isCurrentUserPublicDomain) { return; } + const personalDetailDomain = getEmailDomain(personalDetail.login); + const isPersonalDetailPublicDomain = isDomainPublic(personalDetailDomain); + // If the emails are not in the same private domain, we don't want to highlight them - if (!areEmailsFromSamePrivateDomain(personalDetail.login, currentUserPersonalDetails.login ?? '')) { + if (isPersonalDetailPublicDomain || personalDetailDomain !== currentUserDomain) { return; } diff --git a/src/libs/LoginUtils.ts b/src/libs/LoginUtils.ts index b07d9ccdcc62..9a2f07326a54 100644 --- a/src/libs/LoginUtils.ts +++ b/src/libs/LoginUtils.ts @@ -35,10 +35,21 @@ function appendCountryCode(phone: string, countryCode: number): string { * Check email is public domain or not */ function isEmailPublicDomain(email: string): boolean { - const emailDomain = Str.extractEmailDomain(email).toLowerCase(); + const emailDomain = getEmailDomain(email); return PUBLIC_DOMAINS_SET.has(emailDomain); } +function isDomainPublic(domain: string): boolean { + return PUBLIC_DOMAINS_SET.has(domain); +} + +/** + * Get the domain for an email + */ +function getEmailDomain(email: string): string { + return Str.extractEmailDomain(email).toLowerCase(); +} + /** * Check if number is valid * @returns a valid phone number formatted @@ -114,4 +125,6 @@ export { postSAMLLogin, handleSAMLLoginError, formatE164PhoneNumber, + getEmailDomain, + isDomainPublic, };