Open
Description
Background:
I require to customize the message view. Specifically
- I want my own since I will have my own thumbnails and chat types that will govern what is displayed. The current API allows me to put something above or below it, but not suppress it. This causes me to copy MessagesViews.tsx into my app which is 1000+ lines of poorly organized code.
- It was very difficult to get all the imports right because many of the comments used my MessagesView.tsx aren't exported. So I had to do things like
import { FileType } from 'quickblox-react-ui-kit/src/Domain/entity/FileTypes';
- It is a tedious process to update to a new version requiring comparing code and cherry picking updates
- Worse, when parts of the code base use useQbInitializedDataContext it fails to pick up the real context, making the app crash with unauthenticated calls to the server (this is the highest priority - I'm stuck. One strategy I might need to use is copying and modifying the entire library rather than cherry picking files - just to work around the useQbInitializedDataContext bug.
Other customizations that I need that also require me to copy MessagesView.tsx are:
- Dynamically changing the styling so that I can use MessagesView in a responsive manner. (Maybe this goes away with the forthcoming mobile layout, but I don't see the value in that approach. Instead, I would like you to provide a clean data model/api and composable / configurable and replaceable components.)
- Depending on the privileges of the user I need to add a "Delete" button to the message so a moderator can remove inappropriate messages
- Depending on the tier of the user, I want to suppress features such as attachments, voice messages and video calls
- I want to hide some types of channels from the dialog list (e.g. I will have a channel for the system to each user and I don't want that channel showing up in the dialogs. (This requires the copying of Dialogs.tsx - which isn't so bad because it is smaller that MessagesView.tsx)
Activity