1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-2076 Settings | Fix | Main-settings screen might not be scrollable on very small devices (#721)

This commit is contained in:
Evgenii Kozlov 2023-12-19 22:26:16 +01:00 committed by GitHub
parent 3f13e93d15
commit c36a90b2e6
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 88 additions and 49 deletions

View file

@ -164,6 +164,6 @@ class ProfileSettingsFragment : BaseBottomSheetComposeFragment() {
}
}
private const val PADDING_TOP = 54
private const val PADDING_TOP = 28
private const val SELECT_IMAGE_CODE = 1

View file

@ -9,11 +9,12 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
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.lazy.LazyColumn
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.KeyboardActions
@ -32,8 +33,10 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.platform.rememberNestedScrollInteropConnection
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
@ -72,52 +75,86 @@ fun ProfileSettingsScreen(
onDataManagementClicked: () -> Unit,
onAboutClicked: () -> Unit
) {
Column(modifier = Modifier.fillMaxHeight()) {
Header(
modifier = Modifier.align(Alignment.CenterHorizontally),
account = account,
onNameSet = onNameChange,
onProfileIconClick = onProfileIconClick
)
Spacer(
modifier = Modifier
.height(10.dp)
.padding(top = 4.dp)
)
Divider()
Section(stringResource(R.string.settings))
Option(
image = R.drawable.ic_appearance,
text = stringResource(R.string.appearance),
onClick = onAppearanceClicked
)
Divider(paddingStart = 60.dp)
Option(
image = R.drawable.ic_file_storage,
text = stringResource(R.string.data_management),
onClick = onDataManagementClicked
)
Divider(paddingStart = 60.dp)
Option(
image = R.drawable.ic_about,
text = stringResource(R.string.about),
onClick = onAboutClicked
)
Divider(paddingStart = 60.dp)
Section(stringResource(R.string.access))
Option(
image = R.drawable.ic_keychain_phrase,
text = stringResource(R.string.recovery_phrase),
onClick = onKeychainPhraseClicked
)
Divider(paddingStart = 60.dp)
ActionWithProgressBar(
name = stringResource(R.string.log_out),
color = colorResource(R.color.palette_dark_red),
onClick = onLogoutClicked,
isInProgress = isLogoutInProgress
)
Box(Modifier.height(54.dp))
LazyColumn(
modifier = Modifier
.nestedScroll(rememberNestedScrollInteropConnection())
.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally
) {
item {
Header(
account = account,
onNameSet = onNameChange,
onProfileIconClick = onProfileIconClick
)
}
item {
Spacer(
modifier = Modifier
.height(10.dp)
.padding(top = 4.dp)
)
}
item {
Divider()
}
item {
Section(stringResource(R.string.settings))
}
item {
Option(
image = R.drawable.ic_appearance,
text = stringResource(R.string.appearance),
onClick = onAppearanceClicked
)
}
item {
Divider(paddingStart = 60.dp)
}
item {
Option(
image = R.drawable.ic_file_storage,
text = stringResource(R.string.data_management),
onClick = onDataManagementClicked
)
}
item {
Divider(paddingStart = 60.dp)
}
item {
Option(
image = R.drawable.ic_about,
text = stringResource(R.string.about),
onClick = onAboutClicked
)
}
item {
Divider(paddingStart = 60.dp)
}
item {
Section(stringResource(R.string.access))
}
item {
Option(
image = R.drawable.ic_keychain_phrase,
text = stringResource(R.string.recovery_phrase),
onClick = onKeychainPhraseClicked
)
}
item {
Divider(paddingStart = 60.dp)
}
item {
ActionWithProgressBar(
name = stringResource(R.string.log_out),
color = colorResource(R.color.palette_dark_red),
onClick = onLogoutClicked,
isInProgress = isLogoutInProgress
)
}
item {
Box(Modifier.height(54.dp))
}
}
}
@ -300,7 +337,9 @@ fun ProfileNameBlock(
onValueChange = {
nameValue.value = it
},
modifier = Modifier.fillMaxWidth().padding(top = 4.dp, end = 20.dp),
modifier = Modifier
.fillMaxWidth()
.padding(top = 4.dp, end = 20.dp),
enabled = true,
textStyle = TextStyle(
fontSize = 22.sp,