Component Library Take 2


#1

Following up on the 11/3/19 Core Dev Call components topic:

Better availability of UI components has been a point of discussion for a long time.

Some Status UI elements have not yet been implemented as components. Others are duplicated across status-react, react native and the various DApps we are working on.

Moreover, there’s no easily accessible inventory of components to verify which exist or are up-to-date. Especially as we build more DApps, it would be beneficial to organize all of our components in one place.

Proposal

  • Create a single components repository that can be easily referenced by core team members and contributors alike.

  • Consider implementing our components in JavaScript, as we then have a wider potential contributor base for creating new ones.

Considerations

  • Components for web vs. native will differ, but aiming for maximum overlap between react and react-native components will make it easier to switch from mobile to native. Both from implementation (e.g. migration of ENS DApp to native) and a mental model perspective.

  • These components are only useful for building Status and/or Status DApps. The goal of this is to make it easier to build Status UI, for any platform. For a more open design system, see Lorikeet.

Tasks

  • Set up dedicated repo :white_check_mark: [Owner: @julien ]

  • Update current component list—partially done [Owner: @yenda?]

  • Decide on language of implementation, execution tasks [Discussion participants: ?]

  • Prioritize, create bounties or assign tasks, and assign reviewers [Owners: Volunteers needed. Julien, Eric, Andrey, Vitaliy?]

  • Andrei, @hester, @maciej to offer ongoing guidance from design POV.

How to help

We’d love to have a) feedback on implementation of the components and b) volunteers to be delegated the work of either writing or reviewing components. Mainly reviewing.

The preference is to add bounties to as much of the work as possible.