diff --git a/apps/ios/Shared/Views/Chat/ChatItem/MsgContentView.swift b/apps/ios/Shared/Views/Chat/ChatItem/MsgContentView.swift index 6b15053cac..5cb93ad279 100644 --- a/apps/ios/Shared/Views/Chat/ChatItem/MsgContentView.swift +++ b/apps/ios/Shared/Views/Chat/ChatItem/MsgContentView.swift @@ -215,9 +215,6 @@ private func handleTextTaps( s.enumerateAttributes(in: NSRange(location: 0, length: s.length)) { attrs, range, stop in if index >= range.location && index < range.location + range.length { if attrs[nameAttrKey] is SimplexNameInfo { - // Route the tapped name through the same connect flow as a link; - // planAndConnect resolves it on the core (name target). This runs - // in a free function with no view context, so use the global theme. planAndConnect(s.attributedSubstring(from: range).string, theme: AppTheme.shared, dismiss: false) } else if let url = attrs[linkAttrKey] as? String { linkURL = url diff --git a/apps/ios/Shared/Views/Chat/Group/GroupChatInfoView.swift b/apps/ios/Shared/Views/Chat/Group/GroupChatInfoView.swift index 98b9d1de9a..bfee7fedc5 100644 --- a/apps/ios/Shared/Views/Chat/Group/GroupChatInfoView.swift +++ b/apps/ios/Shared/Views/Chat/Group/GroupChatInfoView.swift @@ -250,8 +250,8 @@ struct GroupChatInfoView: View { if groupInfo.groupProfile.publicGroup != nil { NavigationLink { SetSimplexNameView( - titleKey: "Set SimpleX name", - footer: "Set a SimpleX name so people can find this channel as #name. The name must be registered to this channel's address.", + titleKey: "SimpleX name", + footer: "Let people join via name registered with this channel link.", prefix: "#", nameText: groupInfo.groupProfile.publicGroup?.publicGroupAccess?.simplexName?.shortName ?? "", save: { name in @@ -270,7 +270,7 @@ struct GroupChatInfoView: View { } ) } label: { - Label("Set SimpleX name", systemImage: "checkmark.shield") + Label("SimpleX name", systemImage: "number") } } } diff --git a/apps/ios/Shared/Views/ChatList/ChatListView.swift b/apps/ios/Shared/Views/ChatList/ChatListView.swift index 4d3a972dfa..b70904e34e 100644 --- a/apps/ios/Shared/Views/ChatList/ChatListView.swift +++ b/apps/ios/Shared/Views/ChatList/ChatListView.swift @@ -22,7 +22,7 @@ enum UserPickerSheet: Identifiable { var navigationTitle: LocalizedStringKey { switch self { - case .address: "SimpleX address and name" + case .address: "SimpleX address" case .chatPreferences: "Your preferences" case .chatProfiles: "Your chat profiles" case .currentProfile: "Your current profile" diff --git a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift index 407668f52c..db7048fa0b 100644 --- a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift +++ b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift @@ -194,8 +194,8 @@ struct UserAddressView: View { Section { NavigationLink { SetSimplexNameView( - titleKey: "Set SimpleX name", - footer: "Set a SimpleX name so people can connect to you using @yourname instead of a link. The name must already be registered to your address.", + titleKey: "Your SimpleX name", + footer: "Let people connect to you via name registered with your SimpleX address.", prefix: "@", nameText: chatModel.currentUser?.profile.simplexName?.shortName ?? "", save: { name in @@ -209,7 +209,7 @@ struct UserAddressView: View { } ) } label: { - Label("Set SimpleX name", systemImage: "checkmark.shield") + Label("Your SimpleX name", systemImage: "at") } } @@ -731,6 +731,8 @@ struct SetSimplexNameView: View { TextField(prefix + "name.simplex", text: $nameText) .autocorrectionDisabled(true) .textInputAutocapitalization(.never) + } header: { + Text(verbatim: "") } footer: { Text(footer).foregroundColor(theme.colors.secondary) } @@ -756,6 +758,7 @@ struct SetSimplexNameView: View { } } .navigationTitle(titleKey) + .navigationBarTitleDisplayMode(.large) .alert(isPresented: $showAlert) { Alert(title: Text("Error saving name"), message: Text(alertMessage)) } 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 5487f94927..b3409dab8f 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 @@ -827,8 +827,8 @@ fun ModalData.GroupChatInfoLayout( ChannelWebPageButton(groupInfo, manageWebPage) if (groupInfo.groupProfile.publicGroup != null) { SettingsActionItem( - painterResource(MR.images.ic_verified_user), - stringResource(MR.strings.set_simplex_name), + painterResource(MR.images.ic_tag), + stringResource(MR.strings.simplex_name), setSimplexName, iconColor = MaterialTheme.colors.secondary ) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/UserAddressView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/UserAddressView.kt index 183cd8e4c1..7088a82600 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/UserAddressView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/UserAddressView.kt @@ -357,9 +357,16 @@ private fun UserAddressLayout( // ShareViaEmailButton { sendEmail(userAddress) } BusinessAddressToggle(addressSettingsState) { saveAddressSettings(addressSettingsState.value, savedAddressSettingsState) } AddressSettingsButton(user, userAddress, shareViaProfile, setProfileAddress, saveAddressSettings) + } + if (addressSettingsState.value.businessAddress) { + SectionTextFooter(stringResource(MR.strings.add_your_team_members_to_conversations)) + } + + SectionDividerSpaced() + SectionView { SettingsActionItem( - painterResource(MR.images.ic_verified_user), - stringResource(MR.strings.set_simplex_name), + painterResource(MR.images.ic_at), + stringResource(MR.strings.your_simplex_name), click = { ModalManager.start.showCustomModal { close -> SetSimplexNameView( @@ -384,9 +391,6 @@ private fun UserAddressLayout( iconColor = MaterialTheme.colors.secondary ) } - if (addressSettingsState.value.businessAddress) { - SectionTextFooter(stringResource(MR.strings.add_your_team_members_to_conversations)) - } SectionDividerSpaced() SectionView(generalGetString(MR.strings.or_to_share_privately)) { diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index b4d77fc4cd..69f9638cfb 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -940,10 +940,12 @@ Paste link One-time invitation link 1-time link - SimpleX address and name + SimpleX address Verify name Verify SimpleX names SimpleX name not verified + SimpleX name + Your SimpleX name Set SimpleX name name.simplex Error saving name @@ -951,6 +953,8 @@ The SimpleX name %1$s is registered without SimpleX address. Add your SimpleX address to the name via the registration page. Set a SimpleX name so people can connect to you using @yourname instead of a link. The name must already be registered to your address. Set a SimpleX name so people can find this channel as #name. The name must be registered to this channel\'s address. + Let people connect to you via name registered with your SimpleX address. + Let people join via name registered with this channel link. Or show this code Full link Short link