11import React , { useRef } from 'react' ;
22import type { ViewStyle } from 'react-native' ;
33import { StyleSheet , View } from 'react-native' ;
4- import DisplayNames from '@components/DisplayNames' ;
54import Icon from '@components/Icon' ;
65import { useLHNTooltipContext } from '@components/LHNOptionsList/LHNTooltipContext' ;
76import type { OptionRowLHNProps } from '@components/LHNOptionsList/types' ;
@@ -20,12 +19,13 @@ import useThemeStyles from '@hooks/useThemeStyles';
2019import DateUtils from '@libs/DateUtils' ;
2120import FS from '@libs/Fullstory' ;
2221import { shouldUseBoldText } from '@libs/OptionsListUtils' ;
23- import { isChatUsedForOnboarding as isChatUsedForOnboardingReportUtils , isGroupChat , isSystemChat } from '@libs/ReportUtils' ;
22+ import { isChatUsedForOnboarding as isChatUsedForOnboardingReportUtils } from '@libs/ReportUtils' ;
2423import FreeTrial from '@pages/settings/Subscription/FreeTrial' ;
2524import variables from '@styles/variables' ;
2625import CONST from '@src/CONST' ;
2726import ONYXKEYS from '@src/ONYXKEYS' ;
2827import DraftIndicator from './OptionRow/DraftIndicator' ;
28+ import Title from './OptionRow/Title' ;
2929import OptionRowAlternateText from './OptionRowAlternateText' ;
3030import OptionRowAvatar from './OptionRowAvatar' ;
3131import OptionRowErrorBadge from './OptionRowErrorBadge' ;
@@ -82,9 +82,6 @@ function OptionRowLHN({isOptionFocused = false, onSelectRow = () => {}, optionIt
8282
8383 const subscriptAvatarBorderColor = isOptionFocused ? focusedBackgroundColor : theme . sidebar ;
8484
85- // This is used to ensure that we display the text exactly as the user entered it when displaying LHN title, instead of parsing their text to HTML.
86- const shouldParseFullTitle = optionItem ?. parentReportAction ?. actionName !== CONST . REPORT . ACTIONS . TYPE . ADD_COMMENT && ! isGroupChat ( optionItem ) ;
87-
8885 const accessibilityLabel = [
8986 `${ translate ( 'accessibilityHints.navigatesToChat' ) } ${ optionItem . text } ` ,
9087 optionItem . isUnread ? translate ( 'common.unread' ) : '' ,
@@ -133,25 +130,9 @@ function OptionRowLHN({isOptionFocused = false, onSelectRow = () => {}, optionIt
133130 />
134131 < View style = { contentContainerStyles } >
135132 < View style = { [ styles . flexRow , styles . alignItemsCenter , styles . mw100 , styles . overflowHidden ] } >
136- < DisplayNames
137- accessibilityLabel = { translate ( 'accessibilityHints.chatUserDisplayNames' ) }
138- fullTitle = { optionItem . text ?? '' }
139- shouldParseFullTitle = { shouldParseFullTitle }
140- displayNamesWithTooltips = { optionItem . displayNamesWithTooltips ?? [ ] }
141- tooltipEnabled
142- numberOfLines = { 1 }
143- textStyles = { displayNameStyle }
144- shouldUseFullTitle = {
145- ! ! optionItem . isChatRoom ||
146- ! ! optionItem . isPolicyExpenseChat ||
147- ! ! optionItem . isTaskReport ||
148- ! ! optionItem . isThread ||
149- ! ! optionItem . isMoneyRequestReport ||
150- ! ! optionItem . isInvoiceReport ||
151- ! ! optionItem . private_isArchived ||
152- isGroupChat ( optionItem ) ||
153- isSystemChat ( optionItem )
154- }
133+ < Title
134+ optionItem = { optionItem }
135+ displayNameStyle = { displayNameStyle }
155136 testID = { testID }
156137 />
157138 { isChatUsedForOnboarding && < FreeTrial badgeStyles = { [ styles . mnh0 , styles . pl2 , styles . pr2 , styles . ml1 , styles . flexShrink1 ] } /> }
0 commit comments