feat: move leading icon creation into the caller

This commit is contained in:
Aguragorn 2023-01-27 14:19:26 +08:00
parent 81d3c9450b
commit eada6ea992
2 changed files with 14 additions and 12 deletions

View File

@ -1,6 +1,7 @@
package com.jetpackduba.gitnuro.ui package com.jetpackduba.gitnuro.ui
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.material.Icon
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.OutlinedTextField import androidx.compose.material.OutlinedTextField
import androidx.compose.material.Text import androidx.compose.material.Text
@ -8,6 +9,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.jetpackduba.gitnuro.ui.components.AdjustableOutlinedTextField import com.jetpackduba.gitnuro.ui.components.AdjustableOutlinedTextField
import com.jetpackduba.gitnuro.ui.components.gitnuroViewModel import com.jetpackduba.gitnuro.ui.components.gitnuroViewModel
@ -30,13 +32,22 @@ fun BranchFilter(
onValueChange = { branchFilterViewModel.newBranchFilter(keyword = it) }, onValueChange = { branchFilterViewModel.newBranchFilter(keyword = it) },
hint = "Filter Branches", hint = "Filter Branches",
textStyle = MaterialTheme.typography.caption, textStyle = MaterialTheme.typography.caption,
leadingIconResourcePath = "branch_filter.svg",
maxLines = 1, maxLines = 1,
modifier = Modifier modifier = Modifier
.wrapContentHeight() .wrapContentHeight()
.fillMaxWidth() .fillMaxWidth()
.heightIn(min = 8.dp) .heightIn(min = 8.dp)
.defaultMinSize(minHeight = 8.dp), .defaultMinSize(minHeight = 8.dp),
leadingIcon = {
Icon(
painter = painterResource("branch_filter.svg"),
contentDescription = null,
modifier = Modifier
.padding(end = 8.dp)
.size(16.dp),
tint = MaterialTheme.typography.caption.color,
)
}
) )
} }

View File

@ -44,7 +44,7 @@ fun AdjustableOutlinedTextField(
shape: Shape = RoundedCornerShape(4.dp), shape: Shape = RoundedCornerShape(4.dp),
backgroundColor: Color = MaterialTheme.colors.background, backgroundColor: Color = MaterialTheme.colors.background,
visualTransformation: VisualTransformation = VisualTransformation.None, visualTransformation: VisualTransformation = VisualTransformation.None,
leadingIconResourcePath: String = "", leadingIcon: (@Composable () -> Unit)? = null,
) { ) {
val textColor = textStyle.color.takeOrElse { val textColor = textStyle.color.takeOrElse {
colors.textColor(enabled).value colors.textColor(enabled).value
@ -87,16 +87,7 @@ fun AdjustableOutlinedTextField(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.wrapContentHeight(), modifier = Modifier.wrapContentHeight(),
) { ) {
if (leadingIconResourcePath.isNotEmpty()) { leadingIcon?.invoke()
Icon(
painter = painterResource(leadingIconResourcePath),
contentDescription = null,
modifier = Modifier
.padding(end = 8.dp)
.size(16.dp),
tint = textColor,
)
}
Box( Box(
contentAlignment = Alignment.CenterStart, contentAlignment = Alignment.CenterStart,