refactor(home): 홈 메인 Fragment 패키지를 분리한다

This commit is contained in:
2026-06-09 18:17:57 +09:00
parent 4e98a1dfea
commit bb4d290ca1
2 changed files with 9 additions and 6 deletions

View File

@@ -47,6 +47,7 @@ import kr.co.vividnext.sodalive.mypage.MyPageFragment
import kr.co.vividnext.sodalive.settings.event.EventDetailActivity import kr.co.vividnext.sodalive.settings.event.EventDetailActivity
import kr.co.vividnext.sodalive.settings.notification.NotificationSettingsDialog import kr.co.vividnext.sodalive.settings.notification.NotificationSettingsDialog
import kr.co.vividnext.sodalive.user.login.LoginActivity import kr.co.vividnext.sodalive.user.login.LoginActivity
import kr.co.vividnext.sodalive.v2.main.home.HomeMainFragment
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch import kotlinx.coroutines.launch

View File

@@ -1,4 +1,4 @@
package kr.co.vividnext.sodalive.v2.main package kr.co.vividnext.sodalive.v2.main.home
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@@ -10,14 +10,13 @@ import kr.co.vividnext.sodalive.base.BaseFragment
import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity
import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.Constants
import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.common.LoadingDialog
import kr.co.vividnext.sodalive.common.formatUtcRelativeTimeText
import kr.co.vividnext.sodalive.common.ToastMessage import kr.co.vividnext.sodalive.common.ToastMessage
import kr.co.vividnext.sodalive.common.formatUtcRelativeTimeText
import kr.co.vividnext.sodalive.databinding.FragmentV2MainHomeBinding import kr.co.vividnext.sodalive.databinding.FragmentV2MainHomeBinding
import kr.co.vividnext.sodalive.databinding.ViewSectionTitleBinding import kr.co.vividnext.sodalive.databinding.ViewSectionTitleBinding
import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity
import kr.co.vividnext.sodalive.explorer.profile.creator_community.all.CreatorCommunityAllActivity import kr.co.vividnext.sodalive.explorer.profile.creator_community.all.CreatorCommunityAllActivity
import kr.co.vividnext.sodalive.v2.main.home.HomeCreatorRankingViewModel import kr.co.vividnext.sodalive.v2.main.home.model.HomeCreatorRankingUiState
import kr.co.vividnext.sodalive.v2.main.home.HomeRecommendationViewModel
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationAiCharacterSection import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationAiCharacterSection
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationBannerSection import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationBannerSection
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationBannerUiModel import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationBannerUiModel
@@ -30,10 +29,9 @@ import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationLiveSection
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationLiveUiModel import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationLiveUiModel
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationPopularCommunityPostSection import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationPopularCommunityPostSection
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationPopularCommunityPostUiModel import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationPopularCommunityPostUiModel
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationRecentDebutCreatorSection
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationRecentlyActiveCreatorSection import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationRecentlyActiveCreatorSection
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationRecentlyActiveCreatorUiModel import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationRecentlyActiveCreatorUiModel
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationRecentDebutCreatorSection
import kr.co.vividnext.sodalive.v2.main.home.model.HomeCreatorRankingUiState
import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationUiState import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationUiState
import kr.co.vividnext.sodalive.v2.main.home.model.toHomeRecommendationBannerIntent import kr.co.vividnext.sodalive.v2.main.home.model.toHomeRecommendationBannerIntent
import kr.co.vividnext.sodalive.v2.main.home.model.toHomeRecommendationBannerRoute import kr.co.vividnext.sodalive.v2.main.home.model.toHomeRecommendationBannerRoute
@@ -165,6 +163,7 @@ class HomeMainFragment : BaseFragment<FragmentV2MainHomeBinding>(
is HomeCreatorRankingUiState.Content -> creatorRankingAdapter.submitItems(state.items) is HomeCreatorRankingUiState.Content -> creatorRankingAdapter.submitItems(state.items)
HomeCreatorRankingUiState.Empty, HomeCreatorRankingUiState.Empty,
is HomeCreatorRankingUiState.Error -> creatorRankingAdapter.submitItems(emptyList()) is HomeCreatorRankingUiState.Error -> creatorRankingAdapter.submitItems(emptyList())
HomeCreatorRankingUiState.Loading -> Unit HomeCreatorRankingUiState.Loading -> Unit
} }
} }
@@ -186,6 +185,7 @@ class HomeMainFragment : BaseFragment<FragmentV2MainHomeBinding>(
binding.nsvHomeRecommendationContent.visibility = View.VISIBLE binding.nsvHomeRecommendationContent.visibility = View.VISIBLE
binding.rvHomeCreatorRankings.visibility = View.GONE binding.rvHomeCreatorRankings.visibility = View.GONE
} }
HOME_TAB_RANKING -> { HOME_TAB_RANKING -> {
binding.nsvHomeRecommendationContent.visibility = View.GONE binding.nsvHomeRecommendationContent.visibility = View.GONE
binding.rvHomeCreatorRankings.visibility = View.VISIBLE binding.rvHomeCreatorRankings.visibility = View.VISIBLE
@@ -194,6 +194,7 @@ class HomeMainFragment : BaseFragment<FragmentV2MainHomeBinding>(
homeCreatorRankingViewModel.loadCreatorRankings() homeCreatorRankingViewModel.loadCreatorRankings()
} }
} }
HOME_TAB_FOLLOWING -> Unit HOME_TAB_FOLLOWING -> Unit
} }
} }
@@ -204,6 +205,7 @@ class HomeMainFragment : BaseFragment<FragmentV2MainHomeBinding>(
is HomeRecommendationUiState.Content -> bindHomeRecommendationContent(state) is HomeRecommendationUiState.Content -> bindHomeRecommendationContent(state)
HomeRecommendationUiState.Empty, HomeRecommendationUiState.Empty,
is HomeRecommendationUiState.Error -> bindHomeRecommendationContent(emptyHomeRecommendationContent()) is HomeRecommendationUiState.Error -> bindHomeRecommendationContent(emptyHomeRecommendationContent())
HomeRecommendationUiState.Loading -> Unit HomeRecommendationUiState.Loading -> Unit
} }
} }