File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import loremIpsum from 'lorem-ipsum'
22import { MessageType } from '../../src/type'
33import { getRandomColor , photo , token } from './common'
4+ import { MdOutlineVideoCall } from 'react-icons/md'
45
56export const photoMessage : MessageType = {
67 type : 'photo' ,
@@ -320,6 +321,20 @@ export const meetingMessage: MessageType = {
320321
321322export const meetingLinkMessage : MessageType = {
322323 type : 'meetingLink' ,
324+ actionButtons : [
325+ {
326+ onClickButton ( id ) {
327+ console . log ( id )
328+ } ,
329+ Component : ( ) => MdOutlineVideoCall ( { size : '25px' } ) ,
330+ } ,
331+ {
332+ onClickButton ( id ) {
333+ console . log ( id )
334+ } ,
335+ Component : ( ) => MdOutlineVideoCall ( { size : '25px' } ) ,
336+ } ,
337+ ] ,
323338 meetingID : String ( Math . random ( ) ) ,
324339 id : String ( Math . random ( ) ) ,
325340 position : token ( ) >= 1 ? 'right' : 'left' ,
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ export const getRandomColor = () => {
1818}
1919
2020export const token = ( ) => {
21- return Math . floor ( ( Math . random ( ) * 10 ) % 8 )
21+ return Math . floor ( ( Math . random ( ) * 10 ) % 9 )
2222}
2323
2424export function useForceUpdate ( ) {
Original file line number Diff line number Diff line change 11{
22 "name" : " react-chat-elements" ,
3- "version" : " 12.0.0 " ,
3+ "version" : " 12.0.1 " ,
44 "description" : " Reactjs chat components" ,
55 "author" : " Avare Kodcu <abdurrahmaneker58@gmail.com>" ,
66 "main" : " dist/main.js" ,
Original file line number Diff line number Diff line change 55
66.rce-mtlink-content {
77 background-color : # e2dfec ;
8- border-radius : 100 px ;
8+ border-radius : 4 px ;
99 padding : 10px ;
1010 display : flex;
1111 align-items : center;
3232
3333.rce-mtlink-btn {
3434 background : # ededed ;
35- border-radius : 50% ;
36- margin-left : 15px ;
35+ border-radius : 4px ;
3736 display : flex;
38- padding : 7px ;
39- cursor : pointer;
37+ margin-left : 5px ;
4038}
4139
42- .rce-mtlink-svg {
43- color : # 585858 ;
44- font-size : 16px ;
40+ .rce-mtlink-btn-content {
41+ padding : 4px ;
42+ cursor : pointer;
43+ border-right : 1px solid;
44+ }
45+ .rce-mtlink-btn-content : last-child {
46+ border-right : none;
4547}
Original file line number Diff line number Diff line change 11import { FC } from 'react'
22import './MeetingLink.css'
33
4- import { MdOutlineVideoCall } from 'react-icons/md'
5- import { IMeetingLinkMessageProps } from '../type'
4+ import { IMeetingLinkMessageProps , MeetingLinkActionButtons } from '../type'
65
76const MeetingLink : FC < IMeetingLinkMessageProps > = props => {
8- const onHandleClick = ( ) : void => {
9- props . onMeetingLinkClick ?.( props . meetingID || '' )
10- }
11-
127 return (
13- < div className = 'rce-mtlink' onClick = { onHandleClick } >
8+ < div className = 'rce-mtlink' >
149 < div className = 'rce-mtlink-content' >
1510 < div className = 'rce-mtlink-item' >
1611 < div className = 'rce-mtlink-title' > { props . text } </ div >
1712 </ div >
1813 < div className = 'rce-mtlink-btn' >
19- < MdOutlineVideoCall className = 'rce-mtlink-svg' />
14+ { props . actionButtons . map ( ( Item : MeetingLinkActionButtons ) => {
15+ return (
16+ < div className = 'rce-mtlink-btn-content' onClick = { ( ) => Item . onClickButton ( props . meetingID ) } >
17+ < Item . Component />
18+ </ div >
19+ )
20+ } ) }
2021 </ div >
2122 </ div >
2223 </ div >
Original file line number Diff line number Diff line change 216216 font-size : 12px ;
217217 right : -4px ;
218218 bottom : -5px ;
219+ user-select : none;
219220}
220221
221222.rce-mbox-time .non-copiable : before {
Original file line number Diff line number Diff line change @@ -628,6 +628,14 @@ export interface IMeetingLinkMessage extends IMessage {
628628 meetingID ?: string
629629}
630630
631+ export type TActionButton = React . FunctionComponent < any >
632+
633+ export interface MeetingLinkActionButtons {
634+ // return meeting id
635+ onClickButton : ( id : string ) => void
636+ Component : TActionButton
637+ }
638+
631639/**
632640 * IMeetingLinkMessageProps Interface
633641 * @prop type The Meeting Link Message's type is "meetingLink" and required.
@@ -636,7 +644,7 @@ export interface IMeetingLinkMessage extends IMessage {
636644 * @prop onMeetingMoreSelect The Meeting More Select Message's function onMeetingMoreSelect(event: React.MouseEvent<T, MouseEvent>) and optional.
637645 */
638646export interface IMeetingLinkMessageProps extends IMeetingLinkMessage {
639- onMeetingLinkClick ?: ( id : string ) => void
647+ actionButtons ?: MeetingLinkActionButtons [ ]
640648}
641649
642650/**
You can’t perform that action at this time.
0 commit comments