From 0d83265f6bd3baa0cce0c08d51563dfedfd1a030 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Nicolas <6371790+pynicolas@users.noreply.github.com> Date: Tue, 5 May 2026 20:31:13 +0200 Subject: [PATCH] Change Scaffold for EditPageScreen --- .../fairscan/app/ui/components/Scaffold.kt | 31 ++++++++++++------- .../app/ui/screens/camera/CameraScreen.kt | 1 - .../app/ui/screens/document/DocumentScreen.kt | 1 - .../app/ui/screens/edit/EditPageScreen.kt | 29 +++++------------ 4 files changed, 26 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/org/fairscan/app/ui/components/Scaffold.kt b/app/src/main/java/org/fairscan/app/ui/components/Scaffold.kt index d5b2271..142dfa4 100644 --- a/app/src/main/java/org/fairscan/app/ui/components/Scaffold.kt +++ b/app/src/main/java/org/fairscan/app/ui/components/Scaffold.kt @@ -54,15 +54,20 @@ import org.fairscan.app.ui.Navigation @Composable fun MyScaffold( navigation: Navigation, - pageListState: CommonPageListState, + pageListState: CommonPageListState? = null, bottomBar: @Composable () -> Unit, - onBack: (() -> Unit)? = null, content: @Composable (Modifier) -> Unit, ) { Box { if (!isLandscape(LocalConfiguration.current)) { Scaffold( - bottomBar = { DocumentBar(pageListState, bottomBar, Modifier) } + bottomBar = { + if (pageListState == null) { + bottomBar + } else { + DocumentBar(pageListState, bottomBar, Modifier) + } + } ) { innerPadding -> content(Modifier.padding(innerPadding).fillMaxSize()) } @@ -72,18 +77,20 @@ fun MyScaffold( modifier = Modifier.padding(innerPadding).fillMaxSize() ) { content(Modifier.weight(2f)) - DocumentBar(pageListState, bottomBar, Modifier.weight(1f)) + if (pageListState == null) { + bottomBar + } else { + DocumentBar(pageListState, bottomBar, Modifier.weight(1f)) + } } } } - if (onBack != null) { - BackButton( - onBack, - modifier = Modifier - .align(Alignment.TopStart) - .windowInsetsPadding(WindowInsets.safeDrawing) - ) - } + BackButton( + navigation.back, + modifier = Modifier + .align(Alignment.TopStart) + .windowInsetsPadding(WindowInsets.safeDrawing) + ) AppOverflowMenu( navigation, modifier = Modifier diff --git a/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraScreen.kt index 342bea3..224043a 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraScreen.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/camera/CameraScreen.kt @@ -293,7 +293,6 @@ private fun CameraScreenScaffold( MyScaffold( navigation = navigation, pageListState = pageListState, - onBack = navigation.back, bottomBar = { Bar(cameraUiState.pageCount, onFinalizePressed, onImportClicked) } ) { modifier -> if (cameraUiState.importState is ImportState.Selecting) { diff --git a/app/src/main/java/org/fairscan/app/ui/screens/document/DocumentScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/document/DocumentScreen.kt index 99f75e3..64d6bfd 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/document/DocumentScreen.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/document/DocumentScreen.kt @@ -123,7 +123,6 @@ fun DocumentScreen( listState = listState, showPageNumbers = true, ), - onBack = navigation.back, bottomBar = { BottomBar(onExportClick, navigation.toCameraScreen) }, diff --git a/app/src/main/java/org/fairscan/app/ui/screens/edit/EditPageScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/edit/EditPageScreen.kt index 3adc809..132c6eb 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/edit/EditPageScreen.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/edit/EditPageScreen.kt @@ -29,12 +29,10 @@ import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawing -import androidx.compose.foundation.layout.statusBars import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Check import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf @@ -55,9 +53,8 @@ import androidx.compose.ui.unit.dp import kotlinx.coroutines.delay import org.fairscan.app.R import org.fairscan.app.ui.Navigation -import org.fairscan.app.ui.components.AppOverflowMenu -import org.fairscan.app.ui.components.BackButton import org.fairscan.app.ui.components.MainActionButton +import org.fairscan.app.ui.components.MyScaffold import org.fairscan.app.ui.components.isLandscape import org.fairscan.app.ui.dummyNavigation import org.fairscan.app.ui.theme.FairScanTheme @@ -90,11 +87,12 @@ fun EditPageScreen( val isLandscape = isLandscape(LocalConfiguration.current) - Scaffold { _ -> - Box(modifier = Modifier - .fillMaxSize() - .windowInsetsPadding(WindowInsets.statusBars) - ) { + MyScaffold( + navigation = navigation, + bottomBar = {}, + ) { modifier -> + + Box(modifier = modifier.fillMaxSize()) { state.bitmap?.let { bmp -> val imageBitmap = remember(bmp) { bmp.asImageBitmap() } @@ -119,19 +117,6 @@ fun EditPageScreen( } } - BackButton( - onClick = navigation.back, - modifier = Modifier - .align(Alignment.TopStart) - .windowInsetsPadding(WindowInsets.safeDrawing) - ) - AppOverflowMenu( - navigation, - modifier = Modifier - .align(Alignment.TopEnd) - .windowInsetsPadding(WindowInsets.safeDrawing), - ) - DragMagnifyingGlass(state) ActionButtons(