fix(content): 전체 탭 정렬 값을 보정한다

This commit is contained in:
2026-07-10 07:35:31 +09:00
parent 40337c9590
commit 951d7cf561
4 changed files with 149 additions and 4 deletions
@@ -17,6 +17,7 @@ import kr.co.vividnext.sodalive.v2.main.content.data.MainContentAllTabResponse
import kr.co.vividnext.sodalive.v2.main.content.data.MainContentAllType
import kr.co.vividnext.sodalive.v2.main.content.model.MainContentAllTabUiState
import kr.co.vividnext.sodalive.v2.main.content.model.currentDeviceDayOfWeek
import kr.co.vividnext.sodalive.v2.main.content.model.normalizeContentAllSort
import kr.co.vividnext.sodalive.v2.main.content.model.toContent
import kr.co.vividnext.sodalive.v2.main.content.model.toUiModel
import kr.co.vividnext.sodalive.v2.main.content.model.usesDayOfWeekQuery
@@ -54,20 +55,21 @@ class ContentAllTabViewModel(
fun changeType(type: MainContentAllType) {
selectedType = type
selectedSort = type.normalizeContentAllSort(selectedSort)
selectedDayOfWeek = selectedDayOfWeekFor(type)
loadFirstPage(type, selectedSort, selectedDayOfWeek)
}
fun changeSort(sort: ContentSort) {
selectedSort = sort
loadFirstPage(selectedType, sort, selectedDayOfWeekFor(selectedType))
selectedSort = selectedType.normalizeContentAllSort(sort)
loadFirstPage(selectedType, selectedSort, selectedDayOfWeekFor(selectedType))
}
fun selectTypeAndSort(type: MainContentAllType, sort: ContentSort) {
selectedType = type
selectedSort = sort
selectedSort = type.normalizeContentAllSort(sort)
selectedDayOfWeek = selectedDayOfWeekFor(type)
loadFirstPage(type, sort, selectedDayOfWeek)
loadFirstPage(type, selectedSort, selectedDayOfWeek)
}
fun changeDayOfWeek(dayOfWeek: SeriesPublishedDaysOfWeek) {
@@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.v2.main.content.model
import androidx.annotation.StringRes
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.v2.common.data.ContentSort
import kr.co.vividnext.sodalive.v2.main.content.data.MainContentAllType
import kr.co.vividnext.sodalive.v2.widget.AudioContentTag
@@ -47,3 +48,24 @@ fun MainContentAllType.usesSeriesItems(): Boolean = when (this) {
}
fun MainContentAllType.usesDayOfWeekQuery(): Boolean = this == MainContentAllType.SERIES
fun MainContentAllType.contentAllSortOptions(): List<ContentSort> = when (this) {
MainContentAllType.FREE -> listOf(
ContentSort.LATEST,
ContentSort.POPULAR
)
MainContentAllType.AUDIO,
MainContentAllType.SERIES,
MainContentAllType.ORIGINAL,
MainContentAllType.POINT -> listOf(
ContentSort.LATEST,
ContentSort.POPULAR,
ContentSort.PRICE_HIGH,
ContentSort.PRICE_LOW
)
}
fun MainContentAllType.normalizeContentAllSort(sort: ContentSort): ContentSort {
return if (sort in contentAllSortOptions()) sort else ContentSort.LATEST
}