Restored directory picker button in clone dialog

This commit is contained in:
Abdelilah El Aissaoui 2023-04-30 15:59:02 +02:00
parent 2e825be44b
commit c24658952e
No known key found for this signature in database
GPG Key ID: 7587FC860F594869
2 changed files with 43 additions and 32 deletions

View File

@ -185,7 +185,10 @@ fun AdjustableOutlinedTextField(
color = indicatorColor, color = indicatorColor,
shape = shape shape = shape
) )
.padding(horizontal = 12.dp), .padding(
start = 12.dp,
end = if (trailingIcon == null) 12.dp else 4.dp
),
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
if (leadingIcon != null) { if (leadingIcon != null) {

View File

@ -19,10 +19,14 @@ import androidx.compose.ui.focus.focusProperties
import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.TextRange
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.jetpackduba.gitnuro.AppIcons
import com.jetpackduba.gitnuro.extensions.handMouseClickable import com.jetpackduba.gitnuro.extensions.handMouseClickable
import com.jetpackduba.gitnuro.extensions.handOnHover
import com.jetpackduba.gitnuro.git.CloneState import com.jetpackduba.gitnuro.git.CloneState
import com.jetpackduba.gitnuro.theme.outlinedTextFieldColors import com.jetpackduba.gitnuro.theme.outlinedTextFieldColors
@ -97,10 +101,11 @@ private fun CloneDialogView(
) { ) {
Text( Text(
"Clone a new repository", "Clone a new repository",
style = MaterialTheme.typography.h3, style = MaterialTheme.typography.h4,
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.padding(vertical = 4.dp) .padding(vertical = 4.dp),
fontWeight = FontWeight.SemiBold,
) )
TextInput( TextInput(
@ -122,9 +127,8 @@ private fun CloneDialogView(
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth(), .fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.Bottom,
) { ) {
TextInput( TextInput(
modifier = Modifier.padding(top = 16.dp), modifier = Modifier.padding(top = 16.dp),
title = "Directory", title = "Directory",
@ -139,8 +143,7 @@ private fun CloneDialogView(
cloneViewModel.onDirectoryPathChanged(directory) cloneViewModel.onDirectoryPathChanged(directory)
cloneViewModel.resetStateIfError() cloneViewModel.resetStateIfError()
}, },
) trailingIcon = {
IconButton( IconButton(
onClick = { onClick = {
cloneViewModel.resetStateIfError() cloneViewModel.resetStateIfError()
@ -149,6 +152,7 @@ private fun CloneDialogView(
directory = TextFieldValue(newDirectory, selection = TextRange(newDirectory.count())) directory = TextFieldValue(newDirectory, selection = TextRange(newDirectory.count()))
cloneViewModel.onDirectoryPathChanged(directory) cloneViewModel.onDirectoryPathChanged(directory)
cloneViewModel.resetStateIfError() cloneViewModel.resetStateIfError()
directoryFocusRequester.requestFocus()
} }
}, },
modifier = Modifier modifier = Modifier
@ -157,18 +161,20 @@ private fun CloneDialogView(
previous = directoryFocusRequester previous = directoryFocusRequester
next = cloneButtonFocusRequester next = cloneButtonFocusRequester
} }
.padding(start = 8.dp) .handOnHover()
.clip(RoundedCornerShape(4.dp)) .size(40.dp),
.background(MaterialTheme.colors.primary)
.height(40.dp),
) { ) {
Icon( Icon(
Icons.Default.Search, painterResource(AppIcons.SEARCH),
contentDescription = null, contentDescription = "Search",
tint = MaterialTheme.colors.onPrimary, tint = MaterialTheme.colors.onBackground,
) )
} }
} }
)
}
Row( Row(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
@ -341,6 +347,7 @@ private fun TextInput(
focusProperties: FocusProperties.() -> Unit, focusProperties: FocusProperties.() -> Unit,
onValueChange: (TextFieldValue) -> Unit, onValueChange: (TextFieldValue) -> Unit,
textFieldShape: Shape = RoundedCornerShape(4.dp), textFieldShape: Shape = RoundedCornerShape(4.dp),
trailingIcon: @Composable (() -> Unit)? = null,
) { ) {
Column( Column(
modifier = modifier, modifier = modifier,
@ -362,6 +369,7 @@ private fun TextInput(
colors = outlinedTextFieldColors(), colors = outlinedTextFieldColors(),
singleLine = true, singleLine = true,
shape = textFieldShape, shape = textFieldShape,
trailingIcon = trailingIcon,
) )
} }
} }