From 48bddfc181e3ab479dcadd74bb4b16d4a72c6145 Mon Sep 17 00:00:00 2001 From: Rafael Caetano Date: Mon, 2 Dec 2024 23:30:53 +0000 Subject: [PATCH] Set max width for RA login dialog --- .../ui/RetroAchievementsLoginDialog.kt | 37 +++++++++++-------- .../romdetails/ui/RomRetroAchievementsUi.kt | 3 +- gradle/libs.versions.toml | 2 +- .../dto/mapper/AchievementDtoMapper.kt | 1 - 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/me/magnum/melonds/ui/romdetails/ui/RetroAchievementsLoginDialog.kt b/app/src/main/java/me/magnum/melonds/ui/romdetails/ui/RetroAchievementsLoginDialog.kt index 6d6a2fed..51902b1a 100644 --- a/app/src/main/java/me/magnum/melonds/ui/romdetails/ui/RetroAchievementsLoginDialog.kt +++ b/app/src/main/java/me/magnum/melonds/ui/romdetails/ui/RetroAchievementsLoginDialog.kt @@ -3,6 +3,7 @@ package me.magnum.melonds.ui.romdetails.ui import androidx.compose.foundation.layout.* import androidx.compose.material.* import androidx.compose.runtime.* +import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Alignment import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier @@ -13,6 +14,7 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog +import androidx.compose.ui.window.DialogProperties import me.magnum.melonds.R import me.magnum.melonds.ui.common.autofill import me.magnum.melonds.ui.common.melonOutlinedTextFieldColors @@ -24,22 +26,23 @@ fun RetroAchievementsLoginDialog( onDismiss: () -> Unit, onLogin: (username: String, password: String) -> Unit, ) { - var username by remember { + var username by rememberSaveable { mutableStateOf("") } var password by remember { mutableStateOf("") } - Dialog(onDismissRequest = onDismiss) { - Card( - modifier = Modifier.fillMaxWidth() - ) { - Column(Modifier.fillMaxWidth()) { + Dialog( + onDismissRequest = onDismiss, + properties = DialogProperties(usePlatformDefaultWidth = false), + ) { + Card(Modifier.widthIn(max = 450.dp).fillMaxWidth(0.85f)) { + Column { Box( modifier = Modifier .heightIn(min = 64.dp) - .padding(start = 24.dp, end = 24.dp), + .padding(horizontal = 24.dp), contentAlignment = Alignment.CenterStart, ) { Text( @@ -57,10 +60,12 @@ fun RetroAchievementsLoginDialog( verticalArrangement = Arrangement.spacedBy(4.dp), ) { OutlinedTextField( - modifier = Modifier.autofill( - autofillTypes = listOf(AutofillType.Username), - onFill = { username = it }, - ), + modifier = Modifier + .fillMaxWidth() + .autofill( + autofillTypes = listOf(AutofillType.Username), + onFill = { username = it }, + ), value = username, onValueChange = { username = it }, colors = melonOutlinedTextFieldColors(), @@ -70,10 +75,12 @@ fun RetroAchievementsLoginDialog( ) OutlinedTextField( - modifier = Modifier.autofill( - autofillTypes = listOf(AutofillType.Password), - onFill = { password = it }, - ), + modifier = Modifier + .fillMaxWidth() + .autofill( + autofillTypes = listOf(AutofillType.Password), + onFill = { password = it }, + ), value = password, onValueChange = { password = it }, visualTransformation = PasswordVisualTransformation(), diff --git a/app/src/main/java/me/magnum/melonds/ui/romdetails/ui/RomRetroAchievementsUi.kt b/app/src/main/java/me/magnum/melonds/ui/romdetails/ui/RomRetroAchievementsUi.kt index 26053e9f..07e1e1cf 100644 --- a/app/src/main/java/me/magnum/melonds/ui/romdetails/ui/RomRetroAchievementsUi.kt +++ b/app/src/main/java/me/magnum/melonds/ui/romdetails/ui/RomRetroAchievementsUi.kt @@ -9,6 +9,7 @@ import androidx.compose.foundation.text.InlineTextContent import androidx.compose.foundation.text.appendInlineContent import androidx.compose.material.* import androidx.compose.runtime.* +import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -66,7 +67,7 @@ private fun LoggedOut( modifier: Modifier, onLogin: (username: String, password: String) -> Unit, ) { - var showLoginPopup by remember { + var showLoginPopup by rememberSaveable { mutableStateOf(false) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9da7acd2..c9f9bd25 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ commonsCompress = "1.21" composeBom = "2024.11.00" constraintLayout = "2.2.0" core = "1.13.1" -desugaring = "1.1.8" +desugaring = "2.1.3" documentFile = "1.0.1" flexbox = "3.0.0" fragment = "1.8.5" diff --git a/rcheevos-api/src/main/java/me/magnum/rcheevosapi/dto/mapper/AchievementDtoMapper.kt b/rcheevos-api/src/main/java/me/magnum/rcheevosapi/dto/mapper/AchievementDtoMapper.kt index 87830ff1..5c7af714 100644 --- a/rcheevos-api/src/main/java/me/magnum/rcheevosapi/dto/mapper/AchievementDtoMapper.kt +++ b/rcheevos-api/src/main/java/me/magnum/rcheevosapi/dto/mapper/AchievementDtoMapper.kt @@ -4,7 +4,6 @@ import me.magnum.rcheevosapi.dto.AchievementDto import me.magnum.rcheevosapi.model.RAAchievement import me.magnum.rcheevosapi.model.RAGameId import java.net.URI -import java.net.URL internal fun AchievementDto.mapToModel(gameId: RAGameId): RAAchievement { return RAAchievement(