This commit is contained in:
Aleksandrs Proskurins
2022-10-06 10:23:33 +03:00
parent 430ad84346
commit 586756251e
4 changed files with 71 additions and 5 deletions
@@ -53,11 +53,19 @@ class UserOtherSessionsViewModel: UserOtherSessionsViewModelType, UserOtherSessi
// MARK: - Private
private func updateViewState(sessionInfos: [UserSessionInfo], filter: OtherUserSessionsFilter) {
let sectionItems = filterSessions(sessionInfos: sessionInfos, by: filter).asViewData()
let sectionItems = createSectionItems(sessionInfos: sessionInfos, filter: filter)
let sectionHeader = createHeaderData(filter: filter)
state.sections = [.sessionItems(header: sectionHeader, items: sectionItems)]
}
private func createSectionItems(sessionInfos: [UserSessionInfo], filter: OtherUserSessionsFilter) -> [UserSessionListItemViewData] {
filterSessions(sessionInfos: sessionInfos, by: filter)
.map {
UserSessionListItemViewDataFactory().create(from: $0,
highlightSessionDetails: filter == .unverified && $0.isCurrent)
}
}
private func filterSessions(sessionInfos: [UserSessionInfo], by filter: OtherUserSessionsFilter) -> [UserSessionInfo] {
switch filter {
case .all: