Skip to content

Commit 2d32b00

Browse files
committed
✨ 내가 가입하지 않은 그룹들만 그룹 가입하이 버튼이 보이도록 수정
1 parent 9b4b09c commit 2d32b00

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

presentation/src/main/java/com/whyranoid/presentation/community/CommunityItemFragment.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,17 @@ internal class CommunityItemFragment :
8282

8383
private fun setPostAdapter() {
8484
viewLifecycleOwner.lifecycleScope.launch {
85-
val uid = viewModel.getMyUseCase()
86-
87-
val postAdapter = PostAdapter(uid) {
85+
val postAdapter = PostAdapter {
8886
viewModel.onGroupJoinButtonClicked(it)
8987
}
9088
binding.rvCommunity.adapter = postAdapter
9189

90+
viewLifecycleOwner.repeatWhenUiStarted {
91+
viewModel.myGroupList.collect { myGroupList ->
92+
postAdapter.setMyGroupList(myGroupList)
93+
}
94+
}
95+
9296
viewLifecycleOwner.repeatWhenUiStarted {
9397
viewModel.postList.collect { postList ->
9498
removeShimmer()

presentation/src/main/java/com/whyranoid/presentation/community/PostAdapter.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ import com.whyranoid.domain.model.RecruitPost
1212
import com.whyranoid.domain.model.RunningPost
1313
import com.whyranoid.presentation.databinding.ItemRecruitPostBinding
1414
import com.whyranoid.presentation.databinding.ItemRunningPostBinding
15+
import com.whyranoid.presentation.model.GroupInfoUiModel
1516

1617
class PostAdapter(
17-
private val myUid: String,
1818
private val buttonClickListener: (String) -> Unit
1919
) : ListAdapter<Post, PostAdapter.PostViewHolder>(diffUtil) {
2020

21+
private lateinit var myGroupList: List<GroupInfoUiModel>
22+
2123
companion object {
2224
val diffUtil = object : DiffUtil.ItemCallback<Post>() {
2325
override fun areItemsTheSame(oldItem: Post, newItem: Post) =
@@ -48,7 +50,7 @@ class PostAdapter(
4850
if (post is RecruitPost) {
4951
with(binding) {
5052
recruitPost = post
51-
if (myUid == post.author.uid) {
53+
if (post.groupInfo.groupId in myGroupList.map { it.groupId }) {
5254
btnJoinGroup.visibility = View.GONE
5355
} else {
5456
btnJoinGroup.visibility = View.VISIBLE
@@ -93,4 +95,8 @@ class PostAdapter(
9395
override fun onBindViewHolder(holder: PostViewHolder, position: Int) {
9496
holder.bind(getItem(position))
9597
}
98+
99+
fun setMyGroupList(myGroupList: List<GroupInfoUiModel>) {
100+
this.myGroupList = myGroupList
101+
}
96102
}

0 commit comments

Comments
 (0)