Part of
#89946 — OptionRowLHN compound component decomposition
Step
6 of 12 — depends on #89947 (Provider + context interface). Builds on foundation from #89274 (merged).
What
Extract OptionRow.Subtitle into src/components/LHNOptionsList/Subtitle.tsx.
Contains:
- Alternate text display (
optionItem.alternateText)
TextWithEmojiFragment branch for alternate text containing custom emoji mixed with plain text (alternateTextContainsCustomEmojiWithText logic)
alternateTextStyle derivation (compact vs default)
- Fullstory
fsClass application (alternateTextFSClass)
- Reads all required data from
RowContext
Why
Alternate text rendering with its emoji branching logic is a self-contained concern distinct from the title line.
Acceptance criteria
alternateTextContainsCustomEmojiWithText memo and alternateTextStyle derivation live only in Subtitle.tsx
- No visible behavior or style changes
Issue Owner
Current Issue Owner: @DylanDylann
Part of
#89946 — OptionRowLHN compound component decomposition
Step
6 of 12 — depends on #89947 (Provider + context interface). Builds on foundation from #89274 (merged).
What
Extract
OptionRow.Subtitleintosrc/components/LHNOptionsList/Subtitle.tsx.Contains:
optionItem.alternateText)TextWithEmojiFragmentbranch for alternate text containing custom emoji mixed with plain text (alternateTextContainsCustomEmojiWithTextlogic)alternateTextStylederivation (compact vs default)fsClassapplication (alternateTextFSClass)RowContextWhy
Alternate text rendering with its emoji branching logic is a self-contained concern distinct from the title line.
Acceptance criteria
alternateTextContainsCustomEmojiWithTextmemo andalternateTextStylederivation live only inSubtitle.tsxIssue Owner
Current Issue Owner: @DylanDylann