RocketChat / EmbeddedChat

An easy to use full-stack component (ReactJS) embedding Rocket.Chat into your webapp
https://www.npmjs.com/package/@embeddedchat/react
107 stars 214 forks source link

Refactor menu components #504

Closed JeffreytheCoder closed 3 months ago

JeffreytheCoder commented 4 months ago

As an EmbeddedChat developer

I need to: Refactor the menu components.

Currently, each menu below has an individual store, component, and css module:

  1. Room information
  2. Members
  3. Threads
  4. Search
  5. Mentions
  6. Pinned messages
  7. Starred messages

Most of the code are repeated and can be refactored into a general menu framework.

So That: We...

  1. Improve UI consistency
  2. Enhance maintainability of existing menus
  3. Bring easier enhancement with future menu features and better scalability with new menus

Acceptance Criteria

JeffreytheCoder commented 4 months ago

Working on this...might take a while

Spiral-Memory commented 4 months ago

Great issue! 🚀 Just change things with caution while handling it. There's a potential for a breaking change if not approached carefully. Wishing you all the best!

Spiral-Memory commented 4 months ago

I suggest keeping the stores separate due to numerous dependencies. Even after refactoring, each individual component should remain. Focus on extracting common CSS modules and the shared sidebar component along with its logic. Other sidebars can then implement and modify this common shared component.