From 6c0a362351c6b8d4a3d9713e5d981d3d54f55ca4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 2 Jun 2026 07:23:26 +0100 Subject: [PATCH] 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> --- .../Views/Chat/Group/GroupChatInfoView.swift | 9 +++++++++ .../common/views/chat/group/GroupChatInfoView.kt | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/apps/ios/Shared/Views/Chat/Group/GroupChatInfoView.swift b/apps/ios/Shared/Views/Chat/Group/GroupChatInfoView.swift index 34479fc6cb..0a448a2772 100644 --- a/apps/ios/Shared/Views/Chat/Group/GroupChatInfoView.swift +++ b/apps/ios/Shared/Views/Chat/Group/GroupChatInfoView.swift @@ -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 { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupChatInfoView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupChatInfoView.kt index 0f64479359..7b9d6aa92e 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupChatInfoView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupChatInfoView.kt @@ -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) {