Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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 @@ -356,6 +356,22 @@ fun rememberSettingNavActions(appState: AppState): SettingNavActions =
override fun onNoticeBack() {
appState.navController.popBackStack()
}

override fun onNavigateToInquiry() {
appState.navController.navigate(SettingRoute.InquiryListRoute)
}

override fun onInquiryBack() {
appState.navController.popBackStack()
}

override fun onNavigateToInquiryDetail(inquiryId: Long) {
appState.navController.navigate(SettingRoute.InquiryDetailRoute(inquiryId))
}

override fun onNavigateToInquiryWrite() {
appState.navController.navigate(SettingRoute.InquiryWriteRoute)
}
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.afternote.feature.setting.presentation.model

enum class InquiryStatus { RECEIVED, ANSWERED }

data class InquiryUiModel(
val id: Long,
val status: InquiryStatus,
val date: String,
val title: String,
val content: String,
val answer: String?,
)
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,12 @@ interface SettingNavActions {
fun onNavigateToNotice()

fun onNoticeBack()

fun onNavigateToInquiry()

fun onInquiryBack()

fun onNavigateToInquiryDetail(inquiryId: Long)

fun onNavigateToInquiryWrite()
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ import com.afternote.feature.setting.presentation.component.PinSetupStep
import com.afternote.feature.setting.presentation.screen.AppLockSetupScreen
import com.afternote.feature.setting.presentation.screen.ConnectedAccountsScreen
import com.afternote.feature.setting.presentation.screen.DeliveryConditionScreen
import com.afternote.feature.setting.presentation.screen.InquiryDetailScreen
import com.afternote.feature.setting.presentation.screen.InquiryListScreen
import com.afternote.feature.setting.presentation.screen.InquiryWriteScreen
import com.afternote.feature.setting.presentation.screen.NoticeListScreen
import com.afternote.feature.setting.presentation.screen.PassKeyListScreen
import com.afternote.feature.setting.presentation.screen.PassKeyMakingScreen
Expand Down Expand Up @@ -52,7 +55,7 @@ fun NavGraphBuilder.settingNavGraph(
onPasskeyClick = actions::onNavigateToPasskey,
onAppLockClick = actions::onNavigateToAppLock,
onFaqClick = {},
onInquiryClick = {},
onInquiryClick = actions::onNavigateToInquiry,
onNoticeClick = actions::onNavigateToNotice,
onTermsClick = {},
onPrivacyClick = {},
Expand Down Expand Up @@ -187,5 +190,26 @@ fun NavGraphBuilder.settingNavGraph(
onBackClick = actions::onNoticeBack,
)
}

composable<SettingRoute.InquiryListRoute> {
InquiryListScreen(
inquiries = emptyList(),
onBackClick = actions::onInquiryBack,
onInquiryClick = actions::onNavigateToInquiryDetail,
onNewInquiryClick = actions::onNavigateToInquiryWrite,
)
}

composable<SettingRoute.InquiryDetailRoute> {
// 문의 조회 API 가 아직 없다 (Afternote-BE#246). 실제 데이터 소스가 연결되기 전까지는
// 지어낸 문의를 보여주는 대신 "찾을 수 없음" 상태를 그린다.
InquiryDetailScreen(inquiry = null, onBackClick = actions::onInquiryBack)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

[normal] 상세 라우트가 도달 불가인 채로 남았습니다. InquiryListRoute 가 항상 emptyList() 를 넘기므로(:196) 목록의 LazyColumn 분기가 그려지지 않고, onInquiryClick = actions::onNavigateToInquiryDetail 로 배선은 돼 있어도 발화할 경로가 없습니다.

도달 불가 셸 자체를 지우자는 얘기는 아닙니다. 바로 위 NoticeRoute 도 notices = emptyList() 로 이미 머지돼 있고, 지우면 #784 가 요구한 화면 3종 중 하나가 없어집니다.

좁은 문제는 여기입니다. SettingRoute.kt:61 이 inquiryId: Long 을 요구하는데 이 줄은 그 인자를 한 번도 읽지 않고 무조건 inquiry = null 을 넘깁니다. 조회 API 가 생기면 반드시 고쳐야 하는 자리라 TODO 나 후속 이슈 번호를 남겨 두는 편이 낫습니다.

}

composable<SettingRoute.InquiryWriteRoute> {
InquiryWriteScreen(
onBackClick = actions::onInquiryBack,
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,15 @@ sealed interface SettingRoute {

@Serializable
data object NoticeRoute : SettingRoute

@Serializable
data object InquiryListRoute : SettingRoute

@Serializable
data class InquiryDetailRoute(
val inquiryId: Long,
) : SettingRoute

@Serializable
data object InquiryWriteRoute : SettingRoute
}
Loading
Loading