ui: show channel web link (#7039)

* ui: show channel web link

* fix link

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
This commit is contained in:
Evgeny
2026-06-02 07:23:26 +01:00
committed by GitHub
parent e593894b1e
commit 6c0a362351
2 changed files with 23 additions and 0 deletions
@@ -325,6 +325,15 @@ struct GroupChatInfoView: View {
.lineLimit(4)
.fixedSize(horizontal: false, vertical: true)
}
if let webPage = groupInfo.groupProfile.publicGroup?.publicGroupAccess?.groupWebPage,
let url = URL(string: webPage) {
Link(destination: url) {
Text(webPage)
.font(.subheadline)
.lineLimit(1)
.truncationMode(.tail)
}
}
if groupInfo.useRelays,
let count = groupInfo.groupSummary.publicMemberCount,
count > 0 {
@@ -12,6 +12,7 @@ import SectionView
import androidx.compose.animation.*
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.desktop.ui.tooling.preview.Preview
import androidx.compose.foundation.clickable
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.*
@@ -23,6 +24,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.AnnotatedString
import dev.icerock.moko.resources.compose.painterResource
import dev.icerock.moko.resources.compose.stringResource
@@ -922,6 +924,18 @@ private fun GroupChatInfoHeader(cInfo: ChatInfo, groupInfo: GroupInfo) {
modifier = Modifier.combinedClickable(onClick = copyDisplayName, onLongClick = copyDisplayName).onRightClick(copyDisplayName)
)
ChatInfoDescription(cInfo, displayName, copyNameToClipboard)
val webPage = groupInfo.groupProfile.publicGroup?.publicGroupAccess?.groupWebPage
if (webPage != null) {
val uriHandler = LocalUriHandler.current
Text(
webPage,
style = MaterialTheme.typography.body2,
color = MaterialTheme.colors.primary,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.clickable { uriHandler.openUriCatching(webPage) }
)
}
if (groupInfo.useRelays) {
val count = groupInfo.groupSummary.publicMemberCount
if (count != null && count > 0) {