From 39dace238bf5745782a26b4193b430f28c8f0260 Mon Sep 17 00:00:00 2001 From: Jonathan Rainville Date: Fri, 23 Jul 2021 15:41:17 -0400 Subject: [PATCH] feat(chat): add unfurling message for images Fixes #1940 --- .../MessageComponents/LinksMessage.qml | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/ui/app/AppLayouts/Chat/ChatColumn/MessageComponents/LinksMessage.qml b/ui/app/AppLayouts/Chat/ChatColumn/MessageComponents/LinksMessage.qml index bebad524b4..5fcd977dbc 100644 --- a/ui/app/AppLayouts/Chat/ChatColumn/MessageComponents/LinksMessage.qml +++ b/ui/app/AppLayouts/Chat/ChatColumn/MessageComponents/LinksMessage.qml @@ -12,6 +12,7 @@ Column { property string linkUrls: "" property var container property bool isCurrentUser: false + property bool isImageLink: false readonly property string uuid: Utils.uuid() spacing: Style.current.halfPadding @@ -116,12 +117,22 @@ Column { // Reset the height in case we set it to 0 below. See note below // for more information this.height = undefined - if (appSettings.displayChatImages && Utils.hasImageExtension(link)) { - linkData = { - thumbnailUrl: link + if (Utils.hasImageExtension(link)) { + if (appSettings.displayChatImages) { + linkData = { + thumbnailUrl: link + } + return unfurledImageComponent + } else { + if (isImageLink && index > 0) { + return + } + + isImageLink = true + return enableLinkComponent } - return unfurledImageComponent } + let linkWhiteListed = false const linkHostname = Utils.getHostname(link) const linkExists = Object.keys(appSettings.whitelistedUnfurlingSites).some(function(whitelistedHostname) { @@ -186,9 +197,7 @@ Column { source: linkData.thumbnailUrl imageWidth: 300 isCurrentUser: root.isCurrentUser - onClicked: { - clickMessage(false, false, true, linkImage.imageAlias) - } + onClicked: clickMessage(false, false, true, linkImage.imageAlias) } } } @@ -299,8 +308,9 @@ Column { StyledText { id: enableText - //% "Enable link previews in chat?" - text: qsTrId("enable-link-previews") + text: isImageLink ? qsTr("Enable automatic image unfurling") : + //% "Enable link previews in chat?" + qsTrId("enable-link-previews") horizontalAlignment: Text.AlignHCenter width: parent.width wrapMode: Text.WordWrap