@pubuduth-aplicy/chat-ui 2.1.37 → 2.1.39
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/package.json
CHANGED
|
@@ -25,7 +25,7 @@ const Messages = () => {
|
|
|
25
25
|
fetchMessages(selectedConversation?._id, userId, pageParam),
|
|
26
26
|
initialPageParam: 1,
|
|
27
27
|
getNextPageParam: (lastPage, allPages) => {
|
|
28
|
-
return lastPage.length ? allPages.length + 1
|
|
28
|
+
return lastPage.messages.length ? allPages.length + 1: undefined;
|
|
29
29
|
},
|
|
30
30
|
});
|
|
31
31
|
|
|
@@ -35,23 +35,40 @@ const Messages = () => {
|
|
|
35
35
|
}
|
|
36
36
|
}, [fetchNextPage, inView]);
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
// useEffect(() => {
|
|
39
|
+
// if (data) {
|
|
40
|
+
// console.log(data,'message data');
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
// setMessages(data.messages);
|
|
43
|
+
// }
|
|
44
|
+
// }, [selectedConversation?._id, data]);
|
|
45
|
+
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (data) {
|
|
48
|
+
const allMessages = data.pages.flatMap(page => page.messages);
|
|
49
|
+
setMessages(allMessages);
|
|
50
|
+
}
|
|
51
|
+
}, [data]);
|
|
45
52
|
|
|
46
53
|
// Listen for new messages from the server
|
|
47
54
|
useEffect(() => {
|
|
48
55
|
if (!socket || !selectedConversation?._id) return;
|
|
49
56
|
|
|
50
|
-
const handleNewMessage = (newMessage: any) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
};
|
|
57
|
+
// const handleNewMessage = (newMessage: any) => {
|
|
58
|
+
// newMessage.shouldShake = true;
|
|
59
|
+
// console.log("📩 New message received:", newMessage);
|
|
60
|
+
// setMessages((prevMessages) => [...prevMessages, newMessage[1]]);
|
|
61
|
+
// };
|
|
62
|
+
|
|
63
|
+
const handleNewMessage = (newMessage: any) => {
|
|
64
|
+
newMessage.shouldShake = true;
|
|
65
|
+
console.log("📩 New message received:", newMessage);
|
|
66
|
+
setMessages((prevMessages) => {
|
|
67
|
+
const updatedMessages = [...prevMessages, newMessage];
|
|
68
|
+
return [...new Map(updatedMessages.map(m => [m._id, m])).values()]; // Prevent duplicates
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
|
|
55
72
|
|
|
56
73
|
const handleStatusUpdate = ({
|
|
57
74
|
messageId,
|
|
@@ -61,7 +78,7 @@ const Messages = () => {
|
|
|
61
78
|
status: string;
|
|
62
79
|
}) => {
|
|
63
80
|
setMessages((prev) =>
|
|
64
|
-
prev.map((msg) => (msg.
|
|
81
|
+
prev.map((msg) => (msg._id === messageId ? { ...msg, status } : msg))
|
|
65
82
|
);
|
|
66
83
|
};
|
|
67
84
|
|
|
@@ -75,10 +92,12 @@ const Messages = () => {
|
|
|
75
92
|
}, [socket, setMessages, messages]);
|
|
76
93
|
|
|
77
94
|
useEffect(() => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
95
|
+
if (messages.length > 0) {
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
lastMessageRef.current?.scrollIntoView({ behavior: "smooth" });
|
|
98
|
+
}, 100);
|
|
99
|
+
}
|
|
100
|
+
}, [messages.length]);
|
|
82
101
|
|
|
83
102
|
useEffect(() => {
|
|
84
103
|
if (!socket || !messages.length) return;
|
|
@@ -113,18 +132,22 @@ const Messages = () => {
|
|
|
113
132
|
}
|
|
114
133
|
}, [fetchNextPage, isFetchingNextPage, hasNextPage]);
|
|
115
134
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
135
|
+
// useEffect(() => {
|
|
136
|
+
// const scrollContainer = scrollContainerRef.current;
|
|
137
|
+
// if (scrollContainer) {
|
|
138
|
+
// scrollContainer.addEventListener("scroll", handleScroll);
|
|
139
|
+
// return () => scrollContainer.removeEventListener("scroll", handleScroll);
|
|
140
|
+
// }
|
|
141
|
+
// }, [handleScroll]);
|
|
123
142
|
console.log("📩 Messages:", messages);
|
|
124
143
|
console.log("📩 Messages Length:", messages?.length);
|
|
125
144
|
|
|
126
145
|
return (
|
|
127
146
|
<div className="chatMessages">
|
|
147
|
+
|
|
148
|
+
<div ref={ref} className="my-8">
|
|
149
|
+
{isFetchingNextPage ? '<Loading isLoading={isFetchingNextPage} /> ': null}
|
|
150
|
+
</div>
|
|
128
151
|
{messages?.length > 0 ? (
|
|
129
152
|
messages?.map((message: any) =>
|
|
130
153
|
// Check if the message object is valid and has an _id before rendering
|
|
@@ -140,9 +163,6 @@ const Messages = () => {
|
|
|
140
163
|
</p>
|
|
141
164
|
)}
|
|
142
165
|
|
|
143
|
-
<div ref={ref} className="my-8">
|
|
144
|
-
{isFetchingNextPage ? '<Loading isLoading={isFetchingNextPage} /> ': null}
|
|
145
|
-
</div>
|
|
146
166
|
</div>
|
|
147
167
|
);
|
|
148
168
|
};
|
package/src/declarations.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
1
2
|
// src/declarations.d.ts
|
|
2
3
|
declare module '*.css' {
|
|
3
4
|
const content: string;
|
|
@@ -15,3 +16,7 @@ declare module '*.svg' {
|
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
declare module '@pubuduth-aplicy/chat-ui';
|
|
19
|
+
declare module '@pubuduth-aplicy/chat-ui' {
|
|
20
|
+
export function ChatUI(props: any): JSX.Element;
|
|
21
|
+
// Define other exports and types as needed
|
|
22
|
+
}
|