Skip to content

Commit 59c9a0e

Browse files
authored
Merge pull request Expensify#89753 from callstack-internal/refactor/option-row-descriptive-text
[No QA] refactor: extract OptionRow.DescriptiveText leaf
2 parents dfb1020 + 2202ce7 commit 59c9a0e

2 files changed

Lines changed: 34 additions & 9 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import React from 'react';
2+
import {View} from 'react-native';
3+
import Text from '@components/Text';
4+
import useThemeStyles from '@hooks/useThemeStyles';
5+
import FS from '@libs/Fullstory';
6+
import type {OptionData} from '@libs/ReportUtils';
7+
8+
type DescriptiveTextProps = {
9+
optionItem: OptionData;
10+
};
11+
12+
function DescriptiveText({optionItem}: DescriptiveTextProps) {
13+
const styles = useThemeStyles();
14+
15+
const descriptiveText = optionItem?.descriptiveText;
16+
if (!descriptiveText) {
17+
return null;
18+
}
19+
20+
return (
21+
<View
22+
style={[styles.flexWrap]}
23+
fsClass={FS.getChatFSClass(optionItem)}
24+
>
25+
<Text style={[styles.textLabel]}>{descriptiveText}</Text>
26+
</View>
27+
);
28+
}
29+
30+
DescriptiveText.displayName = 'OptionRow.DescriptiveText';
31+
32+
export default DescriptiveText;

src/components/LHNOptionsList/OptionRowLHN/OptionRowLHNCore.tsx

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ import useStyleUtils from '@hooks/useStyleUtils';
1717
import useTheme from '@hooks/useTheme';
1818
import useThemeStyles from '@hooks/useThemeStyles';
1919
import DateUtils from '@libs/DateUtils';
20-
import FS from '@libs/Fullstory';
2120
import {shouldUseBoldText} from '@libs/OptionsListUtils';
2221
import {isChatUsedForOnboarding as isChatUsedForOnboardingReportUtils} from '@libs/ReportUtils';
2322
import FreeTrial from '@pages/settings/Subscription/FreeTrial';
2423
import variables from '@styles/variables';
2524
import CONST from '@src/CONST';
2625
import ONYXKEYS from '@src/ONYXKEYS';
26+
import DescriptiveText from './OptionRow/DescriptiveText';
2727
import DraftIndicator from './OptionRow/DraftIndicator';
2828
import Title from './OptionRow/Title';
2929
import OptionRowAlternateText from './OptionRowAlternateText';
@@ -152,14 +152,7 @@ function OptionRowLHN({isOptionFocused = false, onSelectRow = () => {}, optionIt
152152
style={style}
153153
/>
154154
</View>
155-
{optionItem?.descriptiveText ? (
156-
<View
157-
style={[styles.flexWrap]}
158-
fsClass={FS.getChatFSClass(optionItem)}
159-
>
160-
<Text style={[styles.textLabel]}>{optionItem.descriptiveText}</Text>
161-
</View>
162-
) : null}
155+
<DescriptiveText optionItem={optionItem} />
163156
<OptionRowErrorBadge
164157
brickRoadIndicator={brickRoadIndicator}
165158
actionBadgeText={actionBadgeText}

0 commit comments

Comments
 (0)