Skip to content

Commit a40310b

Browse files
committed
feat: 프로필 수정 컴포넌트 추가
1 parent 479dd87 commit a40310b

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package com.flint.core.designsystem.component.image
2+
3+
import androidx.compose.foundation.background
4+
import androidx.compose.foundation.clickable
5+
import androidx.compose.foundation.layout.Box
6+
import androidx.compose.foundation.layout.fillMaxSize
7+
import androidx.compose.foundation.layout.padding
8+
import androidx.compose.foundation.layout.size
9+
import androidx.compose.foundation.shape.CircleShape
10+
import androidx.compose.material3.Icon
11+
import androidx.compose.runtime.Composable
12+
import androidx.compose.ui.Alignment
13+
import androidx.compose.ui.Modifier
14+
import androidx.compose.ui.graphics.Color
15+
import androidx.compose.ui.graphics.vector.ImageVector
16+
import androidx.compose.ui.res.vectorResource
17+
import androidx.compose.ui.tooling.preview.Preview
18+
import androidx.compose.ui.unit.dp
19+
import com.flint.R
20+
import com.flint.core.designsystem.theme.FlintTheme
21+
22+
@Composable
23+
fun EditProfileImage(
24+
imageUrl: String,
25+
onClickEdit: () -> Unit,
26+
modifier: Modifier = Modifier
27+
) {
28+
Box(
29+
modifier = modifier.size(128.dp)
30+
) {
31+
NetworkImage(
32+
imageUrl = imageUrl,
33+
shape = CircleShape,
34+
modifier = Modifier
35+
.fillMaxSize()
36+
.padding(4.dp)
37+
.align(Alignment.Center)
38+
)
39+
40+
Icon(
41+
imageVector = ImageVector.vectorResource(id = R.drawable.ic_profile_change),
42+
contentDescription = "camera",
43+
tint = Color.Unspecified,
44+
modifier =
45+
Modifier
46+
.align(Alignment.BottomEnd)
47+
.size(48.dp)
48+
.clickable { onClickEdit() },
49+
)
50+
}
51+
}
52+
53+
@Preview(showBackground = true)
54+
@Composable
55+
fun EditProfileImagePreview() {
56+
FlintTheme {
57+
Box(
58+
modifier = Modifier
59+
.background(FlintTheme.colors.background)
60+
) {
61+
EditProfileImage(
62+
imageUrl = "",
63+
onClickEdit = {}
64+
)
65+
}
66+
}
67+
}

0 commit comments

Comments
 (0)