diff --git a/AniHyou/Screens/MediaList/ViewModels/MediaListViewModel.swift b/AniHyou/Screens/MediaList/ViewModels/MediaListViewModel.swift index 8f06ccf4..61712173 100644 --- a/AniHyou/Screens/MediaList/ViewModels/MediaListViewModel.swift +++ b/AniHyou/Screens/MediaList/ViewModels/MediaListViewModel.swift @@ -22,6 +22,27 @@ class MediaListViewModel: ObservableObject { var mediaType: MediaType = .anime var mediaListStatus: MediaListStatus = .current @Published var sort: MediaListSort = .updatedTimeDesc + @Published var searchText = "" + @Published var isLoading = false + + var filteredMediaList: [UserMediaListQuery.Data.Page.MediaList?] { + if searchText.isEmpty { + return mediaList + } else { + let filtered = mediaList.filter { + let title = $0?.media?.title?.userPreferred + if title == nil || title?.isEmpty == true { + return false + } + return title!.lowercased().contains(searchText.lowercased()) + } + if hasNextPage && filtered.count < 25 { + getUserMediaList(otherUserId: userId) + } + + return Array(Set(filtered)) + } + } func getUserMediaList(otherUserId: Int?) { if otherUserId != nil { userId = otherUserId! } @@ -56,27 +77,6 @@ class MediaListViewModel: ObservableObject { forceReload = false } - @Published var searchText = "" - - var filteredMediaList: [UserMediaListQuery.Data.Page.MediaList?] { - if searchText.isEmpty { - return mediaList - } else { - let filtered = mediaList.filter { - let title = $0?.media?.title?.userPreferred - if title == nil || title?.isEmpty == true { - return false - } - return title!.lowercased().contains(searchText.lowercased()) - } - if hasNextPage && filtered.count < 25 { - getUserMediaList(otherUserId: userId) - } - - return Array(Set(filtered)) - } - } - func refreshList() { currentPage = 1 hasNextPage = true @@ -84,8 +84,6 @@ class MediaListViewModel: ObservableObject { forceReload = true } - @Published var isLoading = false - func updateEntryProgress(entryId: Int, progress: Int, status: MediaListStatus?) { isLoading = true Network.shared.apollo.perform(mutation: UpdateEntryProgressMutation(