feat: 콘텐츠 메인 - 채널별 인기 콘텐츠

- 포인트 사용이 가능한 콘텐츠의 썸네일 우측 상단에 포인트 사용 가능 표시
This commit is contained in:
2025-06-10 12:03:35 +09:00
parent 3bda97b0a7
commit f10d848797
3 changed files with 21 additions and 1 deletions

View File

@@ -20,7 +20,8 @@ data class GetAudioContentMainItem(
@SerializedName("creatorProfileImageUrl") val creatorProfileImageUrl: String, @SerializedName("creatorProfileImageUrl") val creatorProfileImageUrl: String,
@SerializedName("creatorNickname") val creatorNickname: String, @SerializedName("creatorNickname") val creatorNickname: String,
@SerializedName("price") val price: Int, @SerializedName("price") val price: Int,
@SerializedName("duration") val duration: String @SerializedName("duration") val duration: String,
@SerializedName("isPointAvailable") val isPointAvailable: Boolean
) )
@Keep @Keep
@@ -40,6 +41,7 @@ data class GetAudioContentRankingItem(
@SerializedName("duration") val duration: String, @SerializedName("duration") val duration: String,
@SerializedName("creatorId") val creatorId: Long, @SerializedName("creatorId") val creatorId: Long,
@SerializedName("creatorNickname") val creatorNickname: String, @SerializedName("creatorNickname") val creatorNickname: String,
@SerializedName("isPointAvailable") val isPointAvailable: Boolean,
@SerializedName("creatorProfileImageUrl") val creatorProfileImageUrl: String @SerializedName("creatorProfileImageUrl") val creatorProfileImageUrl: String
) )

View File

@@ -38,6 +38,12 @@ class PopularContentByCreatorAdapter(
lp.height = itemWidth lp.height = itemWidth
binding.ivCover.layoutParams = lp binding.ivCover.layoutParams = lp
binding.ivPoint.visibility = if (item.isPointAvailable) {
View.VISIBLE
} else {
View.GONE
}
Glide Glide
.with(context) .with(context)
.load(item.coverImageUrl) .load(item.coverImageUrl)

View File

@@ -15,6 +15,18 @@
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:src="@mipmap/ic_launcher" /> tools:src="@mipmap/ic_launcher" />
<ImageView
android:id="@+id/iv_point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2.7dp"
android:layout_marginEnd="2.7dp"
android:contentDescription="@null"
android:src="@drawable/ic_point"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@+id/iv_cover"
app:layout_constraintTop_toTopOf="@+id/iv_cover" />
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"