시리즈 콘텐츠 리스트

- 정렬(최신순, 등록순) 추가
This commit is contained in:
Yu Sung
2024-09-10 18:05:05 +09:00
parent 7c5b30335e
commit 8aa69f02fc
6 changed files with 52 additions and 8 deletions

View File

@@ -20,6 +20,37 @@ struct SeriesContentAllView: View {
VStack(spacing: 0) {
DetailNavigationBar(title: "\(seriesTitle) - 전체회차 듣기")
HStack(spacing: 13.3) {
Spacer()
Text("최신순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(
Color.graye2
.opacity(viewModel.sortType == .NEWEST ? 1 : 0.5)
)
.onTapGesture {
if viewModel.sortType != .NEWEST {
viewModel.sortType = .NEWEST
}
}
Text("등록순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(
Color.graye2
.opacity(viewModel.sortType == .OLDEST ? 1 : 0.5)
)
.onTapGesture {
if viewModel.sortType != .OLDEST {
viewModel.sortType = .OLDEST
}
}
}
.padding(.vertical, 13.3)
.padding(.horizontal, 20)
.background(Color.gray16)
ScrollView(.vertical, showsIndicators: false) {
VStack(spacing: 12) {
ForEach(0..<viewModel.seriesContentList.count, id: \.self) { index in

View File

@@ -19,14 +19,24 @@ final class SeriesContentAllViewModel: ObservableObject {
@Published var isShowPopup = false
@Published var seriesContentList = [GetSeriesContentListItem]()
@Published var sortType: SeriesListAllViewModel.SeriesSortType = .NEWEST {
didSet {
page = 1
isLast = false
getSeriesContentList()
}
}
var page = 1
var isLast = false
private let pageSize = 10
func getSeriesContentList() {
if !isLoading && !isLast {
isLoading = true
repository
.getSeriesContentList(seriesId: seriesId, page: page, size: pageSize)
.getSeriesContentList(seriesId: seriesId, page: page, size: pageSize, sortType: sortType)
.sink { result in
switch result {
case .finished: