fix(content): 전체 탭 정렬 값을 보정한다
This commit is contained in:
+6
-4
@@ -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) {
|
||||
|
||||
+22
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user