fix(content): 전체 탭 sort-bar 표시를 정리한다

This commit is contained in:
2026-07-10 07:35:46 +09:00
parent bbf94b8a0d
commit bf5cc1d7bb
3 changed files with 17 additions and 30 deletions

View File

@@ -22,7 +22,6 @@ import kr.co.vividnext.sodalive.common.LoadingDialog
import kr.co.vividnext.sodalive.common.ToastMessage
import kr.co.vividnext.sodalive.databinding.FragmentV2MainContentBinding
import kr.co.vividnext.sodalive.databinding.ViewSectionTitleBinding
import kr.co.vividnext.sodalive.extensions.moneyFormat
import kr.co.vividnext.sodalive.home.SeriesPublishedDaysOfWeek
import kr.co.vividnext.sodalive.mypage.can.charge.CanChargeActivity
import kr.co.vividnext.sodalive.search.SearchActivity
@@ -44,6 +43,7 @@ import kr.co.vividnext.sodalive.v2.main.content.model.ContentCommentedAudioUiMod
import kr.co.vividnext.sodalive.v2.main.content.model.ContentOriginalSeriesSection
import kr.co.vividnext.sodalive.v2.main.content.model.ContentOriginalSeriesUiModel
import kr.co.vividnext.sodalive.v2.main.content.model.MainContentAllTabUiState
import kr.co.vividnext.sodalive.v2.main.content.model.contentAllSortOptions
import kr.co.vividnext.sodalive.v2.main.content.model.contentAllDayOfWeekOptions
import kr.co.vividnext.sodalive.v2.main.content.model.toContentAllDayLabelResId
import kr.co.vividnext.sodalive.v2.main.content.model.toContentAllTypeLabelResId
@@ -232,7 +232,7 @@ class ContentMainFragment : BaseFragment<FragmentV2MainContentBinding>(
private fun setUpAllSortButton() {
binding.layoutContentAllSortButton.setOnClickListener {
val state = currentAllTabState ?: return@setOnClickListener
showAllSortPopup(state.selectedSort)
showAllSortPopup(state)
}
}
@@ -463,7 +463,6 @@ class ContentMainFragment : BaseFragment<FragmentV2MainContentBinding>(
}
private fun bindAllTabControls(state: MainContentAllTabUiState) {
binding.tvContentAllTotalCount.text = state.totalCount.moneyFormat()
binding.tvContentAllSortLabel.setText(state.selectedSort.toLabelResId())
binding.viewContentAllTypeTabs.root.setMenus(
contentAllTypes.map { type -> getString(type.toContentAllTypeLabelResId()) },
@@ -495,13 +494,15 @@ class ContentMainFragment : BaseFragment<FragmentV2MainContentBinding>(
binding.layoutContentAllEmptyError.visibility = View.GONE
}
private fun showAllSortPopup(selectedSort: ContentSort) {
private fun showAllSortPopup(state: MainContentAllTabUiState) {
val sortOptions = state.selectedType.contentAllSortOptions()
sortPopup?.dismiss()
sortPopup = CreatorChannelSortPopup(
anchor = binding.layoutContentAllSortButton,
selectedSort = selectedSort,
selectedSort = state.selectedSort,
sortOptions = sortOptions,
onSortSelected = { sort ->
if (sort in ContentSort.entries) {
if (sort in sortOptions) {
contentAllTabViewModel.changeSort(sort)
}
}

View File

@@ -69,24 +69,10 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_content_all_day_filter">
<TextView
android:id="@+id/tv_content_all_total_label"
style="@style/Typography.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:text="@string/screen_content_tab_all"
android:textColor="@color/white" />
<TextView
android:id="@+id/tv_content_all_total_count"
style="@style/Typography.Body2"
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_4"
android:layout_weight="1"
android:includeFontPadding="false"
android:textColor="@color/gray_500" />
android:layout_weight="1" />
<LinearLayout
android:id="@+id/layout_content_all_sort_button"

View File

@@ -97,12 +97,11 @@ class ContentMainFragmentSourceTest {
assertTrue(selectedDayBackground.contains("@dimen/radius_8"))
assertTrue(fragmentLayout.contains("@+id/layout_content_all_sort_bar"))
assertTrue(fragmentLayout.contains("android:layout_height=\"52dp\""))
assertTrue(fragmentLayout.contains("@+id/tv_content_all_total_label"))
assertTrue(fragmentLayout.contains("android:text=\"@string/screen_content_tab_all\""))
assertTrue(fragmentLayout.contains("android:textColor=\"@color/white\""))
assertTrue(fragmentLayout.contains("@+id/tv_content_all_total_count"))
assertTrue(fragmentLayout.contains("style=\"@style/Typography.Body2\""))
assertTrue(fragmentLayout.contains("android:textColor=\"@color/gray_500\""))
assertFalse(fragmentLayout.contains("@+id/tv_content_all_total_label"))
assertFalse(fragmentLayout.contains("android:text=\"@string/screen_content_tab_all\""))
assertFalse(fragmentLayout.contains("@+id/tv_content_all_total_count"))
assertTrue(fragmentLayout.contains("<Space"))
assertTrue(fragmentLayout.contains("android:layout_weight=\"1\""))
assertTrue(fragmentLayout.contains("@+id/layout_content_all_sort_button"))
assertTrue(fragmentLayout.contains("android:layout_height=\"match_parent\""))
assertTrue(fragmentLayout.contains("@+id/tv_content_all_sort_label"))
@@ -131,7 +130,8 @@ class ContentMainFragmentSourceTest {
assertFalse(source.contains("screen_content_all_type_all"))
assertFalse(source.contains("screen_content_all_type_serialized"))
assertTrue(source.contains("CreatorChannelSortPopup"))
assertTrue(source.contains("ContentSort.entries"))
assertTrue(source.contains("state.selectedType.contentAllSortOptions()"))
assertTrue(source.contains("sortOptions = sortOptions"))
assertTrue(source.contains("toLabelResId()"))
assertTrue(source.contains("contentAllDayOfWeekOptions"))
assertTrue(source.contains("toContentAllDayLabelResId()"))
@@ -221,7 +221,7 @@ class ContentMainFragmentSourceTest {
assertSourceContains(source, "binding.viewContentAllTypeTabs.root.setMenus")
assertSourceContains(source, "binding.layoutContentAllDayFilter.visibility")
assertSourceContains(source, "binding.tvContentAllSortLabel.setText")
assertSourceContains(source, "binding.tvContentAllTotalCount.text")
assertFalse(source.contains("binding.tvContentAllTotalCount.text"))
}
@Test