Skip to content

Commit f82420f

Browse files
committed
[BOOK-206] feat: 감상평 가이드 UX 정책 수정
1 parent 6d5cbce commit f82420f

File tree

3 files changed

+19
-12
lines changed

3 files changed

+19
-12
lines changed

feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/component/ImpressionGuideBottomSheet.kt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ fun ImpressionGuideBottomSheet(
4545
onCloseButtonClick: () -> Unit,
4646
onSelectionConfirmButtonClick: () -> Unit,
4747
) {
48-
val isImpressionEmpty = impressionState.text.isEmpty()
49-
50-
val description = if (isImpressionEmpty) R.string.impression_guide_description else R.string.impression_guide_warning
51-
val descriptionColor = if (isImpressionEmpty) ReedTheme.colors.contentSecondary else ReedTheme.colors.contentError
52-
5348
ReedBottomSheet(
5449
onDismissRequest = {
5550
onDismissRequest()
@@ -85,9 +80,9 @@ fun ImpressionGuideBottomSheet(
8580
}
8681
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing1))
8782
Text(
88-
text = stringResource(description),
83+
text = stringResource(R.string.impression_guide_description),
8984
modifier = Modifier.fillMaxWidth(),
90-
color = descriptionColor,
85+
color = ReedTheme.colors.contentSecondary,
9186
style = ReedTheme.typography.label1Medium,
9287
)
9388
Column(

feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterPresenter.kt

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,24 @@ class RecordRegisterPresenter @AssistedInject constructor(
182182
}
183183

184184
is RecordRegisterUiEvent.OnImpressionGuideConfirmed -> {
185-
impressionState.edit {
186-
replace(0, length, "")
187-
append(selectedImpressionGuide)
188-
this.selection = TextRange(0) // 커서를 문장 맨 앞에 위치
185+
val currentImpressionText = impressionState.text.toString()
186+
187+
if (currentImpressionText.isNotEmpty()) {
188+
// 이미 작성된 감상문이 있는 경우 줄바꿈해서 추가
189+
val startIndex = currentImpressionText.length
190+
191+
impressionState.edit {
192+
replace(0, length, currentImpressionText + "\n" + selectedImpressionGuide)
193+
this.selection = TextRange(startIndex + 1) // 줄바꿈한 문장 맨 앞에 커서 위치
194+
}
195+
} else {
196+
impressionState.edit {
197+
replace(0, length, "")
198+
append(selectedImpressionGuide)
199+
this.selection = TextRange(0) // 커서를 문장 맨 앞에 위치
200+
}
189201
}
202+
190203
isImpressionGuideBottomSheetVisible = false
191204
}
192205

feature/record/src/main/res/values/strings.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
<string name="impression_step_hint">내용을 입력해주세요.</string>
3131
<string name="impression_step_guide">감상평 가이드</string>
3232
<string name="impression_guide_description">아래 문장 중 하나를 선택해 이어서 감상을 적어보세요</string>
33-
<string name="impression_guide_warning">새로운 가이드를 선택하면 기존 내용은 사라져요</string>
3433
<string name="impression_guide_selection_done">선택 완료</string>
3534
<string name="impression_guide_change_done">변경 완료</string>
3635
<string name="impression_guide_blank">______</string>

0 commit comments

Comments
 (0)