Function MessagesModal

MessagesModal component displays a modal for direct and group messages.

import React from 'react';
import { MessagesModal } from 'mediasfu-reactjs';
import { io } from 'socket.io-client';

const messages = [
{ sender: "user1", receivers: ["user2"], message: "Hello, user2!", group: false },
{ sender: "user2", receivers: ["user1"], message: "Hi, user1!", group: false },
];

const App = () => {
const socket = io("http://localhost:3000");
const handleClose = () => console.log("Modal closed");
const handleSendMessage = async (options) => console.log("Message sent", options);
const handleAlert = (message, type) => console.log("Alert shown:", message, type);

return (
<MessagesModal
isMessagesModalVisible={true}
onMessagesClose={handleClose}
onSendMessagePress={handleSendMessage}
messages={messages}
position="topRight"
backgroundColor="#f5f5f5"
activeTabBackgroundColor="#2b7ce5"
eventType="webinar"
member="user1"
islevel="1"
coHostResponsibility={[{ name: "chat", value: true }, { name: "video", value: false }]}
coHost="user2"
startDirectMessage={true}
directMessageDetails={{ username: "user2", name: "User 2" }}
updateStartDirectMessage={(start) => console.log("Start direct message:", start)}
updateDirectMessageDetails={(participant) => console.log("Direct message details:", participant)}
showAlert={handleAlert}
roomName="1234567890"
socket={socket}
chatSetting="public"
/>
);
};

export default App;

Properties

propTypes?: any

Ignored by React.

Only kept in types for backwards compatibility. Will be removed in a future major release.

displayName?: string

Used in debugging messages. You might want to set it explicitly if you want to display a different name for debugging purposes.


const MyComponent: FC = () => {
return <div>Hello!</div>
}

MyComponent.displayName = 'MyAwesomeComponent'