diff --git a/apps/multiplatform/common/build.gradle.kts b/apps/multiplatform/common/build.gradle.kts
index 9f75919899..3da9d1b42a 100644
--- a/apps/multiplatform/common/build.gradle.kts
+++ b/apps/multiplatform/common/build.gradle.kts
@@ -11,6 +11,9 @@ plugins {
group = "chat.simplex"
version = extra["android.version_name"] as String
+val simplexArtLightResources = rootProject.rootDir.resolve("../../../simplex-chat-art/multiplatform/light")
+val simplexArtRepoPresent = simplexArtLightResources.isDirectory
+
kotlin {
androidTarget()
jvm("desktop")
@@ -31,7 +34,11 @@ kotlin {
}
val commonMain by getting {
- resources.srcDir(rootProject.rootDir.resolve("../../../simplex-chat-art/multiplatform/light"))
+ if (simplexArtRepoPresent) {
+ resources.srcDir(simplexArtLightResources)
+ } else {
+ resources.srcDir("src/commonMain/resourcesFallbackArt")
+ }
dependencies {
api(compose.runtime)
api(compose.foundation)
@@ -161,6 +168,7 @@ buildConfig {
buildConfigField("int", "DESKTOP_VERSION_CODE", "${extra["desktop.version_code"]}")
buildConfigField("String", "DATABASE_BACKEND", "\"${extra["database.backend"]}\"")
buildConfigField("Boolean", "ANDROID_BUNDLE", "${extra["android.bundle"]}")
+ buildConfigField("Boolean", "FULL_INVITATION_IMAGES", "$simplexArtRepoPresent")
}
}
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/ConnectBannerCard.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/ConnectBannerCard.kt
index c8307d22ce..727e6eab25 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/ConnectBannerCard.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/ConnectBannerCard.kt
@@ -37,38 +37,40 @@ fun ConnectBannerCard(onInviteClick: () -> Unit, onScanPasteClick: () -> Unit) {
modifier = Modifier.fillMaxWidth()
) {
Column {
- Row(
- Modifier.fillMaxWidth(),
- horizontalArrangement = Arrangement.SpaceEvenly
- ) {
- Box(
- modifier = Modifier
- .weight(1f)
- .aspectRatio(1.6f)
- .clickable { onInviteClick() },
+ if (fullInvitationArtAvailable) {
+ Row(
+ Modifier.fillMaxWidth(),
+ horizontalArrangement = Arrangement.SpaceEvenly
) {
- Image(
- painterResource(MR.images.ic_invitation_card_invite_someone),
- contentDescription = stringResource(MR.strings.create_link_or_qr),
- modifier = Modifier.fillMaxSize(),
- contentScale = ContentScale.Crop
- )
- }
- Box(
- modifier = Modifier
- .weight(1f)
- .aspectRatio(1.6f)
- .clickable { onScanPasteClick() },
- ) {
- Image(
- painterResource(MR.images.ic_invitation_card_one_time_link),
- contentDescription = stringResource(MR.strings.paste_link_scan),
- modifier = Modifier.fillMaxSize(),
- contentScale = ContentScale.Crop
- )
+ Box(
+ modifier = Modifier
+ .weight(1f)
+ .aspectRatio(1.6f)
+ .clickable { onInviteClick() },
+ ) {
+ Image(
+ painterResource(MR.images.ic_invitation_card_invite_someone),
+ contentDescription = stringResource(MR.strings.create_link_or_qr),
+ modifier = Modifier.fillMaxSize(),
+ contentScale = ContentScale.Crop
+ )
+ }
+ Box(
+ modifier = Modifier
+ .weight(1f)
+ .aspectRatio(1.6f)
+ .clickable { onScanPasteClick() },
+ ) {
+ Image(
+ painterResource(MR.images.ic_invitation_card_one_time_link),
+ contentDescription = stringResource(MR.strings.paste_link_scan),
+ modifier = Modifier.fillMaxSize(),
+ contentScale = ContentScale.Crop
+ )
+ }
}
+ Divider(color = MaterialTheme.colors.onSurface.copy(alpha = 0.06f))
}
- Divider(color = MaterialTheme.colors.onSurface.copy(alpha = 0.06f))
Row(
Modifier.fillMaxWidth().padding(vertical = DEFAULT_PADDING_HALF),
horizontalArrangement = Arrangement.SpaceEvenly
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/ConnectViewLinkOrQrModal.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/ConnectViewLinkOrQrModal.kt
index 094f92554b..72aba1a38e 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/ConnectViewLinkOrQrModal.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/ConnectViewLinkOrQrModal.kt
@@ -50,16 +50,18 @@ fun ModalData.ConnectViewLinkOrQrModal(rhId: Long?, close: () -> Unit) {
.verticalScroll(rememberScrollState()),
horizontalAlignment = Alignment.CenterHorizontally
) {
- Spacer(Modifier.height(24.dp))
-
- Image(
- painterResource(MR.images.ic_invitation_connect_link),
- contentDescription = null,
- contentScale = ContentScale.Fit,
- modifier = Modifier.size(160.dp)
- )
-
- Spacer(Modifier.height(24.dp))
+ if (fullInvitationArtAvailable) {
+ Spacer(Modifier.height(24.dp))
+ Image(
+ painterResource(MR.images.ic_invitation_connect_link),
+ contentDescription = null,
+ contentScale = ContentScale.Fit,
+ modifier = Modifier.size(160.dp)
+ )
+ Spacer(Modifier.height(24.dp))
+ } else {
+ Spacer(Modifier.height(16.dp))
+ }
SectionView(
title = stringResource(MR.strings.paste_the_link_you_received).uppercase(),
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InvitationArtConfig.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InvitationArtConfig.kt
new file mode 100644
index 0000000000..7aa5e79798
--- /dev/null
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InvitationArtConfig.kt
@@ -0,0 +1,10 @@
+package chat.simplex.common.views.invitation_redesign
+
+import chat.simplex.common.BuildConfigCommon
+
+/**
+ * True when `simplex-chat-art/multiplatform/light` was present at build time (see `common/build.gradle.kts`).
+ * When false, resources come from placeholder SVGs — decorative invitation hero images must not be shown.
+ */
+internal val fullInvitationArtAvailable: Boolean
+ get() = BuildConfigCommon.FULL_INVITATION_IMAGES
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InvitationCardView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InvitationCardView.kt
index 51b699dc2b..01dff2f738 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InvitationCardView.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InvitationCardView.kt
@@ -41,12 +41,16 @@ fun InvitationCardView(
Modifier.fillMaxWidth().padding(bottom = DEFAULT_PADDING_HALF),
horizontalAlignment = Alignment.CenterHorizontally
) {
- Image(
- painterResource(mainImageResource),
- contentDescription = null,
- modifier = Modifier.fillMaxWidth()
- )
- Spacer(Modifier.height(DEFAULT_PADDING_HALF))
+ if (fullInvitationArtAvailable) {
+ Image(
+ painterResource(mainImageResource),
+ contentDescription = null,
+ modifier = Modifier.fillMaxWidth()
+ )
+ Spacer(Modifier.height(DEFAULT_PADDING_HALF))
+ } else {
+ Spacer(Modifier.height(DEFAULT_PADDING_HALF))
+ }
Row(verticalAlignment = Alignment.CenterVertically) {
Icon(
painterResource(iconResource),
@@ -69,4 +73,4 @@ fun InvitationCardView(
}
}
}
-}
\ No newline at end of file
+}
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InviteCardComponent.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InviteCardComponent.kt
index 149910965e..1a38cb0704 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InviteCardComponent.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/InviteCardComponent.kt
@@ -61,7 +61,7 @@ fun InviteCardComponent(
Modifier.fillMaxWidth(),
horizontalAlignment = Alignment.CenterHorizontally
) {
- if (SHOW_PICTURES) {
+ if (fullInvitationArtAvailable) {
Image(
image,
contentDescription = null,
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/NowYouCanView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/NowYouCanView.kt
index 99da8e31ff..1a1b363194 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/NowYouCanView.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/NowYouCanView.kt
@@ -40,10 +40,10 @@ fun EmptyChatListView(onConnectClick: () -> Unit, onOneTimeLinkClick: () -> Unit
style = MaterialTheme.typography.h1.copy(fontWeight = FontWeight.Bold),
)
Spacer(Modifier.height(DEFAULT_PADDING))
- if (SHOW_PICTURES) {
- InviteSomeoneWithPicturesContent(onOneTimeLinkClick = onOneTimeLinkClick)
+ if (fullInvitationArtAvailable) {
+ InviteSomeoneWithPicturesContent(onOneTimeLinkClick = onOneTimeLinkClick)
} else {
- InviteSomeoneContent()
+ InviteSomeoneContent()
}
SectionBottomSpacer()
}
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/OneTimeLinkView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/OneTimeLinkView.kt
index 6cf2cfb492..1e257310d1 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/OneTimeLinkView.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/invitation_redesign/OneTimeLinkView.kt
@@ -166,15 +166,16 @@ fun OneTimeLinkBottomSheetContent(connLinkInvitation: CreatedConnLink) {
) {
Spacer(Modifier.height(DEFAULT_PADDING))
- Image(
- painterResource(MR.images.ic_invitation_one_time_link),
- contentDescription = null,
- modifier = Modifier
- .fillMaxWidth()
- .padding(horizontal = DEFAULT_PADDING * 3)
- )
-
- Spacer(Modifier.height(DEFAULT_PADDING))
+ if (fullInvitationArtAvailable) {
+ Image(
+ painterResource(MR.images.ic_invitation_one_time_link),
+ contentDescription = null,
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(horizontal = DEFAULT_PADDING * 3)
+ )
+ Spacer(Modifier.height(DEFAULT_PADDING))
+ }
Text(
stringResource(MR.strings.send_1_time_link_description),
@@ -235,15 +236,16 @@ fun OneTimeLinkContent(connLinkInvitation: CreatedConnLink) {
) {
Spacer(Modifier.height(DEFAULT_PADDING))
- Image(
- painterResource(MR.images.ic_invitation_one_time_link),
- contentDescription = null,
- modifier = Modifier
- .fillMaxWidth()
- .padding(horizontal = DEFAULT_PADDING * 3)
- )
-
- Spacer(Modifier.height(DEFAULT_PADDING))
+ if (fullInvitationArtAvailable) {
+ Image(
+ painterResource(MR.images.ic_invitation_one_time_link),
+ contentDescription = null,
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(horizontal = DEFAULT_PADDING * 3)
+ )
+ Spacer(Modifier.height(DEFAULT_PADDING))
+ }
Text(
stringResource(MR.strings.send_1_time_link_description),
diff --git a/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_invite_someone.svg b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_invite_someone.svg
new file mode 100644
index 0000000000..88b5f5fe90
--- /dev/null
+++ b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_invite_someone.svg
@@ -0,0 +1 @@
+
diff --git a/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_one_time_link.svg b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_one_time_link.svg
new file mode 100644
index 0000000000..88b5f5fe90
--- /dev/null
+++ b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_one_time_link.svg
@@ -0,0 +1 @@
+
diff --git a/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_public_address.svg b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_public_address.svg
new file mode 100644
index 0000000000..88b5f5fe90
--- /dev/null
+++ b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_card_public_address.svg
@@ -0,0 +1 @@
+
diff --git a/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_connect_link.svg b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_connect_link.svg
new file mode 100644
index 0000000000..88b5f5fe90
--- /dev/null
+++ b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_connect_link.svg
@@ -0,0 +1 @@
+
diff --git a/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_connected_link_qr.svg b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_connected_link_qr.svg
new file mode 100644
index 0000000000..88b5f5fe90
--- /dev/null
+++ b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_connected_link_qr.svg
@@ -0,0 +1 @@
+
diff --git a/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_create_group.svg b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_create_group.svg
new file mode 100644
index 0000000000..88b5f5fe90
--- /dev/null
+++ b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_create_group.svg
@@ -0,0 +1 @@
+
diff --git a/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_one_time_link.svg b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_one_time_link.svg
new file mode 100644
index 0000000000..88b5f5fe90
--- /dev/null
+++ b/apps/multiplatform/common/src/commonMain/resourcesFallbackArt/MR/images/ic_invitation_one_time_link.svg
@@ -0,0 +1 @@
+