aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ui/compose/src/main/kotlin/app/passwordstore/ui/APSAppBar.kt24
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),
+ )
+ }
+}