diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/AppBarTitle.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/AppBarTitle.kt
index ee63846657..cf2ceaf2d6 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/AppBarTitle.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/AppBarTitle.kt
@@ -31,7 +31,8 @@ fun AppBarTitle(
val connection = if (enableAlphaChanges) handler?.connection else null
LaunchedEffect(title) {
if (enableAlphaChanges) {
- handler?.title?.value = title
+ // the app bar shows a single line, so the line breaks of the large title are replaced with spaces
+ handler?.title?.value = title.replace("\n", " ")
} else {
handler?.connection?.scrollTrackingEnabled = false
}
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 5003c05932..4d3644a10d 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
@@ -23,10 +23,12 @@ import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.LocalUriHandler
import dev.icerock.moko.resources.compose.painterResource
import dev.icerock.moko.resources.compose.stringResource
+import androidx.compose.ui.text.LinkAnnotation
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
+import androidx.compose.ui.text.withLink
import androidx.compose.ui.text.withStyle
import androidx.compose.desktop.ui.tooling.preview.Preview
import androidx.compose.foundation.interaction.MutableInteractionSource
@@ -974,9 +976,9 @@ fun shouldShowWhatsNew(m: ChatModel): Boolean {
return v != lastVersion
}
-private const val WEFUNDER_URL = "https://wefunder.com/simplexchat"
+private const val WEFUNDER_URL = "https://wefunder.com/simplex.chat?utm_source=app"
-private const val CROWDFUNDING_CONTACT_URI = "https://smp11.simplex.im/a#JxGcOA1_QhlmVFzYYabloMbvMZk5Y9d9iS3ITDnhzYo"
+private const val CROWDFUNDING_CONTACT_URI = "simplex:/a#JxGcOA1_QhlmVFzYYabloMbvMZk5Y9d9iS3ITDnhzYo?h=smp11.simplex.im"
// the center modal takes the remaining width of the window, so the image is limited to its design width
private val MAX_CROWDFUNDING_IMAGE_WIDTH = DEFAULT_MIN_CENTER_MODAL_WIDTH
@@ -1098,8 +1100,19 @@ fun GetStakeView(close: () -> Unit) {
val uriHandler = LocalUriHandler.current
val stopped = chatModel.chatRunning.value == false
ColumnWithScrollBar(Modifier.pinchZoom().padding(horizontal = DEFAULT_PADDING)) {
- AppBarTitle("Get a stake in SimpleX Chat", withPadding = false)
- Text("By investing, you can benefit from the company growth, and help us build the future of private and secure communications.", lineHeight = 24.sp)
+ AppBarTitle("Get a stake in\nSimpleX Chat", withPadding = false)
+ Text(
+ buildAnnotatedString {
+ append("By investing, you can benefit from the company growth, and help us build the future of private and secure communications.")
+ // only the link is clickable, the rest of the paragraph is not
+ withLink(LinkAnnotation.Url(WEFUNDER_URL) { uriHandler.openExternalLink(WEFUNDER_URL) }) {
+ withStyle(SpanStyle(color = MaterialTheme.colors.primary, fontWeight = FontWeight.Bold)) {
+ append(" Learn more and invest on Wefunder.")
+ }
+ }
+ },
+ lineHeight = 24.sp
+ )
getStakeSlides.forEach { slide ->
Column(Modifier.padding(top = DEFAULT_PADDING * 1.5f)) {
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 772afb4dec..739467b3ff 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml
@@ -2736,9 +2736,9 @@
- opt-in to send link previews.\n- use SOCKS proxy if enabled.\n- prevent hyperlink phishing.\n- remove link tracking.
Non-profit governance
To make SimpleX Network last.
- You can now invest in SimpleX Chat
- Crowdfunding on Wefunder.
- Crowdfunding on Wefunder
+ You can now invest in SimpleX Chat! 🚀
+ Crowdfunding on Wefunder.
+ Crowdfunding on Wefunder
Learn more on Wefunder
SimpleX public names (BETA)
Public names for your channel or business.