Skip to content

Commit c2f5d7f

Browse files
committed
[NDGL-118] design: 일정이 없을 때 화면 추가
1 parent 783b829 commit c2f5d7f

8 files changed

Lines changed: 28 additions & 11 deletions

File tree

core/ui/src/main/res/drawable/ic_140_no_schedule_calendar.xml renamed to core/ui/src/main/res/drawable/img_no_schedule_calendar.xml

File renamed without changes.
File renamed without changes.

core/ui/src/main/res/values/strings.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,12 @@
6262
<string name="start_time_setting">여행 시작 시간 설정</string>
6363
<string name="edit_travel">편집하기</string>
6464
<string name="edit_done">편집 완료</string>
65-
<string name="add_schedule">일정 추가하기</string>
65+
<string name="add_schedule_button_text">일정 추가하기</string>
6666
<string name="select_all">전체 선택</string>
6767
<string name="delete_selected">선택 삭제</string>
68-
<string name="no_schedule_message">아직 %d일차 일정이 없어요</string>
68+
<string name="no_schedule_message">일정이 없어요</string>
69+
<string name="no_schedule_message_detail">아직 %d일차 일정이 없어요</string>
70+
<string name="add_schedule_button_text_no_schedule">%d일차 첫 일정 추가하기</string>
6971

7072
<!-- Dialog - Cancel Edit -->
7173
<string name="cancel_edit_dialog_title">편집 중단</string>

feature/travel/src/main/java/com/yapp/ndgl/feature/travel/additinerary/component/AddItineraryButton.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ internal fun AddItineraryButton(
3030
type = NDGLCTAButtonAttr.Type.PRIMARY,
3131
size = NDGLCTAButtonAttr.Size.LARGE,
3232
status = if (enabled) NDGLCTAButtonAttr.Status.ACTIVE else NDGLCTAButtonAttr.Status.DISABLED,
33-
label = stringResource(R.string.add_schedule),
33+
label = stringResource(R.string.add_schedule_button_text),
3434
onClick = { if (enabled) clickAddItinerary() },
3535
)
3636
}

feature/travel/src/main/java/com/yapp/ndgl/feature/travel/additinerary/component/SearchComponents.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ internal fun SearchEmptyContent() {
3939
verticalArrangement = Arrangement.spacedBy(16.dp),
4040
) {
4141
Icon(
42-
imageVector = ImageVector.vectorResource(R.drawable.ic_140_serach),
42+
imageVector = ImageVector.vectorResource(R.drawable.img_search),
4343
contentDescription = null,
4444
tint = Color.Unspecified,
4545
modifier = Modifier.size(140.dp),
@@ -59,7 +59,7 @@ internal fun NoSearchResultContent() {
5959
horizontalAlignment = Alignment.CenterHorizontally,
6060
) {
6161
Icon(
62-
imageVector = ImageVector.vectorResource(R.drawable.ic_140_serach),
62+
imageVector = ImageVector.vectorResource(R.drawable.img_search),
6363
contentDescription = null,
6464
tint = Color.Unspecified,
6565
modifier = Modifier.size(140.dp),

feature/travel/src/main/java/com/yapp/ndgl/feature/travel/addplace/AddPlaceScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ private fun AddPlaceScreen(
110110
type = NDGLCTAButtonAttr.Type.PRIMARY,
111111
size = NDGLCTAButtonAttr.Size.LARGE,
112112
status = NDGLCTAButtonAttr.Status.ACTIVE,
113-
label = stringResource(R.string.add_schedule),
113+
label = stringResource(R.string.add_schedule_button_text),
114114
onClick = clickAddItinerary,
115115
)
116116
}

feature/travel/src/main/java/com/yapp/ndgl/feature/travel/traveldetail/TravelDetailContract.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ data class TravelDetailState(
4444
val currentPlaces: List<TravelPlace>
4545
get() = currentItinerary?.places.orEmpty()
4646

47+
val isEmptyItinerary: Boolean
48+
get() = currentItinerary?.places.isNullOrEmpty()
49+
4750
val representativeLatLng: LatLng
4851
get() {
4952
val currentDayPlaces = itineraries.getOrNull(selectedDay - 1)?.places

feature/travel/src/main/java/com/yapp/ndgl/feature/travel/traveldetail/TravelDetailScreen.kt

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import androidx.compose.material3.Text
3030
import androidx.compose.runtime.Composable
3131
import androidx.compose.runtime.derivedStateOf
3232
import androidx.compose.runtime.getValue
33-
import androidx.compose.runtime.key
3433
import androidx.compose.runtime.mutableStateOf
3534
import androidx.compose.runtime.remember
3635
import androidx.compose.runtime.rememberCoroutineScope
@@ -390,15 +389,21 @@ private fun TravelDetailScreen(
390389
) {
391390
Spacer(Modifier.height(80.dp))
392391
Icon(
393-
imageVector = ImageVector.vectorResource(R.drawable.ic_140_no_schedule_calendar),
392+
imageVector = ImageVector.vectorResource(R.drawable.img_empty_suitcase),
394393
contentDescription = null,
395394
tint = Color.Unspecified,
396395
)
397396
Spacer(Modifier.height(16.dp))
398397
Text(
399-
text = stringResource(R.string.no_schedule_message, state.selectedDay),
398+
text = stringResource(R.string.no_schedule_message),
399+
color = NDGLTheme.colors.black500,
400+
style = NDGLTheme.typography.subtitleMdSemiBold,
401+
)
402+
Spacer(Modifier.height(4.dp))
403+
Text(
404+
text = stringResource(R.string.no_schedule_message_detail, state.selectedDay),
400405
color = NDGLTheme.colors.black400,
401-
style = NDGLTheme.typography.bodyLgMedium,
406+
style = NDGLTheme.typography.bodyLgRegular,
402407
)
403408
}
404409
}
@@ -524,7 +529,14 @@ private fun TravelDetailScreen(
524529
type = NDGLCTAButtonAttr.Type.PRIMARY,
525530
size = NDGLCTAButtonAttr.Size.LARGE,
526531
status = NDGLCTAButtonAttr.Status.ACTIVE,
527-
label = stringResource(R.string.add_schedule),
532+
label = if (state.isEmptyItinerary) {
533+
stringResource(
534+
R.string.add_schedule_button_text_no_schedule,
535+
state.selectedDay,
536+
)
537+
} else {
538+
stringResource(R.string.add_schedule_button_text)
539+
},
528540
onClick = clickAddScheduleButton,
529541
)
530542
}

0 commit comments

Comments
 (0)