Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2ae13f8
[feat/36] participant-overview implement
cmj7271 Jan 14, 2026
d5db1a7
[feat/#36] participant-detail implement
cmj7271 Jan 15, 2026
1ee7e91
[feat/#36] participant dropdown implement
cmj7271 Jan 15, 2026
9ff7b3c
[fix/#36] apply ktlint
cmj7271 Jan 15, 2026
e3327fb
[Refactor/#41] 필드 수정 (#42)
doyeon0307 Jan 15, 2026
0356e1c
[fix/#36] 코드리뷰 반영
cmj7271 Jan 15, 2026
6935dda
[fix/#36] apply ktlint
cmj7271 Jan 15, 2026
ad1f83f
[Feat/#35] 분철팟 상세 뷰 UI 구현 (#39)
jyvnee Jan 15, 2026
945f047
[feat/#32] card-history implement
cmj7271 Jan 15, 2026
c1aa6b5
[Feat/#27] 탐색 컴포넌트 구현 (#37)
sonyerim Jan 15, 2026
9729883
[Feat/#31] 등록 뷰 컴포넌트 (#40)
doyeon0307 Jan 15, 2026
55881f8
[fix/#36] 코드 리뷰 반영
cmj7271 Jan 16, 2026
685217c
[fix/#36] apply ktlint
cmj7271 Jan 16, 2026
6b78340
[feat/36] participant-overview implement
cmj7271 Jan 14, 2026
54c4809
[fix/#36] fix conflict
cmj7271 Jan 16, 2026
7307ccb
[feat/#36] participant dropdown implement
cmj7271 Jan 15, 2026
006fbff
[fix/#36] apply ktlint
cmj7271 Jan 15, 2026
22978ce
[fix/#36] resolve conflict
cmj7271 Jan 16, 2026
d9e1fa0
[fix/#36] apply ktlint
cmj7271 Jan 15, 2026
34cdfa1
[fix/#36] 코드 리뷰 반영
cmj7271 Jan 16, 2026
a2be37f
[fix/#36] apply ktlint
cmj7271 Jan 16, 2026
6a7f5af
[fix/#36] 코드 리뷰 반영
cmj7271 Jan 16, 2026
30c663a
[fix/#36] resolve conflict
cmj7271 Jan 16, 2026
43ae70f
[fix/#36] 코드리뷰 반영
cmj7271 Jan 16, 2026
8336056
[fix/#36] 코드 리뷰 반영
cmj7271 Jan 16, 2026
8554a06
[fix/#36] apply ktlint
cmj7271 Jan 16, 2026
67d85a9
[fix/#36] 코드리뷰 반영
cmj7271 Jan 16, 2026
f69eb54
[fix/#36] apply ktlint
cmj7271 Jan 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ data class DepositItem(

sealed interface DetailState {
val fields: List<Pair<FieldType, String>>
Copy link
Copy Markdown
Contributor

@jyvnee jyvnee Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: 가독성 측면에서 봤을 때 Pair 쓰기보다 data class 로 분리하고 label, price 등 이름을 명시하는게 좋을 것 같은데 어떻게 생각하시나요??

@get:StringRes
val buttonLabelId: Int?
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: StringRes 사용해주세용

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

스크린샷 2026-01-16 오후 3 35 50

이렇게 에러가 떠서... 아래처럼 적어야하는데 이대로 할까요?

@get:StringRes
    val buttonLabelId: Int?

val onButtonClick: (() -> Unit)?

Expand Down Expand Up @@ -122,6 +123,7 @@ fun HistoryParticipantDetail(
userName: String,
userImageUrl: String,
depositItems: List<DepositItem>,
totalPrice: Int,
detailState: DetailState,
modifier: Modifier = Modifier,
) {
Expand Down Expand Up @@ -155,7 +157,6 @@ fun HistoryParticipantDetail(
overflow = TextOverflow.Ellipsis,
modifier = Modifier
.weight(1f)
.padding(vertical = 2.dp),
)
}

Expand All @@ -173,7 +174,6 @@ fun HistoryParticipantDetail(
color = colors.black,
)
Column(
modifier = Modifier.fillMaxWidth(),
verticalArrangement = Arrangement.spacedBy(8.dp),
) {
depositItems.forEach { item ->
Expand Down Expand Up @@ -202,7 +202,7 @@ fun HistoryParticipantDetail(
)

Text(
text = priceText(depositItems.sumOf { it.price }),
text = priceText(totalPrice),
style = typography.body16sb,
color = colors.black,
)
Expand Down Expand Up @@ -296,6 +296,7 @@ private fun HistoryParticipantDetailPreview() {
contact = "010-1111-1111",
invoice = "우체국 37249720348093",
),
totalPrice = depositItems.sumOf { it.price },
modifier = Modifier.width(311.dp),
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.poti.android.presentation.history.component

import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.Crossfade
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
Expand All @@ -26,6 +27,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.poti.android.R
import com.poti.android.core.common.extension.noRippleClickable
import com.poti.android.core.common.util.screenWidthDp
import com.poti.android.core.designsystem.component.display.PotiItemOptionType
import com.poti.android.core.designsystem.theme.PotiTheme

Expand All @@ -34,6 +36,7 @@ fun HistoryParticipantDropdown(
userName: String,
userImageUrl: String,
depositItems: List<DepositItem>,
depositTotalPrice: Int,
detailState: DetailState,
stageType: ParticipantStateLabelStage,
statusType: ParticipantStateLabelStatus,
Expand All @@ -49,7 +52,8 @@ fun HistoryParticipantDropdown(
) {
Column(
modifier = Modifier
.padding(vertical = 20.dp, horizontal = 16.dp),
.padding(vertical = 20.dp,
horizontal = screenWidthDp(16.dp)),
) {
ParticipantDropdownHeader(
name = userName,
Expand All @@ -64,6 +68,7 @@ fun HistoryParticipantDropdown(
userImageUrl = userImageUrl,
depositItems = depositItems,
detailState = detailState,
totalPrice = depositTotalPrice,
modifier = Modifier.padding(top = 20.dp),
)
}
Expand Down Expand Up @@ -102,17 +107,22 @@ private fun ParticipantDropdownHeader(
modifier = Modifier.padding(vertical = 2.dp),
)
Spacer(modifier = Modifier.width(8.dp))
Icon(
painter = painterResource(
id = if (expanded) {
R.drawable.ic_arrow_up_lg
} else {
R.drawable.ic_arrow_down_lg
},
),
contentDescription = null,
tint = PotiTheme.colors.gray700,
)

Crossfade(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p3: 왕 굿

targetState = expanded
) { expand ->
Icon(
painter = painterResource(
id = if (expand) {
R.drawable.ic_arrow_up_lg
} else {
R.drawable.ic_arrow_down_lg
},
),
contentDescription = null,
tint = PotiTheme.colors.gray700,
)
}
}
}

Expand Down Expand Up @@ -153,6 +163,7 @@ fun HistoryParticipantDropdownPreview() {
userName = "어쩌구저쩌구".repeat(20),
userImageUrl = "",
depositItems = depositItems,
depositTotalPrice = depositItems.sumOf { it.price },
detailState = DetailState.AfterDelivery(
name = "어쩌구",
delivery = "(01234) 서울특별시 솝트구 다솝로 456",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.poti.android.core.common.util.screenHeightDp
import com.poti.android.core.common.util.screenWidthDp
import com.poti.android.core.designsystem.component.display.PotiItemOption
import com.poti.android.core.designsystem.component.display.PotiItemOptionSize
import com.poti.android.core.designsystem.component.display.PotiItemOptionType
Expand All @@ -23,21 +25,21 @@ import com.poti.android.core.designsystem.theme.PotiTheme.colors

@Composable
fun HistoryParticipantOverview(
modifier: Modifier = Modifier,
memberList: List<String>,
userName: String,
address: String,
phone: String,
memberList: String,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p3: String으로 바꿔준거 좋네염!!

userInfo: String,
deliveryMethod: String,
price: Int,
participantStageType: ParticipantStateLabelStage,
participantStatusType: ParticipantStateLabelStatus,
modifier: Modifier = Modifier,
) {
Column(
modifier = modifier
.fillMaxWidth()
.background(colors.white)
.padding(16.dp),
.padding(
horizontal = ( 16.dp),
vertical = screenHeightDp(16.dp)),
verticalArrangement = Arrangement.spacedBy(12.dp),
horizontalAlignment = Alignment.Start,
) {
Expand All @@ -46,7 +48,7 @@ fun HistoryParticipantOverview(
horizontalArrangement = Arrangement.SpaceBetween,
) {
Text(
text = memberList.joinToString(", "),
text = memberList,
style = PotiTheme.typography.body16m,
color = colors.black,
maxLines = 1,
Expand All @@ -63,10 +65,11 @@ fun HistoryParticipantOverview(
}

Text(
text = "$userName\n$address\n$phone",
text = userInfo,
style = PotiTheme.typography.body14m,
color = colors.gray800,
)

Row(horizontalArrangement = Arrangement.spacedBy(12.dp)) {
PotiItemOption(
optionType = PotiItemOptionType.DELIVERY,
Expand All @@ -89,12 +92,15 @@ private fun priceText(price: Int) = String.format("%,d원", price)
@Composable
private fun HistoryParticipantOverviewPreview() {
PotiTheme {
val members = listOf("멤버명", "멤버명", "멤버명", "멤버명", "멤버명", "멤버명", "멤버명")
val userName = "이포티"
val zipcode = "01234"
val address = "서울특별시 솝트구 다솝로 456"
val phone = "010-2345-2345"

HistoryParticipantOverview(
memberList =
listOf("멤버명", "멤버명", "멤버명", "멤버명", "멤버명", "멤버명", "멤버명"),
address = "(01234) 서울특별시 솝트구 다솝로 456",
userName = "이포티",
phone = "010-2345-2345",
memberList = members.joinToString(", "),
userInfo = "$userName\n($zipcode) $address\n$phone",
deliveryMethod = "준등기",
price = 12800,
participantStageType = ParticipantStateLabelStage.DEPOSIT,
Expand Down