Skip to content

Decompose OptionRowLHN avatar/delegate logic into a separate component #89093

@JS00001

Description

@JS00001

Explanation of Change
Extracts the avatar rendering and delegate-avatar substitution logic into a child component (OptionRowAvatar). The four delegate-related derivations (delegateAccountID, skipDelegate, icons, delegateTooltipAccountID) and the usePersonalDetails read move out of the parent row. useCurrentUserPersonalDetails stays in the parent (still consumed for status timezone). The null-render short-circuit when !optionItem.icons?.length || !firstIcon is preserved inside the child. React.memo(OptionRowLHN) is preserved.

Measured impact
ManualNavigateToInboxTab: 626ms → 596ms (~4.8%)

PR: #89087

Issue OwnerCurrent Issue Owner: @BartekObudzinski

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions