diff --git a/frontend/components/chat/MessageBubble.jsx b/frontend/components/chat/MessageBubble.jsx
index 32203be..17ecdd3 100644
--- a/frontend/components/chat/MessageBubble.jsx
+++ b/frontend/components/chat/MessageBubble.jsx
@@ -44,10 +44,22 @@ export default function MessageBubble({ msg, isMine, showTime, selectedUser, isO
)}
setIsSelected(!isSelected)}
- className={`chat-bubble shadow-sm max-w-[75%] break-words cursor-pointer select-none ${
- isMine ? "chat-bubble-primary" : ""
- } ${isSelected ? "ring-2 ring-primary" : ""}`}
+ className={`chat-bubble
+ shadow-md
+ max-w-[90%] sm:max-w-[85%] md:max-w-[75%]
+ break-words
+ whitespace-pre-wrap
+ cursor-pointer
+ select-none
+ rounded-2xl
+ transition-all
+ duration-200
+ hover:shadow-lg
+ ${
+ isMine
+ ? "chat-bubble-primary rounded-br-md"
+ : "bg-base-200 text-base-content rounded-bl-md"
+}`}
onContextMenu={e => onContextMenu(e, msg, isMine)}
onTouchStart={e => onTouchStart(e, msg, isMine)}
onTouchEnd={onTouchEnd}
@@ -89,13 +101,12 @@ export default function MessageBubble({ msg, isMine, showTime, selectedUser, isO
)}
{msg.image && (
-
setSelectedImage(msg.image)}
- />
-)}
+
window.open(msg.image, "_blank")}
+ />
+ )}
{msg.audio && (
<>
@@ -107,14 +118,14 @@ export default function MessageBubble({ msg, isMine, showTime, selectedUser, isO
>
)}
{/* GSSoC Issue #41 Fix */}
{msg.message && (
-
+
{showTranslation
? getTranslatedText(String(msg.message))
: String(msg.message)}
@@ -168,7 +179,13 @@ export default function MessageBubble({ msg, isMine, showTime, selectedUser, isO
)}
-
+
{formatTime(msg.createdAt)}
{isMine && (