HomePhabricator
Diffusion Comm 49714414927e

[web] refactor tabs component

Description

[web] refactor tabs component

Summary:
In order to house the thread list in the panel component, we need to refactor the tabs component. At this moment the tabs component is made of two parts: the tabs and the tab content. The tabs component utilizes the React.Children.* API to interact with those child components. The React.Children.* API is listed as Legacy React API in the react docs and additionally for the redesign I need to decouple the tabs from the tab content to put the tabs in the panel header and the tab content in the panel body.

In order to make this refactor easy to review, I broke this down into many steps. The second step is to introduce a new tabs component which will utilize an alternate solution outlined in the react docs: https://react.dev/reference/react/Children#accepting-an-array-of-objects-as-a-prop

The structure/pattern for this solution should be pretty similar to the Panel component introduced in D10500

Afterwards I will update every tab use case to use the new tabs api

Depends on D10517

Test Plan: flow + every place that need to update to the new tabs will have their own diff with their own demo video

Reviewers: atul, inka, ashoat

Reviewed By: atul

Subscribers: ashoat, tomek

Differential Revision: https://phab.comm.dev/D10516

Details

Provenance
ginsuAuthored on Jan 3 2024, 4:49 PM
Reviewer
atul
Differential Revision
D10516: [web] refactor tabs component
Parents
rCOMM41a3d5e5d0b4: Revert "[native] Temporary changes for staff release"
Branches
Unknown
Tags
Unknown