mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-08-22 12:19:55 +00:00
ui: connect when a SimpleX link is pasted as a markdown hyperlink
This commit is contained in:
@@ -859,8 +859,10 @@ enum ConnectTarget {
|
||||
func strConnectTarget(_ str: String) -> ConnectTarget? {
|
||||
let parsedMd = parseSimpleXMarkdown(str)
|
||||
let links = parsedMd?.filter { $0.format?.isSimplexLink ?? false } ?? []
|
||||
return if links.count == 1, case let .simplexLink(_, linkType, _, smpHosts) = links[0].format {
|
||||
.link(text: links[0].text, linkType: linkType, linkText: simplexLinkText(linkType, smpHosts))
|
||||
// showText is set only for a link written as a markdown hyperlink, whose text is the whole
|
||||
// "[label](link)" source rather than the link - connect via the parsed uri in that case
|
||||
return if links.count == 1, case let .simplexLink(showText, linkType, simplexUri, smpHosts) = links[0].format {
|
||||
.link(text: showText != nil ? simplexUri : links[0].text, linkType: linkType, linkText: simplexLinkText(linkType, smpHosts))
|
||||
} else if links.isEmpty,
|
||||
let nameFt = parsedMd?.first(where: { if case .simplexName = $0.format { true } else { false } }),
|
||||
case let .simplexName(nameInfo) = nameFt.format {
|
||||
|
||||
+4
-1
@@ -836,7 +836,10 @@ fun strConnectTarget(str: String): ConnectTarget? {
|
||||
val links = parsedMd.filter { it.format?.isSimplexLink ?: false }
|
||||
if (links.size == 1) {
|
||||
val fmt = links[0].format as Format.SimplexLink
|
||||
return ConnectTarget.Link(links[0].text, fmt.linkType, fmt.simplexLinkText)
|
||||
// showText is set only for a link written as a markdown hyperlink, whose text is the whole
|
||||
// "[label](link)" source rather than the link - connect via the parsed uri in that case
|
||||
val text = if (fmt.showText != null) fmt.simplexUri else links[0].text
|
||||
return ConnectTarget.Link(text, fmt.linkType, fmt.simplexLinkText)
|
||||
}
|
||||
if (links.isEmpty()) {
|
||||
val nameFt = parsedMd.firstOrNull { it.format is Format.SimplexName }
|
||||
|
||||
Reference in New Issue
Block a user