Refactoring: BackButton

This commit is contained in:
Pierre-Yves Nicolas
2025-07-12 18:04:31 +02:00
parent ba7097c6de
commit b37bca4c5c
4 changed files with 14 additions and 26 deletions

View File

@@ -27,7 +27,6 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.filled.Close
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.HorizontalDivider
@@ -65,12 +64,7 @@ fun AboutScreen(onBack: () -> Unit, onViewLibraries: () -> Unit) {
topBar = {
TopAppBar(
title = { Text(stringResource(R.string.about)) },
navigationIcon = {
IconButton(onClick = onBack) {
Icon(Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = stringResource(R.string.back))
}
},
navigationIcon = { BackButton(onBack) },
)
}
) { paddingValues ->

View File

@@ -18,6 +18,7 @@ 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.automirrored.filled.ArrowBack
import androidx.compose.material.icons.outlined.Info
import androidx.compose.material3.Button
import androidx.compose.material3.FilledIconButton
@@ -72,6 +73,16 @@ fun SecondaryActionButton(
}
}
@Composable
fun BackButton(onClick: () -> Unit) {
IconButton(onClick = onClick) {
Icon(
Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = stringResource(R.string.back)
)
}
}
@Composable
fun AboutScreenNavButton(
onClick: () -> Unit,

View File

@@ -31,7 +31,6 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.PictureAsPdf
import androidx.compose.material.icons.filled.RestartAlt
@@ -39,8 +38,6 @@ import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.BottomAppBar
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
@@ -105,12 +102,7 @@ fun DocumentScreen(
titleContentColor = MaterialTheme.colorScheme.onSurface,
),
title = { Text(stringResource(R.string.document)) },
navigationIcon = {
IconButton(onClick = navigation.toCameraScreen) {
Icon(Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = stringResource(R.string.back))
}
},
navigationIcon = { BackButton(navigation.back) },
actions = {
AboutScreenNavButton(onClick = navigation.toAboutScreen)
}

View File

@@ -16,11 +16,7 @@ package org.mydomain.myscan.view
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
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.Scaffold
import androidx.compose.material3.Surface
@@ -42,12 +38,7 @@ fun LibrariesScreen(onBack: () -> Unit) {
topBar = {
TopAppBar(
title = { Text(stringResource(R.string.libraries_open_source)) },
navigationIcon = {
IconButton(onClick = onBack) {
Icon(Icons.AutoMirrored.Default.ArrowBack,
contentDescription = stringResource(R.string.back))
}
}
navigationIcon = { BackButton(onClick = onBack) }
)
}
) { padding ->