mirror of
https://github.com/Qortal/qortal-mobile.git
synced 2025-06-19 22:31:22 +00:00
display images
This commit is contained in:
parent
93305b8dc4
commit
21b3dd9d02
@ -271,7 +271,11 @@ export const ChatList = ({ initialMessages, myAddress, tempMessages, chatId, onR
|
|||||||
message.isEdit = true
|
message.isEdit = true
|
||||||
message.editTimestamp = chatReferences[message.signature]?.edit?.timestamp
|
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
|
// Check if message is updating
|
||||||
|
@ -33,6 +33,8 @@ import level7Img from "../../assets/badges/level-7.png"
|
|||||||
import level8Img from "../../assets/badges/level-8.png"
|
import level8Img from "../../assets/badges/level-8.png"
|
||||||
import level9Img from "../../assets/badges/level-9.png"
|
import level9Img from "../../assets/badges/level-9.png"
|
||||||
import level10Img from "../../assets/badges/level-10.png"
|
import level10Img from "../../assets/badges/level-10.png"
|
||||||
|
import { Embed } from "../Embeds/Embed";
|
||||||
|
import { buildImageEmbedLink, messageHasImage } from "../../utils/chat";
|
||||||
|
|
||||||
const getBadgeImg = (level)=> {
|
const getBadgeImg = (level)=> {
|
||||||
switch(level?.toString()){
|
switch(level?.toString()){
|
||||||
@ -346,6 +348,9 @@ const onSeenFunc = useCallback(()=> {
|
|||||||
) : (
|
) : (
|
||||||
<MessageDisplay setMobileViewModeKeepOpen={setMobileViewModeKeepOpen} htmlContent={message.text} />
|
<MessageDisplay setMobileViewModeKeepOpen={setMobileViewModeKeepOpen} htmlContent={message.text} />
|
||||||
)}
|
)}
|
||||||
|
{message?.images && messageHasImage(message) && (
|
||||||
|
<Embed embedLink={buildImageEmbedLink(message.images[0])} />
|
||||||
|
)}
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
display: "flex",
|
display: "flex",
|
||||||
|
@ -239,6 +239,9 @@ export const ImageCard = ({
|
|||||||
position: "relative",
|
position: "relative",
|
||||||
width: "100%",
|
width: "100%",
|
||||||
height: "100%",
|
height: "100%",
|
||||||
|
display: 'flex',
|
||||||
|
flexDirection: 'column',
|
||||||
|
justifyContent: 'center',
|
||||||
backgroundColor: "#000",
|
backgroundColor: "#000",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
@ -1531,7 +1531,7 @@ if (!skip) {
|
|||||||
};
|
};
|
||||||
const messageObject = fullMessageObject ? fullMessageObject : {
|
const messageObject = fullMessageObject ? fullMessageObject : {
|
||||||
messageText: tiptapJson,
|
messageText: tiptapJson,
|
||||||
images: [""],
|
images: [],
|
||||||
repliedTo: "",
|
repliedTo: "",
|
||||||
version: 3,
|
version: 3,
|
||||||
};
|
};
|
||||||
|
22
src/utils/chat.ts
Normal file
22
src/utils/chat.ts
Normal file
@ -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
|
||||||
|
);
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user