Skip to content
Merged
Copy link
Contributor

Choose a reason for hiding this comment

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

P1: CalendarInfoBox 보면 문자열이 끊기거나 안보이는 이슈가 있는 듯하여 modifier 어떻게 적용하면 되는지 해당 코드 일단 올려놓겠습니다

@Composable
fun CalendarInfoBox(data: ScheduleEntity) {
    Column(
        modifier = Modifier
            .fillMaxWidth()
            .border(0.5.dp, CrowdZeroTheme.colors.gray500, shape = RoundedCornerShape(15.dp))
            .clip(RoundedCornerShape(15.dp))
            .background(CrowdZeroTheme.colors.white)
            .padding(dimensionResource(R.dimen.default_padding))
    ) {
        Text(
            text = data.duration,
            style = CrowdZeroTheme.typography.c4SemiBold,
            color = CrowdZeroTheme.colors.green600
        )
        Row(
            modifier = Modifier
                .fillMaxWidth()
                .padding(vertical = 2.dp),
            verticalAlignment = Alignment.CenterVertically
        ) {
            Text(
                modifier = Modifier
                    .padding(end = 8.dp)
                    .weight(1f),
                text = data.location.replace("\n", " "), 
                style = CrowdZeroTheme.typography.h5Bold,
                color = CrowdZeroTheme.colors.gray900
            )
            Text(
                modifier = Modifier.wrapContentSize(),
                text = data.region.replace("", " "),
                style = CrowdZeroTheme.typography.c4SemiBold,
                color = CrowdZeroTheme.colors.gray600
            )
        }
        Row(
            modifier = Modifier.fillMaxWidth(),
            verticalAlignment = Alignment.CenterVertically
        ) {
            Text(
                modifier = Modifier.padding(end = 4.dp),
                text = stringResource(R.string.calendar_people_reporting_title),
                style = CrowdZeroTheme.typography.c3Regular,
                color = CrowdZeroTheme.colors.gray600
            )
            Text(
                modifier = Modifier.padding(end = 8.dp),
                text = stringResource(R.string.calendar_people_reporting, data.people),
                style = CrowdZeroTheme.typography.c3Regular,
                color = CrowdZeroTheme.colors.gray800
            )
            Text(
                modifier = Modifier.padding(end = 8.dp),
                text = stringResource(R.string.calendar_slash),
                style = CrowdZeroTheme.typography.c3Regular,
                color = CrowdZeroTheme.colors.gray600
            )
            Text(
                modifier = Modifier.padding(end = 4.dp),
                text = stringResource(R.string.calendar_jurisdiction),
                style = CrowdZeroTheme.typography.c3Regular,
                color = CrowdZeroTheme.colors.gray600
            )
            Text(
                text = data.jurisdiction.replace("\n", " "),
                style = CrowdZeroTheme.typography.c3Regular,
                color = CrowdZeroTheme.colors.gray800
            )
        }
    }
}
``

Copy link
Contributor

Choose a reason for hiding this comment

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

region이 옆으로 밀리는 현상을 해결하려면 modifier에 wrapContentSize()를 주고, "명동 동" 이렇게 오는 경우가 있어서 이럴 경우 "명동"으로만 보이게 replace 함수 추가해두었습니답

Copy link
Contributor Author

Choose a reason for hiding this comment

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

image
혹시 요거 말하는 건가?? '명동 동'이 아니라 '명동 등'인데 그래도 고쳐? (이동하는 집회라 '등'으로 표기해둔 듯)

Copy link
Contributor

Choose a reason for hiding this comment

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

아.... 노안 이슈.....에효효효

Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@ import com.gdg.core.designsystem.theme.CrowdZeroAndroidTheme
import com.gdg.core.designsystem.theme.CrowdZeroTheme
import com.gdg.core.extension.noRippleClickable
import com.gdg.core.util.getDaysForMonth
import okhttp3.internal.immutableListOf
import java.time.DayOfWeek
import java.time.LocalDate
import java.time.YearMonth
import java.time.format.TextStyle
import java.util.Locale

@Composable
fun CalendarComponent(
Expand All @@ -45,6 +47,7 @@ fun CalendarComponent(
onDateSelected: (LocalDate) -> Unit,
) {
val days = remember(currentMonth) { getDaysForMonth(currentMonth) }
val firstDayOfWeek = DayOfWeek.SUNDAY // 일요일을 주의 시작으로 변경

Column(
modifier = Modifier
Expand Down Expand Up @@ -93,7 +96,17 @@ fun CalendarComponent(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceAround
) {
immutableListOf("일", "월", "화", "수", "목", "금", "토").forEach { day ->
val weekDays = listOf(
Copy link
Contributor

@gaeulzzang gaeulzzang Feb 19, 2025

Choose a reason for hiding this comment

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

P1: 불변하지 않는 애들이기 때문에 immutableListOf로 수정 ㄱㄱ

DayOfWeek.SUNDAY,
DayOfWeek.MONDAY,
DayOfWeek.TUESDAY,
DayOfWeek.WEDNESDAY,
DayOfWeek.THURSDAY,
DayOfWeek.FRIDAY,
DayOfWeek.SATURDAY
)
weekDays.forEach { dayOfWeek ->
val day = dayOfWeek.getDisplayName(TextStyle.SHORT, Locale.KOREAN)
Text(
text = day,
style = CrowdZeroTheme.typography.c2Medium2,
Expand All @@ -106,11 +119,14 @@ fun CalendarComponent(
columns = GridCells.Fixed(7),
modifier = Modifier.fillMaxWidth()
) {
val emptyDays = (days.first().dayOfWeek.value % 7 - firstDayOfWeek.value + 7) % 7
items(emptyDays) {
Box(modifier = Modifier.aspectRatio(1f))
}
items(days) { date ->
val isSelected = date == selectedDate
Box(
modifier = Modifier
.weight(1f)
.aspectRatio(1f)
.padding(5.dp)
.background(
Expand Down Expand Up @@ -142,4 +158,4 @@ fun CalendarComponentPreview() {
onDateSelected = {}
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ fun CalendarInfoBox(data: ScheduleEntity) {
) {
Text(
modifier = Modifier.padding(end = 8.dp),
text = data.location,
text = data.location.chunked(45).joinToString("\n"), // 긴 문구 단어 단위로 줄바꿈
Copy link
Contributor

Choose a reason for hiding this comment

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

P1: 45자 단위로 제한할 경우 기기 크기에 따라 줄바꿈이 안예쁘게 이뤄지기 때문에 글자수를 기준으로 줄바꿈해서는 안됩니다. 줄바꿈을 공백으로 변경하는게 훨씬 깔끔해집니답. 그리고 해당 text modifier에 weight(1f) 적용해주세요

Suggested change
text = data.location.chunked(45).joinToString("\n"), // 긴 문구 단어 단위로 줄바꿈
text = data.location.replace("\n", " ")

style = CrowdZeroTheme.typography.h5Bold,
color = CrowdZeroTheme.colors.gray900
)
Expand Down