fix(comment): 캐릭터 댓글 더보기에서 삭제 API 연동 및 UI 반영
- Bottom Sheet 삭제 선택 시 deleteComment API 호출 추가 - 성공 시 목록에서 항목 제거 - 오류 시 사용자에게 에러 토스트 노출
This commit is contained in:
@@ -145,13 +145,38 @@ class CharacterCommentListFragment : BaseFragment<FragmentCharacterCommentListBi
|
||||
.setTitle(getString(R.string.confirm_delete_title))
|
||||
.setMessage(getString(R.string.confirm_delete_message))
|
||||
.setPositiveButton(getString(R.string.confirm)) { _, _ ->
|
||||
// 삭제 API 스텁 호출 지점
|
||||
val index =
|
||||
adapter.items.indexOfFirst { it.commentId == item.commentId }
|
||||
if (index >= 0) {
|
||||
adapter.items.removeAt(index)
|
||||
adapter.notifyItemRemoved(index)
|
||||
}
|
||||
val token = "Bearer ${SharedPreferenceManager.token}"
|
||||
loadingDialog.show(screenWidth)
|
||||
val d = repository.deleteComment(
|
||||
characterId = characterId,
|
||||
commentId = item.commentId,
|
||||
token = token
|
||||
)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.doFinally { loadingDialog.dismiss() }
|
||||
.subscribe({ resp ->
|
||||
if (resp.success) {
|
||||
val index = adapter.items.indexOfFirst { it.commentId == item.commentId }
|
||||
if (index >= 0) {
|
||||
adapter.items.removeAt(index)
|
||||
adapter.notifyItemRemoved(index)
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(
|
||||
requireContext(),
|
||||
resp.message ?: "요청 중 오류가 발생했습니다",
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
}
|
||||
}, { e ->
|
||||
Toast.makeText(
|
||||
requireContext(),
|
||||
e.message ?: "요청 중 오류가 발생했습니다",
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
})
|
||||
compositeDisposable.add(d)
|
||||
}
|
||||
.setNegativeButton(getString(R.string.cancel), null)
|
||||
.show()
|
||||
@@ -231,6 +256,7 @@ class CharacterCommentListFragment : BaseFragment<FragmentCharacterCommentListBi
|
||||
private var cursor: Long? = null
|
||||
private var isLoading = false
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
private fun resetAndLoad() {
|
||||
cursor = null
|
||||
adapter.items.clear()
|
||||
|
||||
Reference in New Issue
Block a user