From 0c8974af9a5103db9a890faf542aab4ab5a7f4f3 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Nicolas <6371790+pynicolas@users.noreply.github.com> Date: Sun, 1 Feb 2026 18:10:36 +0100 Subject: [PATCH] Export screen: move filename field close to buttons --- .../app/ui/screens/export/ExportScreen.kt | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt index 176e306..618d06c 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt @@ -37,7 +37,9 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.widthIn +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.OpenInNew import androidx.compose.material.icons.filled.Clear @@ -191,15 +193,15 @@ fun ExportScreen( val containerModifier = Modifier .padding(innerPadding) .padding(16.dp) + val onThumbnailClick = navigation.toDocumentScreen if (!isLandscape(LocalConfiguration.current)) { Column( modifier = containerModifier.fillMaxSize(), verticalArrangement = Arrangement.spacedBy(16.dp) ) { - TextFieldAndPdfInfos(filename, onFilenameChange, uiState, currentDocument, onOpen, - onThumbnailClick = navigation.toDocumentScreen) + PdfInfosAndResultBar(uiState, currentDocument, onOpen, onThumbnailClick) Spacer(Modifier.weight(1f)) // push buttons down - MainActions(uiState, onShare, onSave, onCloseScan) + MainActions(filename, onFilenameChange, uiState, onShare, onSave, onCloseScan) } } else { Row( @@ -207,14 +209,14 @@ fun ExportScreen( horizontalArrangement = Arrangement.spacedBy(16.dp) ) { Column( - modifier = Modifier.weight(1f), + modifier = Modifier.weight(1f) + .verticalScroll(rememberScrollState()), verticalArrangement = Arrangement.spacedBy(16.dp) ) { - TextFieldAndPdfInfos(filename, onFilenameChange, uiState, currentDocument, onOpen, - onThumbnailClick = navigation.toDocumentScreen) + PdfInfosAndResultBar(uiState, currentDocument, onOpen, onThumbnailClick) } Column(modifier = Modifier.weight(1f)) { - MainActions(uiState, onShare, onSave, onCloseScan) + MainActions(filename, onFilenameChange, uiState, onShare, onSave, onCloseScan) } } @@ -223,15 +225,12 @@ fun ExportScreen( } @Composable -private fun TextFieldAndPdfInfos( - filename: MutableState, - onFilenameChange: (String) -> Unit, +private fun PdfInfosAndResultBar( uiState: ExportUiState, currentDocument: DocumentUiModel, onOpen: (SavedItem) -> Unit, onThumbnailClick: () -> Unit, ) { - FilenameTextField(filename, onFilenameChange) val result = uiState.result @@ -339,6 +338,8 @@ private fun FilenameTextField( @Composable private fun MainActions( + filename: MutableState, + onFilenameChange: (String) -> Unit, uiState: ExportUiState, onShare: () -> Unit, onSave: () -> Unit, @@ -347,6 +348,8 @@ private fun MainActions( Column( verticalArrangement = Arrangement.spacedBy(12.dp) ) { + FilenameTextField(filename, onFilenameChange) + Row( horizontalArrangement = Arrangement.spacedBy(8.dp), modifier = Modifier.fillMaxWidth()