refactor(home): 추천 활동 타입을 공용 타입으로 교체한다
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package kr.co.vividnext.sodalive.v2.main.home.model
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import kr.co.vividnext.sodalive.v2.common.CreatorActivityType
|
||||
import kr.co.vividnext.sodalive.v2.main.home.data.HomeActiveCreatorItem
|
||||
import kr.co.vividnext.sodalive.v2.main.home.data.HomeAiCharacterItem
|
||||
import kr.co.vividnext.sodalive.v2.main.home.data.HomeBannerItem
|
||||
@@ -15,7 +16,7 @@ import kr.co.vividnext.sodalive.v2.widget.characterchatthumbnail.CharacterChatTh
|
||||
import kr.co.vividnext.sodalive.v2.widget.feed.FeedItem
|
||||
|
||||
@StringRes
|
||||
fun String.toRecommendedActivityTypeLabelRes(): Int? = RecommendedActivityType.from(this)?.labelResId
|
||||
fun String.toCreatorActivityTypeLabelRes(): Int? = CreatorActivityType.from(this)?.labelResId
|
||||
|
||||
fun HomeRecommendationResponse.toContent(): HomeRecommendationUiState.Content = HomeRecommendationUiState.Content(
|
||||
lives = HomeRecommendationLiveSection(lives.map { it.toUiModel() }),
|
||||
@@ -44,12 +45,12 @@ fun HomeBannerItem.toUiModel(): HomeRecommendationBannerUiModel = HomeRecommenda
|
||||
)
|
||||
|
||||
fun HomeActiveCreatorItem.toUiModel(): HomeRecommendationRecentlyActiveCreatorUiModel {
|
||||
val recommendedActivityType = RecommendedActivityType.from(activityType)
|
||||
val creatorActivityType = CreatorActivityType.from(activityType)
|
||||
return HomeRecommendationRecentlyActiveCreatorUiModel(
|
||||
nickname = creatorNickname,
|
||||
profileImage = creatorProfileImage,
|
||||
activityType = recommendedActivityType,
|
||||
activityLabelResId = recommendedActivityType?.labelResId,
|
||||
activityType = creatorActivityType,
|
||||
activityLabelResId = creatorActivityType?.labelResId,
|
||||
activityAt = activityAt,
|
||||
targetId = targetId
|
||||
)
|
||||
|
||||
@@ -11,6 +11,7 @@ import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity
|
||||
import kr.co.vividnext.sodalive.explorer.profile.creator_community.all.CreatorCommunityAllActivity
|
||||
import kr.co.vividnext.sodalive.settings.event.EventDetailActivity
|
||||
import kr.co.vividnext.sodalive.settings.event.EventItem
|
||||
import kr.co.vividnext.sodalive.v2.common.CreatorActivityType
|
||||
import kr.co.vividnext.sodalive.v2.widget.AudioContentTag
|
||||
import kr.co.vividnext.sodalive.v2.widget.characterchatthumbnail.CharacterChatThumbnailItem
|
||||
import kr.co.vividnext.sodalive.v2.widget.feed.FeedItem
|
||||
@@ -133,7 +134,7 @@ private fun homeRecommendationAppLinkHost(): String = "${BuildConfig.APPSCHEME}.
|
||||
data class HomeRecommendationRecentlyActiveCreatorUiModel(
|
||||
val nickname: String,
|
||||
val profileImage: String,
|
||||
val activityType: RecommendedActivityType?,
|
||||
val activityType: CreatorActivityType?,
|
||||
val activityLabelResId: Int?,
|
||||
val activityAt: String,
|
||||
val targetId: Long?
|
||||
@@ -149,10 +150,10 @@ fun HomeRecommendationRecentlyActiveCreatorUiModel.toHomeRecommendationRecentlyA
|
||||
HomeRecommendationRecentlyActiveCreatorRoute? {
|
||||
val routeTargetId = targetId?.takeIf { it > 0 } ?: return null
|
||||
return when (activityType) {
|
||||
RecommendedActivityType.Live -> null
|
||||
RecommendedActivityType.LiveReplay,
|
||||
RecommendedActivityType.Audio -> HomeRecommendationRecentlyActiveCreatorRoute.AudioContent(routeTargetId)
|
||||
RecommendedActivityType.Community -> HomeRecommendationRecentlyActiveCreatorRoute.Community(routeTargetId)
|
||||
CreatorActivityType.Live -> null
|
||||
CreatorActivityType.LiveReplay,
|
||||
CreatorActivityType.Audio -> HomeRecommendationRecentlyActiveCreatorRoute.AudioContent(routeTargetId)
|
||||
CreatorActivityType.Community -> HomeRecommendationRecentlyActiveCreatorRoute.Community(routeTargetId)
|
||||
null -> null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
package kr.co.vividnext.sodalive.v2.main.home.model
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import kr.co.vividnext.sodalive.R
|
||||
|
||||
enum class RecommendedActivityType(
|
||||
val code: String,
|
||||
@StringRes val labelResId: Int
|
||||
) {
|
||||
Live("LIVE", R.string.home_recommendation_activity_live),
|
||||
LiveReplay("LIVE_REPLAY", R.string.home_recommendation_activity_live),
|
||||
Audio("AUDIO", R.string.home_recommendation_activity_audio),
|
||||
Community("COMMUNITY", R.string.home_recommendation_activity_community);
|
||||
|
||||
companion object {
|
||||
fun from(code: String): RecommendedActivityType? = entries.firstOrNull { it.code.equals(code, ignoreCase = true) }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user