@vserifsaglam/chat-react-client 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -4
- package/dist/hooks/useMessageManagements.d.ts +2 -2
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +10 -6
- package/dist/index.modern.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -154,7 +154,13 @@ const MessagePanel = ({ conversationId, receiverId }) => {
|
|
|
154
154
|
const handleSend = async () => {
|
|
155
155
|
if (!messageText.trim()) return;
|
|
156
156
|
|
|
157
|
-
|
|
157
|
+
// Optional metadata as a javascript object
|
|
158
|
+
const metadata = {
|
|
159
|
+
source: 'web-client',
|
|
160
|
+
priority: 'high'
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
const success = await handleSendMessage(messageText, receiverId, false, metadata);
|
|
158
164
|
if (success) {
|
|
159
165
|
setMessageText('');
|
|
160
166
|
}
|
|
@@ -168,7 +174,9 @@ const MessagePanel = ({ conversationId, receiverId }) => {
|
|
|
168
174
|
const fileId = await uploadFile(selectedFile);
|
|
169
175
|
|
|
170
176
|
if (fileId) {
|
|
171
|
-
|
|
177
|
+
// Optional metadata for file messages too
|
|
178
|
+
const metadata = { file_type: selectedFile.type };
|
|
179
|
+
await handleSendFileMessage(`Sent a file: ${selectedFile.name}`, fileId, receiverId, selectedFile.name, '', false, metadata);
|
|
172
180
|
setFile(null);
|
|
173
181
|
}
|
|
174
182
|
};
|
|
@@ -554,8 +562,8 @@ Returns:
|
|
|
554
562
|
- `fileLoading` (boolean): Loading state for file uploads
|
|
555
563
|
- `uploadProgress` (number): Upload progress percentage (0-100)
|
|
556
564
|
- `uploadFile(file: File)`: Function to upload a file
|
|
557
|
-
- `handleSendMessage(content: string, receiverId: string)`: Function to send a text message
|
|
558
|
-
- `handleSendFileMessage(content: string, fileId: number, receiverId: string)`: Function to send a message with a file attachment
|
|
565
|
+
- `handleSendMessage(content: string, receiverId: string, isAppointment?: boolean, metadata?: Record<string, any>)`: Function to send a text message
|
|
566
|
+
- `handleSendFileMessage(content: string, fileId: number, receiverId: string, filename?: string, url?: string, isAppointment?: boolean, metadata?: Record<string, any>)`: Function to send a message with a file attachment
|
|
559
567
|
- `getMessages(conversationId?: string, page?: number)`: Function to get messages for a conversation
|
|
560
568
|
- `loadMoreMessages()`: Function to load more messages (pagination)
|
|
561
569
|
- `hasMore` (boolean): Whether there are more messages to load
|
|
@@ -6,8 +6,8 @@ export declare function useMessageManagement(selectedConversationId: string): {
|
|
|
6
6
|
fileLoading: boolean;
|
|
7
7
|
uploadProgress: number;
|
|
8
8
|
uploadFile: (file: File) => Promise<import("..").FileUploadResponse | null>;
|
|
9
|
-
handleSendMessage: (content: string, receiver: SenderReceiverUser, isAppointment?: boolean | undefined) => Promise<any>;
|
|
10
|
-
handleSendFileMessage: (content: string, fileId: number, receiver: SenderReceiverUser, filename?: string | undefined, url?: string | undefined, isAppointment?: boolean | undefined) => Promise<boolean | undefined>;
|
|
9
|
+
handleSendMessage: (content: string, receiver: SenderReceiverUser, isAppointment?: boolean | undefined, metadata?: Record<string, any> | undefined) => Promise<any>;
|
|
10
|
+
handleSendFileMessage: (content: string, fileId: number, receiver: SenderReceiverUser, filename?: string | undefined, url?: string | undefined, isAppointment?: boolean | undefined, metadata?: Record<string, any> | undefined) => Promise<boolean | undefined>;
|
|
11
11
|
deleteMessage: (messageId: number) => Promise<import("..").DeleteMessageResponse | null>;
|
|
12
12
|
updateMessage: (messageId: number, update: import("..").UpdateMessageRequest) => Promise<import("..").UpdateMessageResponse | null>;
|
|
13
13
|
getMessages: (conversationId?: any, page?: any, pageSize?: any) => Promise<import("..").MessagesResponse | null>;
|
package/dist/index.js
CHANGED
|
@@ -2833,7 +2833,7 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2833
2833
|
return Promise.reject(e);
|
|
2834
2834
|
}
|
|
2835
2835
|
}, [messagesLoading, hasMore, getMessages, page, selectedConversationId]);
|
|
2836
|
-
var handleSendMessage = React.useCallback(function (content, receiver, isAppointment) {
|
|
2836
|
+
var handleSendMessage = React.useCallback(function (content, receiver, isAppointment, metadata) {
|
|
2837
2837
|
try {
|
|
2838
2838
|
if (!content.trim() || !selectedConversationId || !profile) return Promise.resolve();
|
|
2839
2839
|
var tempMessageId = "temp-" + Date.now();
|
|
@@ -2846,7 +2846,8 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2846
2846
|
sender: profile,
|
|
2847
2847
|
receiver: receiver,
|
|
2848
2848
|
is_read: false,
|
|
2849
|
-
status: 'sending'
|
|
2849
|
+
status: 'sending',
|
|
2850
|
+
metadata: metadata
|
|
2850
2851
|
};
|
|
2851
2852
|
setMessages(function (prevMessages) {
|
|
2852
2853
|
var prevMessageArray = (prevMessages === null || prevMessages === void 0 ? void 0 : prevMessages.messages) || [];
|
|
@@ -2859,7 +2860,8 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2859
2860
|
receiver_client_id: receiver.id,
|
|
2860
2861
|
content: content,
|
|
2861
2862
|
conversation_uid: selectedConversationId,
|
|
2862
|
-
isAppointment: isAppointment
|
|
2863
|
+
isAppointment: isAppointment,
|
|
2864
|
+
metadata: metadata
|
|
2863
2865
|
})).then(function (success) {
|
|
2864
2866
|
if (!success) {
|
|
2865
2867
|
setMessages(function (prevMessages) {
|
|
@@ -2904,7 +2906,7 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2904
2906
|
return Promise.reject(e);
|
|
2905
2907
|
}
|
|
2906
2908
|
}, [sendMessage, selectedConversationId, profile === null || profile === void 0 ? void 0 : profile.id, setMessages]);
|
|
2907
|
-
var handleSendFileMessage = React.useCallback(function (content, fileId, receiver, filename, url, isAppointment) {
|
|
2909
|
+
var handleSendFileMessage = React.useCallback(function (content, fileId, receiver, filename, url, isAppointment, metadata) {
|
|
2908
2910
|
try {
|
|
2909
2911
|
if (!selectedConversationId) return Promise.resolve();
|
|
2910
2912
|
var tempMessageId = "temp-file-" + Date.now();
|
|
@@ -2921,7 +2923,8 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2921
2923
|
sender: profile,
|
|
2922
2924
|
receiver: receiver,
|
|
2923
2925
|
is_read: false,
|
|
2924
|
-
status: 'sending'
|
|
2926
|
+
status: 'sending',
|
|
2927
|
+
metadata: metadata
|
|
2925
2928
|
};
|
|
2926
2929
|
setMessages(function (prevMessages) {
|
|
2927
2930
|
var prevMessageArray = (prevMessages === null || prevMessages === void 0 ? void 0 : prevMessages.messages) || [];
|
|
@@ -2935,7 +2938,8 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2935
2938
|
content: content,
|
|
2936
2939
|
attachments: [fileId],
|
|
2937
2940
|
conversation_uid: selectedConversationId,
|
|
2938
|
-
isAppointment: isAppointment
|
|
2941
|
+
isAppointment: isAppointment,
|
|
2942
|
+
metadata: metadata
|
|
2939
2943
|
})).then(function (success) {
|
|
2940
2944
|
if (success) {
|
|
2941
2945
|
setMessages(function (prevMessages) {
|