diff --git a/app/src/main/java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt index 175b3192a..c49840664 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt @@ -9,12 +9,15 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.asPaddingValues import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Button @@ -55,10 +58,7 @@ fun SelectSiteScreen() { } Column( - Modifier - .padding(horizontal = dimensionResource(R.dimen.keyline_margin)) - .padding(top = dimensionResource(R.dimen.keyline_margin)) - .fillMaxSize(), + modifier = Modifier.padding(WindowInsets.systemBars.asPaddingValues()).padding(horizontal = dimensionResource(R.dimen.keyline_margin)).padding(top = dimensionResource(R.dimen.keyline_margin)).fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, ) { Text( @@ -70,20 +70,14 @@ fun SelectSiteScreen() { // TODO: Replace this dummy impl with official one when available // See https://m3.material.io/components/segmented-buttons/overview Row( - modifier = Modifier - .height(IntrinsicSize.Min) - .border( - 1.dp, - MaterialTheme.colorScheme.outline, - RoundedCornerShape(90f, 90f, 90f, 90f), - ) - .clip(RoundedCornerShape(90f, 90f, 90f, 90f)), + modifier = Modifier.height(IntrinsicSize.Min).border( + 1.dp, + MaterialTheme.colorScheme.outline, + RoundedCornerShape(90f, 90f, 90f, 90f), + ).clip(RoundedCornerShape(90f, 90f, 90f, 90f)), ) { Box( - modifier = Modifier - .background(if (!siteEx) MaterialTheme.colorScheme.secondaryContainer else MaterialTheme.colorScheme.surface) - .clickable { siteEx = false } - .size(100.dp, 40.dp), + modifier = Modifier.background(if (!siteEx) MaterialTheme.colorScheme.secondaryContainer else MaterialTheme.colorScheme.surface).clickable { siteEx = false }.size(100.dp, 40.dp), contentAlignment = Alignment.Center, ) { Text( @@ -91,19 +85,12 @@ fun SelectSiteScreen() { style = MaterialTheme.typography.labelLarge, ) } - Divider( color = MaterialTheme.colorScheme.outline, - modifier = Modifier - .fillMaxHeight() - .width(1.dp), + modifier = Modifier.fillMaxHeight().width(1.dp), ) - Box( - modifier = Modifier - .background(if (siteEx) MaterialTheme.colorScheme.secondaryContainer else MaterialTheme.colorScheme.surface) - .clickable { siteEx = true } - .size(100.dp, 40.dp), + modifier = Modifier.background(if (siteEx) MaterialTheme.colorScheme.secondaryContainer else MaterialTheme.colorScheme.surface).clickable { siteEx = true }.size(100.dp, 40.dp), contentAlignment = Alignment.Center, ) { Text( @@ -118,32 +105,29 @@ fun SelectSiteScreen() { text = stringResource(id = R.string.select_scene_explain), modifier = Modifier.padding(top = 16.dp), ) - Spacer(modifier = Modifier.weight(1f)) - Box( - modifier = Modifier - .padding(horizontal = 12.dp) - .padding(top = 4.dp, bottom = 20.dp) - .fillMaxWidth(), - ) { - Button(onClick = { - Settings.selectSite = false - Settings.needSignIn = false - coroutineScope.launchNonCancellable { - runCatching { - if (!siteEx) { - Settings.gallerySite = EhUrl.SITE_E - EhEngine.getUConfig() - } else { - // Get cookies for image limits - EhEngine.getUConfig(EhUrl.URL_UCONFIG_E) + Box(modifier = Modifier.padding(horizontal = 12.dp).padding(top = 4.dp, bottom = 20.dp).fillMaxWidth()) { + Button( + onClick = { + Settings.selectSite = false + Settings.needSignIn = false + coroutineScope.launchNonCancellable { + runCatching { + if (!siteEx) { + Settings.gallerySite = EhUrl.SITE_E + EhEngine.getUConfig() + } else { + // Get cookies for image limits + EhEngine.getUConfig(EhUrl.URL_UCONFIG_E) + } + }.onFailure { + it.printStackTrace() } - }.onFailure { - it.printStackTrace() } - } - activity.finish() - }, Modifier.fillMaxWidth()) { + activity.finish() + }, + modifier = Modifier.fillMaxWidth(), + ) { Text(text = stringResource(id = android.R.string.ok)) } }