mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-23 18:12:44 +02:00
Add location info in UserOtherSessions
This commit is contained in:
@@ -40,12 +40,12 @@ struct UserOtherSessionsViewState: BindableState, Equatable {
|
||||
var emptyItemsTitle: String
|
||||
var allItemsSelected: Bool
|
||||
var enableSignOutButton: Bool
|
||||
var showLocationInfo: Bool = RiotSettings.shared.showIPAddressesInSessionsManager
|
||||
}
|
||||
|
||||
struct UserOtherSessionsBindings: Equatable {
|
||||
var filter: UserOtherSessionsFilter
|
||||
var isEditModeEnabled: Bool
|
||||
var showLocationInfo = false
|
||||
}
|
||||
|
||||
enum UserOtherSessionsViewAction {
|
||||
@@ -56,4 +56,5 @@ enum UserOtherSessionsViewAction {
|
||||
case toggleAllSelection
|
||||
case logoutAllUserSessions
|
||||
case logoutSelectedUserSessions
|
||||
case showLocationInfo
|
||||
}
|
||||
|
||||
@@ -70,6 +70,9 @@ class UserOtherSessionsViewModel: UserOtherSessionsViewModelType, UserOtherSessi
|
||||
selectedSessions.contains(sessionInfo.id)
|
||||
}
|
||||
completion?(.logoutFromUserSessions(sessionInfos: selectedSessionInfos))
|
||||
case .showLocationInfo:
|
||||
RiotSettings.shared.showIPAddressesInSessionsManager.toggle()
|
||||
state.showLocationInfo = RiotSettings.shared.showIPAddressesInSessionsManager
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,8 @@ struct UserOtherSessions: View {
|
||||
.toolbar {
|
||||
UserOtherSessionsToolbar(isEditModeEnabled: $viewModel.isEditModeEnabled,
|
||||
filter: $viewModel.filter,
|
||||
isShowLocationEnabled: $viewModel.showLocationInfo,
|
||||
isShowLocationEnabled: .init(get: { viewModel.viewState.showLocationInfo },
|
||||
set: { _ in viewModel.send(viewAction: .showLocationInfo) }),
|
||||
allItemsSelected: viewModel.viewState.allItemsSelected,
|
||||
sessionCount: viewModel.viewState.sessionItems.count,
|
||||
onToggleSelection: { viewModel.send(viewAction: .toggleAllSelection) },
|
||||
@@ -89,7 +90,7 @@ struct UserOtherSessions: View {
|
||||
LazyVStack(spacing: 0) {
|
||||
ForEach(viewModel.viewState.sessionItems) { viewData in
|
||||
UserSessionListItem(viewData: viewData,
|
||||
showsLocationInfo: viewModel.showLocationInfo,
|
||||
showsLocationInfo: viewModel.viewState.showLocationInfo,
|
||||
isSeparatorHidden: viewData == viewModel.viewState.sessionItems.last,
|
||||
isEditModeEnabled: viewModel.isEditModeEnabled,
|
||||
onBackgroundTap: { sessionId in viewModel.send(viewAction: .userOtherSessionSelected(sessionId: sessionId)) },
|
||||
|
||||
Reference in New Issue
Block a user