Skip to content

[Due for payment 2026-05-22] [No QA] refactor: OptionRowLHN — final wiring, OptionRowLHNCore deletion, ArchivedOptionRowLHN #89958

Description

@mountiny

Part of

#89946 — OptionRowLHN compound component decomposition

Step

12 of 12 — depends on all previous steps (#89947 through #89957).

What

Final assembly PR:

  1. Rewrite OptionRowLHN.tsx to ≤30 LOC of JSX wiring only — composes OptionRow.ProviderOptionRow.OfflineWrapperOptionRow.Container → leaf subcomponents
  2. Delete OptionRowLHNCore (if it exists as a separate file by this point) — all logic lives in leaves or the provider
  3. Add ArchivedOptionRowLHN.tsx — sibling variant with no badges (ErrorBadge, InfoBadge, OnboardingBadge), no ProductTrainingTooltip layer, and no indicators (DraftIndicator, PinIndicator); uses the same OptionRow.Provider
  4. Update LHNOptionsList.tsx consumer to pick OptionRowLHN vs ArchivedOptionRowLHN based on optionItem.private_isArchived
  5. Rename leaf files to drop the OptionRow prefix on any that weren't renamed in their individual steps (e.g. OptionRowPressable.tsxPressable.tsx)
  6. Update the barrel / index export so external consumers import from LHNOptionsList unchanged

Why

Closes the decomposition by producing the ≤30 LOC main component and the explicit archived variant, fulfilling all design decisions agreed with the team.

Acceptance criteria

  • OptionRowLHN.tsx is ≤30 LOC of JSX, zero inline logic
  • ArchivedOptionRowLHN composes only the subset of leaves appropriate for archived rows
  • LHNOptionsList picks the correct variant based on private_isArchived
  • All leaf files follow the no-OptionRow-prefix naming convention
  • No visible behavior or style changes
Issue OwnerCurrent Issue Owner: @DylanDylann

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions