From 11c5d57c4e78cbcbd48bb81208b4310be9e09439 Mon Sep 17 00:00:00 2001 From: klaus Date: Thu, 22 Jan 2026 19:04:36 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B8=EA=B8=B0=20=ED=81=AC=EB=A6=AC?= =?UTF-8?q?=EC=97=90=EC=9D=B4=ED=84=B0=20=ED=8C=94=EB=A1=9C=EC=9A=B0=20?= =?UTF-8?q?=ED=95=B4=EC=A0=9C=20=EC=8B=9C=20=ED=99=95=EC=9D=B8=20=EB=8B=A4?= =?UTF-8?q?=EC=9D=B4=EC=96=BC=EB=A1=9C=EA=B7=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/home/CreatorRankingAdapter.kt | 11 +++++++++-- .../co/vividnext/sodalive/home/HomeFragment.kt | 17 +++++++++++++++-- app/src/main/res/values-en/strings.xml | 2 ++ app/src/main/res/values-ja/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/CreatorRankingAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/CreatorRankingAdapter.kt index 4cd09043..e4c1dcd6 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/CreatorRankingAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/CreatorRankingAdapter.kt @@ -17,7 +17,7 @@ import kr.co.vividnext.sodalive.explorer.GetExplorerSectionCreatorResponse class CreatorRankingAdapter( private val onClickItem: (Long) -> Unit, - private val onClickFollow: (Long, Boolean) -> Unit + private val onClickFollow: (Int, Long, String, Boolean) -> Unit ) : RecyclerView.Adapter() { private val items = mutableListOf() @@ -78,7 +78,7 @@ class CreatorRankingAdapter( item.follow = !item.follow notifyItemChanged(index) } - onClickFollow(item.id, item.follow) + onClickFollow(index, item.id, item.nickname, item.follow) } } else { binding.tvFollow.visibility = View.GONE @@ -103,6 +103,13 @@ class CreatorRankingAdapter( override fun getItemCount() = items.size + fun revertFollowState(position: Int) { + if (position in items.indices) { + items[position].follow = !items[position].follow + notifyItemChanged(position) + } + } + @SuppressLint("NotifyDataSetChanged") fun addItems(items: List) { this.items.addAll(items) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt index 9d22ddbc..3a0a0372 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt @@ -284,12 +284,25 @@ class HomeFragment : BaseFragment(FragmentHomeBinding::infl (requireActivity() as MainActivity).showLoginActivity() } }, - onClickFollow = { creatorId, follow -> + onClickFollow = { position, creatorId, nickname, follow -> if (SharedPreferenceManager.token.isNotBlank()) { if (follow) { viewModel.follow(creatorId, follow = true, notify = true) } else { - viewModel.follow(creatorId, follow = false, notify = false) + SodaDialog( + activity = requireActivity(), + layoutInflater = layoutInflater, + title = getString(R.string.dialog_unfollow_title), + desc = getString(R.string.dialog_unfollow_message, nickname), + confirmButtonTitle = getString(R.string.confirm), + confirmButtonClick = { + viewModel.follow(creatorId, follow = false, notify = false) + }, + cancelButtonTitle = getString(R.string.cancel), + cancelButtonClick = { + creatorRankingAdapter.revertFollowState(position) + } + ).show(binding.root.width) } } else { (requireActivity() as MainActivity).showLoginActivity() diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 1fe83ba2..28a5ba89 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -168,6 +168,8 @@ Irregular Follow Following + Unfollow + Are you sure you want to unfollow %1$s? All Revenue Units diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index bffa1bf7..87e3419a 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -168,6 +168,8 @@ ランダム フォロー フォロー中 + フォロー解除 + %1$sさんのフォロー를解除しますか? 売上 販売数 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5ddbc7f6..5b7abce6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -167,6 +167,8 @@ 랜덤 팔로우 팔로잉 + 팔로우 해제 + %1$s님을 팔로우 해제 하시겠습니까? 전체 매출 판매량