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
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

View File

@@ -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) {

View File

@@ -123,7 +123,6 @@ fun DocumentScreen(
listState = listState,
showPageNumbers = true,
),
onBack = navigation.back,
bottomBar = {
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.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(