From 8ca8e5d8f902d0cf3630cae4535ea5421c79a34f Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 2 Mar 2023 12:13:14 -0400 Subject: [PATCH] Add scaffold preview. --- .../pnp/PhoneNumberPrivacySettingsFragment.kt | 2 +- .../main/java/org/signal/core/ui/Scaffolds.kt | 30 +++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt index 13071f052..cd0926aa2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt @@ -39,7 +39,7 @@ class PhoneNumberPrivacySettingsFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.preferences_app_protection__phone_number), onNavigationClick = onNavigationClick, - painter = painterResource(id = R.drawable.ic_arrow_left_24), + navigationIconPainter = painterResource(id = R.drawable.ic_arrow_left_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding -> Box(modifier = Modifier.padding(contentPadding)) { diff --git a/core-ui/src/main/java/org/signal/core/ui/Scaffolds.kt b/core-ui/src/main/java/org/signal/core/ui/Scaffolds.kt index 0f1458a62..e540b0cdb 100644 --- a/core-ui/src/main/java/org/signal/core/ui/Scaffolds.kt +++ b/core-ui/src/main/java/org/signal/core/ui/Scaffolds.kt @@ -1,6 +1,8 @@ package org.signal.core.ui +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon @@ -10,9 +12,14 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.painter.ColorPainter import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import org.signal.core.ui.theme.SignalTheme @OptIn(ExperimentalMaterial3Api::class) object Scaffolds { @@ -20,7 +27,7 @@ object Scaffolds { fun Settings( title: String, onNavigationClick: () -> Unit, - painter: Painter, + navigationIconPainter: Painter, modifier: Modifier = Modifier, navigationContentDescription: String? = null, content: @Composable (PaddingValues) -> Unit @@ -40,7 +47,7 @@ object Scaffolds { Modifier.padding(end = 16.dp) ) { Icon( - painter = painter, + painter = navigationIconPainter, contentDescription = navigationContentDescription ) } @@ -52,3 +59,22 @@ object Scaffolds { ) } } + +@Preview +@Composable +fun SettingsScaffoldPreview() { + SignalTheme(isDarkMode = false) { + Scaffolds.Settings( + "Settings Scaffold", + onNavigationClick = {}, + navigationIconPainter = ColorPainter(Color.Black) + ) { paddingValues -> + Box( + contentAlignment = Alignment.Center, + modifier = Modifier.padding(paddingValues).fillMaxSize() + ) { + Text("Content") + } + } + } +}