feat(series-all-by-genre): 시리즈 전체보기 장르별 탭 - 장르, 시리즈 UI 추가
This commit is contained in:
@@ -19,14 +19,16 @@ final class SeriesMainByGenreViewModel: ObservableObject {
|
||||
@Published var genreList: [GetSeriesGenreListResponse] = []
|
||||
@Published var seriesList: [SeriesListItem] = []
|
||||
|
||||
@Published var selectedGenre: GetSeriesGenreListResponse = GetSeriesGenreListResponse(id: 0, genre: "")
|
||||
|
||||
private var page = 1
|
||||
private var isLast = false
|
||||
private let pageSize = 20
|
||||
|
||||
func onTapGenre(genreId: Int) {
|
||||
func onTapGenre() {
|
||||
page = 1
|
||||
isLast = false
|
||||
getSeriesListByGenre(genreId: genreId)
|
||||
getSeriesListByGenre()
|
||||
}
|
||||
|
||||
func getGenreList() {
|
||||
@@ -54,7 +56,8 @@ final class SeriesMainByGenreViewModel: ObservableObject {
|
||||
|
||||
if let data = decoded.data, decoded.success {
|
||||
self.genreList = data
|
||||
self.getSeriesListByGenre(genreId: genreList[0].id)
|
||||
self.selectedGenre = data[0]
|
||||
self.getSeriesListByGenre()
|
||||
} else {
|
||||
if let message = decoded.message {
|
||||
self.errorMessage = message
|
||||
@@ -72,11 +75,11 @@ final class SeriesMainByGenreViewModel: ObservableObject {
|
||||
.store(in: &subscription)
|
||||
}
|
||||
|
||||
func getSeriesListByGenre(genreId: Int) {
|
||||
func getSeriesListByGenre() {
|
||||
if !isLast && !isLoading {
|
||||
isLoading = true
|
||||
|
||||
repository.getSeriesListByGenre(genreId: genreId, page: page, size: pageSize)
|
||||
repository.getSeriesListByGenre(genreId: selectedGenre.id, page: page, size: pageSize)
|
||||
.sink { result in
|
||||
switch result {
|
||||
case .finished:
|
||||
|
||||
Reference in New Issue
Block a user