From 7a4fa3c50f8a2fa07896395038f57340051b1281 Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 5 Jun 2026 16:01:23 +0900 Subject: [PATCH] =?UTF-8?q?feat(home):=20=ED=81=AC=EB=A6=AC=EC=97=90?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EC=B9=B4=EB=93=9C=20=ED=81=B4=EB=A6=AD?= =?UTF-8?q?=EC=9D=84=20=EC=97=B0=EA=B2=B0=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2/main/home/ui/HomeCheerCreatorAdapter.kt | 9 ++++++--- .../v2/main/home/ui/HomeGenreCreatorAdapter.kt | 9 ++++++--- .../main/home/ui/HomeRecentActivityCreatorAdapter.kt | 12 +++++++++--- .../v2/main/home/ui/HomeRecentDebutCreatorAdapter.kt | 12 +++++++++--- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeCheerCreatorAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeCheerCreatorAdapter.kt index 8632879a..d91bc774 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeCheerCreatorAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeCheerCreatorAdapter.kt @@ -12,7 +12,8 @@ import kr.co.vividnext.sodalive.extensions.loadUrl import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationCreatorUiModel class HomeCheerCreatorAdapter( - private val onFollowAllClick: (List) -> Unit + private val onFollowAllClick: (List) -> Unit, + private val onCreatorClick: (HomeRecommendationCreatorUiModel) -> Unit = {} ) : RecyclerView.Adapter() { private var creators: List = emptyList() private var isFollowCompleted: Boolean = false @@ -29,7 +30,7 @@ class HomeCheerCreatorAdapter( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CheerCreatorGroupViewHolder { val view = LayoutInflater.from(parent.context).inflate(R.layout.item_home_cheer_creator_group, parent, false) view.layoutParams = cheerGroupLayoutParams(parent) - return CheerCreatorGroupViewHolder(view, parent, onFollowAllClick) + return CheerCreatorGroupViewHolder(view, parent, onFollowAllClick, onCreatorClick) } override fun onBindViewHolder(holder: CheerCreatorGroupViewHolder, position: Int) { @@ -41,7 +42,8 @@ class HomeCheerCreatorAdapter( class CheerCreatorGroupViewHolder( itemView: View, private val parent: ViewGroup, - private val onFollowAllClick: (List) -> Unit + private val onFollowAllClick: (List) -> Unit, + private val onCreatorClick: (HomeRecommendationCreatorUiModel) -> Unit ) : RecyclerView.ViewHolder(itemView) { private val creatorGrid = itemView.findViewById(R.id.gl_home_cheer_creator_profiles) private val followAllButton = itemView.findViewById(R.id.view_home_cheer_group_follow_all) @@ -117,6 +119,7 @@ class HomeCheerCreatorAdapter( } } profileView.findViewById(R.id.tv_home_genre_creator_profile_nickname).text = creator.nickname + profileView.setOnClickListener { onCreatorClick(creator) } creatorGrid.addView(profileView) } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeGenreCreatorAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeGenreCreatorAdapter.kt index 00714f3f..e5588381 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeGenreCreatorAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeGenreCreatorAdapter.kt @@ -13,7 +13,8 @@ import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationCreatorUiMo import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationGenreCreatorGroupUiModel class HomeGenreCreatorAdapter( - private val onFollowAllClick: (List) -> Unit + private val onFollowAllClick: (List) -> Unit, + private val onCreatorClick: (HomeRecommendationCreatorUiModel) -> Unit = {} ) : RecyclerView.Adapter() { private var groups: List = emptyList() @@ -25,7 +26,7 @@ class HomeGenreCreatorAdapter( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GenreCreatorGroupViewHolder { val view = LayoutInflater.from(parent.context).inflate(R.layout.item_home_genre_creator_group, parent, false) view.layoutParams = genreGroupLayoutParams(parent) - return GenreCreatorGroupViewHolder(view, parent, onFollowAllClick) + return GenreCreatorGroupViewHolder(view, parent, onFollowAllClick, onCreatorClick) } override fun onBindViewHolder(holder: GenreCreatorGroupViewHolder, position: Int) { @@ -37,7 +38,8 @@ class HomeGenreCreatorAdapter( class GenreCreatorGroupViewHolder( itemView: View, private val parent: ViewGroup, - private val onFollowAllClick: (List) -> Unit + private val onFollowAllClick: (List) -> Unit, + private val onCreatorClick: (HomeRecommendationCreatorUiModel) -> Unit ) : RecyclerView.ViewHolder(itemView) { private val genreText = itemView.findViewById(R.id.tv_home_genre_creator_group_title_genre) private val creatorGrid = itemView.findViewById(R.id.gl_home_genre_creator_profiles) @@ -115,6 +117,7 @@ class HomeGenreCreatorAdapter( } } profileView.findViewById(R.id.tv_home_genre_creator_profile_nickname).text = creator.nickname + profileView.setOnClickListener { onCreatorClick(creator) } creatorGrid.addView(profileView) } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeRecentActivityCreatorAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeRecentActivityCreatorAdapter.kt index f9baee60..bedeec77 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeRecentActivityCreatorAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeRecentActivityCreatorAdapter.kt @@ -10,7 +10,9 @@ import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.extensions.loadUrl import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationRecentlyActiveCreatorUiModel -class HomeRecentActivityCreatorAdapter : RecyclerView.Adapter() { +class HomeRecentActivityCreatorAdapter( + private val onClickItem: (HomeRecommendationRecentlyActiveCreatorUiModel) -> Unit = {} +) : RecyclerView.Adapter() { private var items: List = emptyList() fun submitItems(items: List) { @@ -21,7 +23,7 @@ class HomeRecentActivityCreatorAdapter : RecyclerView.Adapter Unit + ) : RecyclerView.ViewHolder(itemView) { private val profileImage = itemView.findViewById(R.id.iv_home_recent_activity_creator_profile) private val activityTypeText = itemView.findViewById(R.id.tv_home_recent_activity_type) private val titleText = itemView.findViewById(R.id.tv_home_recent_activity_title) @@ -47,6 +52,7 @@ class HomeRecentActivityCreatorAdapter : RecyclerView.Adapter() { +class HomeRecentDebutCreatorAdapter( + private val onClickItem: (HomeRecommendationCreatorUiModel) -> Unit = {} +) : RecyclerView.Adapter() { private var items: List = emptyList() fun submitItems(items: List) { @@ -21,7 +23,7 @@ class HomeRecentDebutCreatorAdapter : RecyclerView.Adapter Unit + ) : RecyclerView.ViewHolder(itemView) { private val profileImage = itemView.findViewById(R.id.iv_home_recent_debut_creator_profile) private val nicknameText = itemView.findViewById(R.id.tv_home_recent_debut_creator_nickname) fun bind(item: HomeRecommendationCreatorUiModel) { profileImage.loadUrl(item.profileImage) nicknameText.text = item.nickname + itemView.setOnClickListener { onClickItem(item) } } }