diff --git a/src/components/Chat/ChatList.tsx b/src/components/Chat/ChatList.tsx
index 3b8f717..82dc915 100644
--- a/src/components/Chat/ChatList.tsx
+++ b/src/components/Chat/ChatList.tsx
@@ -271,7 +271,11 @@ export const ChatList = ({ initialMessages, myAddress, tempMessages, chatId, onR
message.isEdit = true
message.editTimestamp = chatReferences[message.signature]?.edit?.timestamp
}
-
+ if (chatReferences[message.signature]?.edit?.images) {
+ message.images =
+ chatReferences[message.signature]?.edit?.images;
+ message.isEdit = true;
+ }
}
// Check if message is updating
diff --git a/src/components/Chat/MessageItem.tsx b/src/components/Chat/MessageItem.tsx
index e21c2cc..5fc742b 100644
--- a/src/components/Chat/MessageItem.tsx
+++ b/src/components/Chat/MessageItem.tsx
@@ -33,6 +33,8 @@ import level7Img from "../../assets/badges/level-7.png"
import level8Img from "../../assets/badges/level-8.png"
import level9Img from "../../assets/badges/level-9.png"
import level10Img from "../../assets/badges/level-10.png"
+import { Embed } from "../Embeds/Embed";
+import { buildImageEmbedLink, messageHasImage } from "../../utils/chat";
const getBadgeImg = (level)=> {
switch(level?.toString()){
@@ -346,6 +348,9 @@ const onSeenFunc = useCallback(()=> {
) : (
)}
+ {message?.images && messageHasImage(message) && (
+
+ )}
diff --git a/src/qortalRequests/get.ts b/src/qortalRequests/get.ts
index cf04b2f..ab45220 100644
--- a/src/qortalRequests/get.ts
+++ b/src/qortalRequests/get.ts
@@ -1531,7 +1531,7 @@ if (!skip) {
};
const messageObject = fullMessageObject ? fullMessageObject : {
messageText: tiptapJson,
- images: [""],
+ images: [],
repliedTo: "",
version: 3,
};
diff --git a/src/utils/chat.ts b/src/utils/chat.ts
new file mode 100644
index 0000000..c7099c0
--- /dev/null
+++ b/src/utils/chat.ts
@@ -0,0 +1,22 @@
+export function buildImageEmbedLink(image?: {
+ name?: string;
+ identifier?: string;
+ service?: string;
+ timestamp?: number;
+}): string | null {
+ if (!image?.name || !image.identifier || !image.service) return null;
+
+ const base = `qortal://use-embed/IMAGE?name=${image.name}&identifier=${image.identifier}&service=${image.service}&mimeType=image%2Fpng×tamp=${image?.timestamp || ''}`;
+
+ const isEncrypted = image.identifier.startsWith('grp-q-manager_0');
+ return isEncrypted ? `${base}&encryptionType=group` : base;
+}
+
+export const messageHasImage = (message) => {
+ return (
+ Array.isArray(message?.images) &&
+ message.images[0]?.identifier &&
+ message.images[0]?.name &&
+ message.images[0]?.service
+ );
+};