From 898bbaec77c21c347293d01b9e4782a41e5bf9c0 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Nicolas <6371790+pynicolas@users.noreply.github.com> Date: Sun, 6 Jul 2025 19:45:01 +0200 Subject: [PATCH] Factorize nav button to AboutScreen --- .../java/org/mydomain/myscan/view/Buttons.kt | 19 +++++++++++++++++++ .../org/mydomain/myscan/view/CameraScreen.kt | 12 ++---------- .../mydomain/myscan/view/DocumentScreen.kt | 9 +-------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/org/mydomain/myscan/view/Buttons.kt b/app/src/main/java/org/mydomain/myscan/view/Buttons.kt index dff5aaa..d443502 100644 --- a/app/src/main/java/org/mydomain/myscan/view/Buttons.kt +++ b/app/src/main/java/org/mydomain/myscan/view/Buttons.kt @@ -17,9 +17,12 @@ package org.mydomain.myscan.view import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Info import androidx.compose.material3.Button import androidx.compose.material3.FilledIconButton import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.material3.IconButtonDefaults import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text @@ -66,3 +69,19 @@ fun SecondaryActionButton( ) } } + +@Composable +fun AboutScreenNavButton( + onClick: () -> Unit, + modifier: Modifier = Modifier +) { + IconButton( + onClick = onClick, + modifier = modifier + ) { + Icon( + imageVector = Icons.Outlined.Info, + contentDescription = "About", + tint = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f)) + } +} diff --git a/app/src/main/java/org/mydomain/myscan/view/CameraScreen.kt b/app/src/main/java/org/mydomain/myscan/view/CameraScreen.kt index 911e99f..2d62a9c 100644 --- a/app/src/main/java/org/mydomain/myscan/view/CameraScreen.kt +++ b/app/src/main/java/org/mydomain/myscan/view/CameraScreen.kt @@ -45,10 +45,7 @@ import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Done -import androidx.compose.material.icons.outlined.Info import androidx.compose.material3.BottomAppBar -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Surface @@ -207,15 +204,10 @@ private fun CameraScreenScaffold( Box( modifier = Modifier.fillMaxSize().padding(innerPadding) ) { - IconButton( + AboutScreenNavButton( onClick = toAboutScreen, modifier = Modifier.align(Alignment.TopEnd) - ) { - Icon( - imageVector = Icons.Outlined.Info, - contentDescription = "About", - tint = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f)) - } + ) } CameraPreviewWithOverlay(cameraPreview, cameraUiState, Modifier.align(Alignment.BottomCenter)) if (cameraUiState.isDebugMode) { diff --git a/app/src/main/java/org/mydomain/myscan/view/DocumentScreen.kt b/app/src/main/java/org/mydomain/myscan/view/DocumentScreen.kt index 78c30ac..f71bb24 100644 --- a/app/src/main/java/org/mydomain/myscan/view/DocumentScreen.kt +++ b/app/src/main/java/org/mydomain/myscan/view/DocumentScreen.kt @@ -19,7 +19,6 @@ import android.graphics.BitmapFactory import androidx.activity.compose.BackHandler import androidx.compose.foundation.Image import androidx.compose.foundation.background -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -37,7 +36,6 @@ import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.PictureAsPdf import androidx.compose.material.icons.filled.RestartAlt import androidx.compose.material.icons.outlined.Delete -import androidx.compose.material.icons.outlined.Info import androidx.compose.material3.AlertDialog import androidx.compose.material3.BottomAppBar import androidx.compose.material3.ExperimentalMaterial3Api @@ -111,12 +109,7 @@ fun DocumentScreen( } }, actions = { - IconButton(onClick = navigation.toAboutScreen) { - Icon( - imageVector = Icons.Outlined.Info, - contentDescription = "About", - tint = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f)) - } + AboutScreenNavButton(onClick = navigation.toAboutScreen) } ) },