Session Manager: Single session logout

This commit is contained in:
Doug
2022-10-05 12:35:32 +01:00
committed by Doug
parent 2ef07ac75b
commit 50d974884b
13 changed files with 251 additions and 20 deletions
@@ -31,9 +31,11 @@ struct UserSessionOverview: View {
})
.padding(16)
SwiftUI.Section {
UserSessionOverviewDisclosureCell(title: VectorL10n.userSessionOverviewSessionDetailsButtonTitle, onBackgroundTap: {
UserSessionOverviewItem(title: VectorL10n.userSessionOverviewSessionDetailsButtonTitle,
showsChevron: true) {
viewModel.send(viewAction: .viewSessionDetails)
})
}
if let enabled = viewModel.viewState.isPusherEnabled {
UserSessionOverviewToggleCell(title: VectorL10n.userSessionPushNotifications,
message: VectorL10n.userSessionPushNotificationsMessage,
@@ -42,6 +44,13 @@ struct UserSessionOverview: View {
}
}
}
SwiftUI.Section {
UserSessionOverviewItem(title: VectorL10n.manageSessionSignOut,
isDestructive: true) {
viewModel.send(viewAction: .logoutOfSession)
}
}
}
.background(theme.colors.system.ignoresSafeArea())
.frame(maxHeight: .infinity)
@@ -49,6 +58,19 @@ struct UserSessionOverview: View {
.navigationTitle(viewModel.viewState.isCurrentSession ?
VectorL10n.userSessionOverviewCurrentSessionTitle :
VectorL10n.userSessionOverviewSessionTitle)
.navigationBarTitleDisplayMode(.inline)
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
Menu {
Button { viewModel.send(viewAction: .renameSession) } label: {
Label(VectorL10n.manageSessionRename, systemImage: "pencil")
}
} label: {
Image(systemName: "ellipsis.circle")
}
}
}
.accentColor(theme.colors.accent)
}
}