diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/compose/Beta.kt b/app/src/main/java/org/thoughtcrime/securesms/components/compose/Beta.kt index 0c88fa28f7..d83287d2a5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/compose/Beta.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/compose/Beta.kt @@ -15,6 +15,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource @@ -23,6 +24,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.horizontalGutters import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R @@ -35,6 +37,7 @@ import org.thoughtcrime.securesms.R fun TextWithBetaLabel( text: String, textStyle: TextStyle = TextStyle.Default, + enabled: Boolean = true, modifier: Modifier = Modifier ) { FlowRow( @@ -45,7 +48,9 @@ fun TextWithBetaLabel( Text( text = text, style = textStyle, - modifier = Modifier.align(Alignment.CenterVertically) + modifier = Modifier + .align(Alignment.CenterVertically) + .alpha(if (enabled) 1f else Rows.DISABLED_ALPHA) ) Text( text = stringResource(R.string.Beta__beta_title).uppercase(), @@ -56,6 +61,7 @@ fun TextWithBetaLabel( .padding(vertical = 6.dp) .background(color = MaterialTheme.colorScheme.surfaceVariant, shape = RoundedCornerShape(28.dp)) .padding(horizontal = 12.dp, vertical = 4.dp) + .alpha(if (enabled) 1f else Rows.DISABLED_ALPHA) .align(Alignment.CenterVertically) ) } @@ -96,6 +102,14 @@ fun BetaLabelPreview() { } } +@DayNightPreviews +@Composable +fun BetaLabelDisabledPreview() { + Previews.Preview { + TextWithBetaLabel("Signal Backups", enabled = false) + } +} + @Preview(locale = "de") @Composable fun LongTextBetaLabelPreview() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt index 239b72895c..132f637d46 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt @@ -418,7 +418,8 @@ private fun AppSettingsContent( text = { TextWithBetaLabel( text = stringResource(R.string.preferences_chats__backups), - textStyle = MaterialTheme.typography.bodyLarge + textStyle = MaterialTheme.typography.bodyLarge, + enabled = isRegisteredAndUpToDate ) }, icon = { @@ -720,6 +721,43 @@ private fun AppSettingsContentPreview() { } } +@DayNightPreviews +@Composable +private fun AppSettingsContentUnregisteredPreview() { + Previews.Preview { + AppSettingsContent( + self = BioRecipientState( + Recipient( + systemContactName = "Miles Morales", + profileName = ProfileName.fromParts("Miles", "Morales ❤\uFE0F"), + isSelf = true, + e164Value = "+15555555555", + usernameValue = "miles.98", + aboutEmoji = "❤\uFE0F", + about = "About", + isResolving = false + ) + ), + state = AppSettingsState( + isPrimaryDevice = true, + unreadPaymentsCount = 5, + hasExpiredGiftBadge = true, + allowUserToGoToDonationManagementScreen = true, + userUnregistered = true, + clientDeprecated = false, + showInternalPreferences = true, + showPayments = true, + showAppUpdates = true, + backupFailureState = BackupFailureState.OUT_OF_STORAGE_SPACE + ), + bannerManager = BannerManager( + banners = listOf(TestBanner()) + ), + callbacks = EmptyCallbacks + ) + } +} + @DayNightPreviews @Composable private fun BioRowPreview() { diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Rows.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Rows.kt index c1c5904916..a3c4117efb 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Rows.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Rows.kt @@ -53,6 +53,8 @@ import org.signal.core.ui.compose.Rows.TextAndLabel object Rows { + const val DISABLED_ALPHA = 0.4f + /** * Link row that positions [text] and optional [label] in a [TextAndLabel] to the side of an [icon] on the right. */ @@ -554,7 +556,7 @@ object Rows { ) { Column( modifier = modifier - .alpha(if (enabled) 1f else 0.4f) + .alpha(if (enabled) 1f else DISABLED_ALPHA) .weight(1f) ) { if (text != null) {