From 558cba27c09d5509fd0691e1a99e2cb65decee63 Mon Sep 17 00:00:00 2001 From: shyamtala-dev <168068213+shyamtala-dev@users.noreply.github.com> Date: Wed, 1 May 2024 09:50:49 +0000 Subject: [PATCH] FEAT : audio alert added for new msg --- src/assets/audio/incoming.mp3 | Bin 0 -> 50991 bytes src/components/messages/MessageElement.jsx | 6 ++++-- src/components/messages/SendMessageForm.jsx | 4 ++-- src/hooks/socket/useNewMessage.js | 3 +++ 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 src/assets/audio/incoming.mp3 diff --git a/src/assets/audio/incoming.mp3 b/src/assets/audio/incoming.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b43215680adb1a5904c88bb7b8f226ade782aa89 GIT binary patch literal 50991 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%0AhuvX}>nB+F3B{nZBEyK}wsFd-yPA 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 literal 0 HcmV?d00001 diff --git a/src/components/messages/MessageElement.jsx b/src/components/messages/MessageElement.jsx index 54cf724..f2c0b5a 100644 --- a/src/components/messages/MessageElement.jsx +++ b/src/components/messages/MessageElement.jsx @@ -6,14 +6,16 @@ dayjs.extend(relativeTime); const MessageElement = ({ message }) => { const { userId, profilePicture } = useAuth(); - const { conversation } = useConversation(); + const { conversation, onlineUsers } = useConversation(); + let isOnline = + userId === message.receiverId && onlineUsers.includes(message.senderId); const formattedTime = dayjs(message.createdAt).fromNow(); const self = userId === message.senderId; return (
-
+
Tailwind CSS chat bubble component { onBlur={() => setInputFocused(false)} /> diff --git a/src/hooks/socket/useNewMessage.js b/src/hooks/socket/useNewMessage.js index e56d83d..8e01874 100644 --- a/src/hooks/socket/useNewMessage.js +++ b/src/hooks/socket/useNewMessage.js @@ -2,14 +2,17 @@ import { useEffect } from "react"; import { socket } from "../../socket/socket"; import { useConversation } from "../../stores/useConversation"; import scrollDown from "../../utils/scrollDown"; +import incomingAudio from "../../assets/audio/incoming.mp3"; const useNewMessage = () => { const { setMessage } = useConversation(); + const notificationSound = new Audio(incomingAudio); useEffect(() => { const newMessageComes = (newMessage) => { newMessage = { ...newMessage, shake: true }; setMessage(newMessage); + notificationSound.play(); return scrollDown(); };