diff options
Diffstat (limited to 'ui/compose/src')
-rw-r--r-- | ui/compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/ui/compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt b/ui/compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt index 94b646b7..1a65a2f7 100644 --- a/ui/compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt +++ b/ui/compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt @@ -1,8 +1,11 @@ package app.passwordstore.ui +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults @@ -11,7 +14,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.shadow import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.unit.dp +import app.passwordstore.ui.compose.preview.DevicePreviews +import app.passwordstore.ui.compose.preview.ThemePreviews +import app.passwordstore.ui.compose.theme.APSTheme @Composable @OptIn(ExperimentalMaterial3Api::class) @@ -19,14 +26,14 @@ public fun APSAppBar( title: String, backgroundColor: Color, navigationIcon: Painter?, - onNavigationIconClick: (() -> Unit)?, modifier: Modifier = Modifier, + onNavigationIconClick: (() -> Unit) = {}, ) { TopAppBar( title = { Text(text = title) }, navigationIcon = { if (navigationIcon != null) { - IconButton(onClick = { onNavigationIconClick?.invoke() }) { + IconButton(onClick = { onNavigationIconClick.invoke() }) { Icon( painter = navigationIcon, contentDescription = null, @@ -38,3 +45,16 @@ public fun APSAppBar( modifier = modifier.shadow(8.dp), ) } + +@ThemePreviews +@DevicePreviews +@Composable +private fun APSAppBarPreview() { + APSTheme { + APSAppBar( + title = "Preview", + backgroundColor = MaterialTheme.colorScheme.surface, + navigationIcon = rememberVectorPainter(Icons.AutoMirrored.Filled.ArrowBack), + ) + } +} |