Skip to content

Commit c6e30c9

Browse files
committed
update
1 parent db9336b commit c6e30c9

File tree

1 file changed

+21
-12
lines changed

1 file changed

+21
-12
lines changed

‎feature-main/src/main/java/com/hoc/flowmvi/ui/main/UserItemRow.kt

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ import androidx.compose.foundation.layout.fillMaxSize
1111
import androidx.compose.foundation.layout.fillMaxWidth
1212
import androidx.compose.foundation.layout.height
1313
import androidx.compose.foundation.layout.padding
14-
import androidx.compose.foundation.layout.requiredHeight
15-
import androidx.compose.foundation.layout.requiredWidth
14+
import androidx.compose.foundation.layout.requiredSize
1615
import androidx.compose.foundation.layout.size
1716
import androidx.compose.foundation.layout.width
1817
import androidx.compose.material.DismissDirection
@@ -38,6 +37,7 @@ import androidx.compose.ui.platform.LocalContext
3837
import androidx.compose.ui.res.stringResource
3938
import androidx.compose.ui.text.style.TextOverflow
4039
import androidx.compose.ui.tooling.preview.Preview
40+
import androidx.compose.ui.unit.Dp
4141
import androidx.compose.ui.unit.dp
4242
import androidx.compose.ui.unit.sp
4343
import arrow.core.getOrElse
@@ -50,7 +50,7 @@ import com.hoc.flowmvi.domain.model.LastName
5050
import com.hoc.flowmvi.domain.model.User
5151
import com.hoc.flowmvi.ui.theme.AppTheme
5252

53-
private object UserItemRowDefaults {
53+
internal object UserItemRowDefaults {
5454
val ImageSize = 72.dp
5555
val Padding = 8.dp
5656
val DismissBackgroundColor = Color.Red.copy(alpha = 0.75f)
@@ -62,6 +62,9 @@ internal fun UserItemRow(
6262
item: UserItem,
6363
onRemove: () -> Unit,
6464
modifier: Modifier = Modifier,
65+
imageSize: Dp = UserItemRowDefaults.ImageSize,
66+
padding: Dp = UserItemRowDefaults.Padding,
67+
dismissBackgroundColor: Color = UserItemRowDefaults.DismissBackgroundColor,
6568
) {
6669
val dismissState = rememberDismissState(
6770
confirmStateChange = { dismissValue ->
@@ -86,7 +89,7 @@ internal fun UserItemRow(
8689
Box(
8790
Modifier
8891
.fillMaxSize()
89-
.background(UserItemRowDefaults.DismissBackgroundColor)
92+
.background(dismissBackgroundColor)
9093
.padding(horizontal = 20.dp),
9194
contentAlignment = Alignment.CenterEnd
9295
) {
@@ -104,11 +107,14 @@ internal fun UserItemRow(
104107
Row(
105108
modifier = modifier
106109
.background(MaterialTheme.colorScheme.background)
107-
.padding(all = UserItemRowDefaults.Padding),
110+
.padding(all = padding),
108111
) {
109-
UserItemAvatar(item)
112+
UserItemAvatar(
113+
item = item,
114+
imageSize = imageSize,
115+
)
110116

111-
Spacer(modifier = Modifier.width(UserItemRowDefaults.Padding))
117+
Spacer(modifier = Modifier.width(padding))
112118

113119
Column(
114120
modifier = Modifier
@@ -124,7 +130,7 @@ internal fun UserItemRow(
124130
overflow = TextOverflow.Ellipsis,
125131
)
126132

127-
Spacer(modifier = Modifier.height(UserItemRowDefaults.Padding))
133+
Spacer(modifier = Modifier.height(padding))
128134

129135
Text(
130136
modifier = Modifier.fillMaxWidth(),
@@ -149,11 +155,14 @@ internal fun UserItemRow(
149155
}
150156

151157
@Composable
152-
private fun UserItemAvatar(item: UserItem) {
158+
private fun UserItemAvatar(
159+
item: UserItem,
160+
imageSize: Dp,
161+
modifier: Modifier = Modifier,
162+
) {
153163
SubcomposeAsyncImage(
154-
modifier = Modifier
155-
.requiredWidth(UserItemRowDefaults.ImageSize)
156-
.requiredHeight(UserItemRowDefaults.ImageSize),
164+
modifier = modifier
165+
.requiredSize(imageSize),
157166
model = ImageRequest.Builder(LocalContext.current)
158167
.data(item.avatar)
159168
.crossfade(true)

0 commit comments

Comments
 (0)