From e6545a17478505c4ddbc42125aa47630e8904653 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 6 Aug 2024 19:20:54 +0100 Subject: [PATCH] ui: whats new in v6.0, rename "Deleted chats" to "Archived contacts" (#4599) * ios: whats new in v6.0 * android, rename Deleted chats to Archive contacts --- apps/ios/Shared/Views/Chat/ChatInfoView.swift | 2 +- .../Views/NewChat/NewChatMenuButton.swift | 2 +- .../Views/Onboarding/WhatsNewView.swift | 36 +++++++++++++++ .../common/views/onboarding/WhatsNewView.kt | 46 +++++++++++++++++-- .../commonMain/resources/MR/base/strings.xml | 15 +++++- .../resources/MR/images/ic_id_card.svg | 4 ++ .../resources/MR/images/ic_toast.svg | 4 ++ 7 files changed, 102 insertions(+), 7 deletions(-) create mode 100644 apps/multiplatform/common/src/commonMain/resources/MR/images/ic_id_card.svg create mode 100644 apps/multiplatform/common/src/commonMain/resources/MR/images/ic_toast.svg diff --git a/apps/ios/Shared/Views/Chat/ChatInfoView.swift b/apps/ios/Shared/Views/Chat/ChatInfoView.swift index 0303ab2840..0986b58d9c 100644 --- a/apps/ios/Shared/Views/Chat/ChatInfoView.swift +++ b/apps/ios/Shared/Views/Chat/ChatInfoView.swift @@ -1041,7 +1041,7 @@ private func deleteContactMaybeErrorAlert( private func deleteConversationNotice(_ contact: Contact) -> Alert { return Alert( title: Text("Conversation deleted!"), - message: Text("You can still send messages to \(contact.displayName) from the Deleted chats."), + message: Text("You can send messages to \(contact.displayName) from Archived contacts."), primaryButton: .default(Text("Don't show again")) { showDeleteConversationNoticeDefault.set(false) }, diff --git a/apps/ios/Shared/Views/NewChat/NewChatMenuButton.swift b/apps/ios/Shared/Views/NewChat/NewChatMenuButton.swift index 9d4629fa2c..ee447efdd9 100644 --- a/apps/ios/Shared/Views/NewChat/NewChatMenuButton.swift +++ b/apps/ios/Shared/Views/NewChat/NewChatMenuButton.swift @@ -121,7 +121,7 @@ struct NewChatSheet: View { NavigationLink { DeletedChats() } label: { - newChatActionButton("archivebox", color: theme.colors.secondary) { Text("Deleted chats") } + newChatActionButton("archivebox", color: theme.colors.secondary) { Text("Archived contacts") } } } } diff --git a/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift b/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift index 74390c97e1..47ac706e15 100644 --- a/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift +++ b/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift @@ -428,6 +428,42 @@ private let versionDescriptions: [VersionDescription] = [ ) ] ), + VersionDescription( + version: "v6.0", + post: URL(string: "https://simplex.chat/blog/20240814-simplex-chat-vision-funding-v6-private-routing-new-user-experience.html"), + features: [ + FeatureDescription( + icon: "arrow.forward", + title: "Private message routing πŸš€", + description: "It protects your IP address and connections." + ), + FeatureDescription( + icon: "person.text.rectangle", + title: "Your contacts your way", + description: "- Search contacts when starting chat.\n- Archive contacts to chat later." + ), + FeatureDescription( + icon: "platter.filled.bottom.iphone", + title: "Reachable chat toolbar πŸ‘‹", + description: "Use the app with one hand." + ), + FeatureDescription( + icon: "link", + title: "Connect to your friends faster", + description: "Even when they are offline." + ), + FeatureDescription( + icon: "trash", + title: "Moderate like a pro βœ‹", + description: "Delete up to 20 messages at once." + ), + FeatureDescription( + icon: "network", + title: "Control your network", + description: "Connection and servers status." + ) + ] + ), ] private let lastVersion = versionDescriptions.last!.version diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt index 340346f5b3..05cd9cb118 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt @@ -18,7 +18,7 @@ import androidx.compose.desktop.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.simplex.common.model.ChatModel -import chat.simplex.common.platform.ColumnWithScrollBar +import chat.simplex.common.platform.* import chat.simplex.common.ui.theme.* import chat.simplex.common.views.helpers.* import chat.simplex.res.MR @@ -115,7 +115,9 @@ fun WhatsNewView(viaSettings: Boolean = false, close: () -> Unit) { AppBarTitle(String.format(generalGetString(MR.strings.new_in_version), v.version), bottomPadding = DEFAULT_PADDING) v.features.forEach { feature -> - featureDescription(painterResource(feature.icon), feature.titleId, feature.descrId, feature.link) + if (feature.show) { + featureDescription(painterResource(feature.icon), feature.titleId, feature.descrId, feature.link) + } } if (v.post != null) { @@ -158,7 +160,8 @@ private data class FeatureDescription( val icon: ImageResource, val titleId: StringResource, val descrId: StringResource, - val link: String? = null + val link: String? = null, + val show: Boolean = true ) private data class VersionDescription( @@ -587,6 +590,43 @@ private val versionDescriptions: List = listOf( ) ) ), + VersionDescription( + version = "v6.0", + post = "https://simplex.chat/blog/20240814-simplex-chat-vision-funding-v6-private-routing-new-user-experience.html", + features = listOf( + FeatureDescription( + icon = MR.images.ic_settings_ethernet, + titleId = MR.strings.v5_8_private_routing, + descrId = MR.strings.v6_0_private_routing_descr + ), + FeatureDescription( + icon = MR.images.ic_id_card, + titleId = MR.strings.v6_0_your_contacts, + descrId = MR.strings.v6_0_your_contacts_descr + ), + FeatureDescription( + icon = MR.images.ic_toast, + titleId = MR.strings.v6_0_reachable_chat_toolbar, + descrId = MR.strings.v6_0_reachable_chat_toolbar_descr, + show = appPlatform.isAndroid + ), + FeatureDescription( + icon = MR.images.ic_link, + titleId = MR.strings.v6_0_connect_faster, + descrId = MR.strings.v6_0_connect_faster_descr + ), + FeatureDescription( + icon = MR.images.ic_delete, + titleId = MR.strings.v6_0_delete_many_messages, + descrId = MR.strings.v6_0_delete_many_messages_descr + ), + FeatureDescription( + icon = MR.images.ic_wifi_tethering, + titleId = MR.strings.v6_0_connection_servers_status, + descrId = MR.strings.v6_0_connection_servers_status_descr + ) + ), + ) ) private val lastVersion = versionDescriptions.last().version 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 28b65cae04..bdd54811ac 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -467,7 +467,7 @@ Delete without notification Delete contact Conversation deleted! - You can still send messages to %1$s from the Deleted chats. + You can send messages to %1$s from Archived contacts. Contact deleted! You can still view conversation with %1$s in the list of chats. Set contact name… @@ -676,7 +676,7 @@ Invalid QR code The code you scanned is not a SimpleX link QR code. - Deleted chats + Archived contacts No filtered contacts Your contacts @@ -1974,6 +1974,17 @@ Improved message delivery With reduced battery usage. Persian UI + It protects your IP address and connections. + Your contacts your way + - Search contacts when starting chat.\n- Archive contacts to chat later. + Reachable chat toolbar πŸ‘‹ + Use the app with one hand. + Connect to your friends faster + Even when they are offline. + Moderate like a pro βœ‹ + Delete up to 20 messages at once. + Control your network + Connection and servers status. seconds diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/images/ic_id_card.svg b/apps/multiplatform/common/src/commonMain/resources/MR/images/ic_id_card.svg new file mode 100644 index 0000000000..ff3b77c1d6 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/resources/MR/images/ic_id_card.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/images/ic_toast.svg b/apps/multiplatform/common/src/commonMain/resources/MR/images/ic_toast.svg new file mode 100644 index 0000000000..64f03f2fa7 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/resources/MR/images/ic_toast.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file