Skip to content

Commit

Permalink
refactor: move properties around for readability
Browse files Browse the repository at this point in the history
  • Loading branch information
BitForger (Noah) committed Aug 7, 2023
1 parent 6dcb202 commit a0ecb0c
Showing 1 changed file with 21 additions and 23 deletions.
44 changes: 21 additions & 23 deletions AniHyou/Screens/MediaList/ViewModels/MediaListViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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! }
Expand Down Expand Up @@ -56,36 +77,13 @@ 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
mediaList = []
forceReload = true
}

@Published var isLoading = false

func updateEntryProgress(entryId: Int, progress: Int, status: MediaListStatus?) {
isLoading = true
Network.shared.apollo.perform(mutation: UpdateEntryProgressMutation(
Expand Down

0 comments on commit a0ecb0c

Please sign in to comment.