1+ package com.kuit.ourmenu.ui.addmenu.component
2+
3+ import androidx.compose.foundation.layout.Arrangement
4+ import androidx.compose.foundation.layout.Column
5+ import androidx.compose.foundation.layout.PaddingValues
6+ import androidx.compose.foundation.layout.Row
7+ import androidx.compose.foundation.layout.Spacer
8+ import androidx.compose.foundation.layout.fillMaxWidth
9+ import androidx.compose.foundation.layout.size
10+ import androidx.compose.foundation.lazy.LazyRow
11+ import androidx.compose.foundation.lazy.itemsIndexed
12+ import androidx.compose.foundation.shape.RoundedCornerShape
13+ import androidx.compose.material3.Button
14+ import androidx.compose.material3.ButtonDefaults
15+ import androidx.compose.material3.Icon
16+ import androidx.compose.material3.Text
17+ import androidx.compose.runtime.Composable
18+ import androidx.compose.ui.Alignment
19+ import androidx.compose.ui.Modifier
20+ import androidx.compose.ui.graphics.Color
21+ import androidx.compose.ui.res.painterResource
22+ import androidx.compose.ui.tooling.preview.Preview
23+ import androidx.compose.ui.unit.dp
24+ import com.kuit.ourmenu.R
25+ import com.kuit.ourmenu.ui.addmenu.component.item.AddMenuAddedImageItem
26+ import com.kuit.ourmenu.ui.theme.Neutral300
27+ import com.kuit.ourmenu.ui.theme.Neutral500
28+ import com.kuit.ourmenu.ui.theme.ourMenuTypography
29+
30+ @Composable
31+ fun AddMenuAddImageComponent (
32+ modifier : Modifier = Modifier ,
33+ imgList : List <Int >,
34+ onDelete : (Int ) -> Unit
35+ ) {
36+ Row (
37+ modifier = modifier
38+ .fillMaxWidth()
39+ ) {
40+ Button (
41+ onClick = { /* TODO: 이미지 추가*/ },
42+ modifier = modifier.size(88 .dp, 72 .dp),
43+ shape = RoundedCornerShape (12 .dp),
44+ contentPadding = PaddingValues (0 .dp),
45+ colors = ButtonDefaults .buttonColors(
46+ containerColor = Neutral300
47+ )
48+ ) {
49+ Column (
50+ modifier = modifier.fillMaxWidth(),
51+ horizontalAlignment = Alignment .CenterHorizontally ,
52+ verticalArrangement = Arrangement .Center
53+ ) {
54+ Icon (
55+ painter = painterResource(R .drawable.ic_addmenu_add_photo),
56+ contentDescription = " add photo" ,
57+ tint = Color .Unspecified
58+ )
59+ Text (
60+ text = " ${imgList.size} /5" ,
61+ style = ourMenuTypography().pretendard_500_12,
62+ color = Neutral500
63+ )
64+ }
65+ }
66+ Spacer (modifier = modifier.size(8 .dp))
67+ LazyRow (modifier = modifier.fillMaxWidth()) {
68+ itemsIndexed(imgList) { index, item ->
69+ if (index == 0 ) {
70+ AddMenuAddedImageItem (img = item, isFirstItem = true ) {
71+ onDelete(index)
72+ }
73+ } else {
74+ AddMenuAddedImageItem (img = item, isFirstItem = false ) {
75+ onDelete(index)
76+ }
77+ }
78+ Spacer (modifier = modifier.size(8 .dp))
79+ }
80+ }
81+ }
82+ }
83+
84+ @Preview(showBackground = true )
85+ @Composable
86+ private fun AddMenuAddImageComponentPreview () {
87+ val imgList = listOf (
88+ R .drawable.img_dummy_pizza,
89+ R .drawable.img_dummy_pizza,
90+ R .drawable.img_dummy_pizza,
91+ R .drawable.img_dummy_pizza,
92+ )
93+ AddMenuAddImageComponent (imgList = imgList) {
94+ // onDelete
95+ }
96+ }
0 commit comments