Change Scaffold for EditPageScreen

This commit is contained in:
Pierre-Yves Nicolas
2026-05-05 20:31:13 +02:00
parent d03d411706
commit 0d83265f6b
4 changed files with 26 additions and 36 deletions

View File

@@ -54,15 +54,20 @@ import org.fairscan.app.ui.Navigation
@Composable @Composable
fun MyScaffold( fun MyScaffold(
navigation: Navigation, navigation: Navigation,
pageListState: CommonPageListState, pageListState: CommonPageListState? = null,
bottomBar: @Composable () -> Unit, bottomBar: @Composable () -> Unit,
onBack: (() -> Unit)? = null,
content: @Composable (Modifier) -> Unit, content: @Composable (Modifier) -> Unit,
) { ) {
Box { Box {
if (!isLandscape(LocalConfiguration.current)) { if (!isLandscape(LocalConfiguration.current)) {
Scaffold( Scaffold(
bottomBar = { DocumentBar(pageListState, bottomBar, Modifier) } bottomBar = {
if (pageListState == null) {
bottomBar
} else {
DocumentBar(pageListState, bottomBar, Modifier)
}
}
) { innerPadding -> ) { innerPadding ->
content(Modifier.padding(innerPadding).fillMaxSize()) content(Modifier.padding(innerPadding).fillMaxSize())
} }
@@ -72,18 +77,20 @@ fun MyScaffold(
modifier = Modifier.padding(innerPadding).fillMaxSize() modifier = Modifier.padding(innerPadding).fillMaxSize()
) { ) {
content(Modifier.weight(2f)) 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(
BackButton( navigation.back,
onBack, modifier = Modifier
modifier = Modifier .align(Alignment.TopStart)
.align(Alignment.TopStart) .windowInsetsPadding(WindowInsets.safeDrawing)
.windowInsetsPadding(WindowInsets.safeDrawing) )
)
}
AppOverflowMenu( AppOverflowMenu(
navigation, navigation,
modifier = Modifier modifier = Modifier

View File

@@ -293,7 +293,6 @@ private fun CameraScreenScaffold(
MyScaffold( MyScaffold(
navigation = navigation, navigation = navigation,
pageListState = pageListState, pageListState = pageListState,
onBack = navigation.back,
bottomBar = { Bar(cameraUiState.pageCount, onFinalizePressed, onImportClicked) } bottomBar = { Bar(cameraUiState.pageCount, onFinalizePressed, onImportClicked) }
) { modifier -> ) { modifier ->
if (cameraUiState.importState is ImportState.Selecting) { if (cameraUiState.importState is ImportState.Selecting) {

View File

@@ -123,7 +123,6 @@ fun DocumentScreen(
listState = listState, listState = listState,
showPageNumbers = true, showPageNumbers = true,
), ),
onBack = navigation.back,
bottomBar = { bottomBar = {
BottomBar(onExportClick, navigation.toCameraScreen) BottomBar(onExportClick, navigation.toCameraScreen)
}, },

View File

@@ -29,12 +29,10 @@ import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.safeDrawing import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.layout.statusBars
import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Check import androidx.compose.material.icons.filled.Check
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
@@ -55,9 +53,8 @@ import androidx.compose.ui.unit.dp
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import org.fairscan.app.R import org.fairscan.app.R
import org.fairscan.app.ui.Navigation 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.MainActionButton
import org.fairscan.app.ui.components.MyScaffold
import org.fairscan.app.ui.components.isLandscape import org.fairscan.app.ui.components.isLandscape
import org.fairscan.app.ui.dummyNavigation import org.fairscan.app.ui.dummyNavigation
import org.fairscan.app.ui.theme.FairScanTheme import org.fairscan.app.ui.theme.FairScanTheme
@@ -90,11 +87,12 @@ fun EditPageScreen(
val isLandscape = isLandscape(LocalConfiguration.current) val isLandscape = isLandscape(LocalConfiguration.current)
Scaffold { _ -> MyScaffold(
Box(modifier = Modifier navigation = navigation,
.fillMaxSize() bottomBar = {},
.windowInsetsPadding(WindowInsets.statusBars) ) { modifier ->
) {
Box(modifier = modifier.fillMaxSize()) {
state.bitmap?.let { bmp -> state.bitmap?.let { bmp ->
val imageBitmap = remember(bmp) { bmp.asImageBitmap() } 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) DragMagnifyingGlass(state)
ActionButtons( ActionButtons(