Merge branch 'develop' into alfogrillo/learn_more_sheet

# Conflicts:
#	RiotSwiftUI/Modules/UserSessions/UserOtherSessions/UserOtherSessionsModels.swift
#	RiotSwiftUI/Modules/UserSessions/UserOtherSessions/UserOtherSessionsViewModel.swift
#	RiotSwiftUI/Modules/UserSessions/UserSessionOverview/UserSessionOverviewModels.swift
#	RiotSwiftUI/Modules/UserSessions/UserSessionOverview/UserSessionOverviewViewModel.swift
#	RiotSwiftUI/Modules/UserSessions/UserSessionOverview/View/UserSessionOverview.swift
This commit is contained in:
Alfonso Grillo
2022-11-03 18:18:08 +01:00
34 changed files with 315 additions and 107 deletions
@@ -23,21 +23,25 @@ class UserOtherSessionsViewModel: UserOtherSessionsViewModelType, UserOtherSessi
private let sessionInfos: [UserSessionInfo]
private var selectedSessions: Set<SessionId> = []
private let defaultTitle: String
private let settingsService: UserSessionSettingsProtocol
init(sessionInfos: [UserSessionInfo],
filter: UserOtherSessionsFilter,
title: String) {
title: String,
settingService: UserSessionSettingsProtocol) {
self.sessionInfos = sessionInfos
defaultTitle = title
let bindings = UserOtherSessionsBindings(filter: filter, isEditModeEnabled: false)
let sessionItems = filter.filterSessionInfos(sessionInfos: sessionInfos, selectedSessions: selectedSessions)
self.settingsService = settingService
super.init(initialViewState: UserOtherSessionsViewState(bindings: bindings,
title: title,
sessionItems: sessionItems,
header: filter.userOtherSessionsViewHeader,
emptyItemsTitle: filter.userOtherSessionsViewEmptyResultsTitle,
allItemsSelected: false,
enableSignOutButton: false))
enableSignOutButton: false,
showLocationInfo: settingService.showIPAddressesInSessionsManager))
}
// MARK: - Public
@@ -70,6 +74,9 @@ class UserOtherSessionsViewModel: UserOtherSessionsViewModelType, UserOtherSessi
selectedSessions.contains(sessionInfo.id)
}
completion?(.logoutFromUserSessions(sessionInfos: selectedSessionInfos))
case .showLocationInfo:
settingsService.showIPAddressesInSessionsManager.toggle()
state.showLocationInfo = settingsService.showIPAddressesInSessionsManager
case .viewSessionInfo:
completion?(.showSessionStateInfo(filter: state.bindings.filter))
}