From fffb24ad300bf993f9a3f7f405c696577a45ee32 Mon Sep 17 00:00:00 2001 From: Hasinjato Date: Wed, 19 Aug 2026 10:36:25 +0300 Subject: [PATCH] Optimize ui - Dialog width responsive --- .../commonMain/kotlin/mg/dot/feufaro/ui/AboutScreen.kt | 7 +++++-- .../src/commonMain/kotlin/mg/dot/feufaro/ui/DrawerUI.kt | 3 +-- .../commonMain/kotlin/mg/dot/feufaro/ui/NewPartition.kt | 6 +++++- .../kotlin/mg/dot/feufaro/ui/PrintSettingsDialog.kt | 9 ++++++--- .../src/commonMain/kotlin/mg/dot/feufaro/ui/Settings.kt | 6 +++++- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/AboutScreen.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/AboutScreen.kt index 03db126..925c703 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/AboutScreen.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/AboutScreen.kt @@ -32,7 +32,6 @@ import org.jetbrains.compose.resources.painterResource @Composable fun AboutDialog(onDismiss: () -> Unit) { val platform = getPlatform() - val isAndroid = platform.name.startsWith("Android") val appVersion = rememberAppVersion() Dialog( onDismissRequest = onDismiss, @@ -42,7 +41,11 @@ fun AboutDialog(onDismiss: () -> Unit) { ) { ElevatedCard( modifier = Modifier - .fillMaxWidth(if(isAndroid) 0.9f else 0.3f) + .widthIn( + min = 220.dp, + max = 450.dp + ) + .fillMaxWidth(0.9f) .padding(16.dp), shape = RoundedCornerShape(24.dp), colors = CardDefaults.elevatedCardColors( diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/DrawerUI.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/DrawerUI.kt index f3d1590..9499e01 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/DrawerUI.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/DrawerUI.kt @@ -268,8 +268,7 @@ fun MainScreenWithDrawer( onConfirm = { settings -> showPrintSettings = false pdfExportAction(settings) - }, - isAndroid + } ) } diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/NewPartition.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/NewPartition.kt index 2bb0835..5337663 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/NewPartition.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/NewPartition.kt @@ -83,7 +83,11 @@ fun NewPartition( Card( colors = CardDefaults.cardColors(containerColor = CardBg), modifier = Modifier - .fillMaxWidth(if(isAndroid) 0.9f else 0.55f) + .widthIn( + min = 500.dp, + max = 800.dp + ) + .fillMaxWidth(0.9f) .pointerInput(Unit) { detectTapGestures { } }, diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/PrintSettingsDialog.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/PrintSettingsDialog.kt index 1459646..f611c72 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/PrintSettingsDialog.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/PrintSettingsDialog.kt @@ -34,8 +34,7 @@ import kotlin.math.roundToInt fun PrintSettingsDialog( initialSettings: PrintSettings = defaultPrintSettings(), onDismiss: () -> Unit, - onConfirm: (PrintSettings) -> Unit, - isAndroid: Boolean + onConfirm: (PrintSettings) -> Unit ) { // ── État local (copie mutable des paramètres) ───────────────────────────── var pageSize by remember { mutableStateOf(initialSettings.pageSize) } @@ -61,7 +60,11 @@ fun PrintSettingsDialog( ) { Surface( modifier = Modifier - .fillMaxWidth(if(isAndroid) 0.9f else 0.55f), + .widthIn( + min = 450.dp, + max = 725.dp + ) + .fillMaxWidth(0.9f), shape = RoundedCornerShape(16.dp), tonalElevation = 8.dp, color = MaterialTheme.colorScheme.surface diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/Settings.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/Settings.kt index a70eae4..76bbf9b 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/Settings.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/ui/Settings.kt @@ -109,7 +109,11 @@ fun Settings( usePlatformDefaultWidth = false ), modifier = Modifier - .fillMaxWidth(if(isAndroid) 0.9f else 0.55f), + .widthIn( + min = 300.dp, + max = 600.dp + ) + .fillMaxWidth(0.9f), onDismissRequest = onDismissRequest, title = { Text(