fix: Improve WelcomeScreen overflow

Signed-off-by: Myzel394 <50424412+Myzel394@users.noreply.github.com>
This commit is contained in:
Myzel394 2024-03-22 08:59:58 +01:00
parent 97acb6d977
commit dac133e6b3
No known key found for this signature in database
GPG Key ID: DEC4AAB876F73185
4 changed files with 28 additions and 22 deletions

View File

@ -3,13 +3,13 @@ package app.myzel394.alibi.ui.components.WelcomeScreen.atoms
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Folder import androidx.compose.material.icons.filled.Folder
import androidx.compose.material.icons.filled.Lock import androidx.compose.material.icons.filled.Lock
@ -34,6 +34,7 @@ import app.myzel394.alibi.ui.RECORDER_MEDIA_SELECTED_VALUE
import app.myzel394.alibi.ui.SUPPORTS_SAVING_VIDEOS_IN_CUSTOM_FOLDERS import app.myzel394.alibi.ui.SUPPORTS_SAVING_VIDEOS_IN_CUSTOM_FOLDERS
import app.myzel394.alibi.ui.components.atoms.MessageBox import app.myzel394.alibi.ui.components.atoms.MessageBox
import app.myzel394.alibi.ui.components.atoms.MessageType import app.myzel394.alibi.ui.components.atoms.MessageType
import app.myzel394.alibi.ui.components.atoms.VisualDensity
const val CUSTOM_FOLDER = "custom" const val CUSTOM_FOLDER = "custom"
@ -65,7 +66,6 @@ fun SaveFolderSelection(
Column( Column(
verticalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp),
modifier = Modifier.verticalScroll(rememberScrollState()),
) { ) {
Column( Column(
modifier = Modifier modifier = Modifier
@ -134,7 +134,7 @@ fun SaveFolderSelection(
Text(label) Text(label)
} }
Icon( Icon(
Icons.Default.Lock, Icons.Default.PermMedia,
contentDescription = null, contentDescription = null,
modifier = Modifier modifier = Modifier
.size(ButtonDefaults.IconSize) .size(ButtonDefaults.IconSize)
@ -170,7 +170,7 @@ fun SaveFolderSelection(
Text(label) Text(label)
} }
Icon( Icon(
Icons.Default.Lock, Icons.Default.Folder,
contentDescription = null, contentDescription = null,
modifier = Modifier modifier = Modifier
.size(ButtonDefaults.IconSize) .size(ButtonDefaults.IconSize)
@ -201,5 +201,15 @@ fun SaveFolderSelection(
type = MessageType.ERROR, type = MessageType.ERROR,
message = stringResource(R.string.ui_welcome_saveFolder_externalRequired) message = stringResource(R.string.ui_welcome_saveFolder_externalRequired)
) )
else
Box(
modifier = Modifier.widthIn(max = 400.dp)
) {
MessageBox(
type = MessageType.INFO,
message = stringResource(R.string.ui_welcome_timeSettings_changeableHint),
density = VisualDensity.DENSE,
)
}
} }
} }

View File

@ -13,6 +13,8 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.InsertDriveFile import androidx.compose.material.icons.automirrored.filled.InsertDriveFile
import androidx.compose.material.icons.filled.ChevronLeft import androidx.compose.material.icons.filled.ChevronLeft
@ -44,10 +46,7 @@ import app.myzel394.alibi.ui.BIG_PRIMARY_BUTTON_SIZE
import app.myzel394.alibi.ui.RECORDER_MEDIA_SELECTED_VALUE import app.myzel394.alibi.ui.RECORDER_MEDIA_SELECTED_VALUE
import app.myzel394.alibi.ui.SUPPORTS_SCOPED_STORAGE import app.myzel394.alibi.ui.SUPPORTS_SCOPED_STORAGE
import app.myzel394.alibi.ui.components.WelcomeScreen.atoms.SaveFolderSelection import app.myzel394.alibi.ui.components.WelcomeScreen.atoms.SaveFolderSelection
import app.myzel394.alibi.ui.components.atoms.MessageBox
import app.myzel394.alibi.ui.components.atoms.MessageType
import app.myzel394.alibi.ui.components.atoms.PermissionRequester import app.myzel394.alibi.ui.components.atoms.PermissionRequester
import app.myzel394.alibi.ui.components.atoms.VisualDensity
import app.myzel394.alibi.ui.utils.rememberFolderSelectorDialog import app.myzel394.alibi.ui.utils.rememberFolderSelectorDialog
@Composable @Composable
@ -79,7 +78,8 @@ fun SaveFolderPage(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize(), .fillMaxSize()
.verticalScroll(rememberScrollState()),
verticalArrangement = Arrangement.SpaceBetween, verticalArrangement = Arrangement.SpaceBetween,
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,
) { ) {
@ -106,7 +106,7 @@ fun SaveFolderPage(
stringResource(R.string.ui_welcome_saveFolder_message), stringResource(R.string.ui_welcome_saveFolder_message),
) )
} }
Spacer(modifier = Modifier.weight(2f)) Spacer(modifier = Modifier.weight(1f))
Box( Box(
modifier = Modifier.widthIn(max = 400.dp) modifier = Modifier.widthIn(max = 400.dp)
) { ) {
@ -118,16 +118,6 @@ fun SaveFolderPage(
) )
} }
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
Box(
modifier = Modifier.widthIn(max = 400.dp)
) {
MessageBox(
type = MessageType.INFO,
message = stringResource(R.string.ui_welcome_timeSettings_changeableHint),
density = VisualDensity.DENSE,
)
}
Spacer(modifier = Modifier.weight(2f))
Row( Row(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier modifier = Modifier

View File

@ -11,6 +11,8 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.AccessTime import androidx.compose.material.icons.filled.AccessTime
import androidx.compose.material.icons.filled.ChevronRight import androidx.compose.material.icons.filled.ChevronRight
@ -36,7 +38,9 @@ fun TimeSettingsPage(
onContinue: () -> Unit, onContinue: () -> Unit,
) { ) {
Column( Column(
modifier = Modifier.fillMaxSize(), modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState()),
verticalArrangement = Arrangement.SpaceBetween, verticalArrangement = Arrangement.SpaceBetween,
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,
) { ) {

View File

@ -44,11 +44,13 @@ fun WelcomeScreen(
} }
} }
Scaffold() { padding -> Scaffold(
) { padding ->
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(padding), .padding(padding),
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,
) { ) {
HorizontalPager(state = pagerState) { position -> HorizontalPager(state = pagerState) { position ->