Merge branch 'develop' into aleksandrs/6963_multi_session_logout

This commit is contained in:
Aleksandrs Proskurins
2022-10-25 10:43:34 +03:00
28 changed files with 132 additions and 104 deletions
@@ -58,7 +58,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .inactive, isEditModeEnabled: false)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: "Title",
items: expectedItems,
sessionItems: expectedItems,
header: inactiveSectionHeader,
emptyItemsTitle: VectorL10n.userOtherSessionNoInactiveSessions,
allItemsSelected: false)
@@ -74,7 +74,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .all, isEditModeEnabled: false)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: "Title",
items: expectedItems,
sessionItems: expectedItems,
header: allSectionHeader,
emptyItemsTitle: "",
allItemsSelected: false)
@@ -90,7 +90,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .unverified, isEditModeEnabled: false)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: "Title",
items: expectedItems,
sessionItems: expectedItems,
header: unverifiedSectionHeader,
emptyItemsTitle: VectorL10n.userOtherSessionNoUnverifiedSessions,
allItemsSelected: false)
@@ -106,7 +106,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .verified, isEditModeEnabled: false)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: "Title",
items: expectedItems,
sessionItems: expectedItems,
header: verifiedSectionHeader,
emptyItemsTitle: VectorL10n.userOtherSessionNoVerifiedSessions,
allItemsSelected: false)
@@ -120,7 +120,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .verified, isEditModeEnabled: false)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: "Title",
items: [],
sessionItems: [],
header: verifiedSectionHeader,
emptyItemsTitle: VectorL10n.userOtherSessionNoVerifiedSessions,
allItemsSelected: false)
@@ -134,7 +134,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .unverified, isEditModeEnabled: false)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: "Title",
items: [],
sessionItems: [],
header: unverifiedSectionHeader,
emptyItemsTitle: VectorL10n.userOtherSessionNoUnverifiedSessions,
allItemsSelected: false)
@@ -148,7 +148,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .inactive, isEditModeEnabled: false)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: "Title",
items: [],
sessionItems: [],
header: inactiveSectionHeader,
emptyItemsTitle: VectorL10n.userOtherSessionNoInactiveSessions,
allItemsSelected: false)
@@ -167,7 +167,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .all, isEditModeEnabled: true)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: VectorL10n.userOtherSessionSelectedCount("2"),
items: expectedItems,
sessionItems: expectedItems,
header: allSectionHeader,
emptyItemsTitle: "",
allItemsSelected: true)
@@ -186,7 +186,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .all, isEditModeEnabled: true)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: VectorL10n.userOtherSessionSelectedCount("0"),
items: expectedItems,
sessionItems: expectedItems,
header: allSectionHeader,
emptyItemsTitle: "",
allItemsSelected: false)
@@ -204,7 +204,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .all, isEditModeEnabled: true)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: VectorL10n.userOtherSessionSelectedCount("1"),
items: expectedItems,
sessionItems: expectedItems,
header: allSectionHeader,
emptyItemsTitle: "",
allItemsSelected: false)
@@ -222,7 +222,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .all, isEditModeEnabled: true)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: VectorL10n.userOtherSessionSelectedCount("2"),
items: expectedItems,
sessionItems: expectedItems,
header: allSectionHeader,
emptyItemsTitle: "",
allItemsSelected: true)
@@ -240,7 +240,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .all, isEditModeEnabled: true)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: VectorL10n.userOtherSessionSelectedCount("0"),
items: expectedItems,
sessionItems: expectedItems,
header: allSectionHeader,
emptyItemsTitle: "",
allItemsSelected: false)
@@ -261,7 +261,7 @@ class UserOtherSessionsViewModelTests: XCTestCase {
let bindings = UserOtherSessionsBindings(filter: .all, isEditModeEnabled: true)
let expectedState = UserOtherSessionsViewState(bindings: bindings,
title: VectorL10n.userOtherSessionSelectedCount("0"),
items: expectedItems,
sessionItems: expectedItems,
header: allSectionHeader,
emptyItemsTitle: "",
allItemsSelected: false)
@@ -35,7 +35,7 @@ enum UserOtherSessionsViewModelResult: Equatable {
struct UserOtherSessionsViewState: BindableState, Equatable {
var bindings: UserOtherSessionsBindings
var title: String
var items: [UserSessionListItemViewData]
var sessionItems: [UserSessionListItemViewData]
var header: UserOtherSessionsHeaderViewData
var emptyItemsTitle: String
var allItemsSelected: Bool
@@ -30,10 +30,10 @@ class UserOtherSessionsViewModel: UserOtherSessionsViewModelType, UserOtherSessi
self.sessionInfos = sessionInfos
defaultTitle = title
let bindings = UserOtherSessionsBindings(filter: filter, isEditModeEnabled: false)
let items = filter.filterSessionInfos(sessionInfos: sessionInfos, selectedSessions: selectedSessions)
let sessionItems = filter.filterSessionInfos(sessionInfos: sessionInfos, selectedSessions: selectedSessions)
super.init(initialViewState: UserOtherSessionsViewState(bindings: bindings,
title: title,
items: items,
sessionItems: sessionItems,
header: filter.userOtherSessionsViewHeader,
emptyItemsTitle: filter.userOtherSessionsViewEmptyResultsTitle,
allItemsSelected: false))
@@ -87,7 +87,7 @@ class UserOtherSessionsViewModel: UserOtherSessionsViewModelType, UserOtherSessi
private func updateViewState() {
let currentFilter = state.bindings.filter
state.items = currentFilter.filterSessionInfos(sessionInfos: sessionInfos, selectedSessions: selectedSessions)
state.sessionItems = currentFilter.filterSessionInfos(sessionInfos: sessionInfos, selectedSessions: selectedSessions)
state.header = currentFilter.userOtherSessionsViewHeader
if state.bindings.isEditModeEnabled {
@@ -24,7 +24,7 @@ struct UserOtherSessions: View {
var body: some View {
ScrollView {
SwiftUI.Section {
if viewModel.viewState.items.isEmpty {
if viewModel.viewState.sessionItems.isEmpty {
noItemsView()
} else {
itemsView()
@@ -81,7 +81,7 @@ struct UserOtherSessions: View {
private func itemsView() -> some View {
LazyVStack(spacing: 0) {
ForEach(viewModel.viewState.items) { viewData in
ForEach(viewModel.viewState.sessionItems) { viewData in
UserSessionListItem(viewData: viewData,
isEditModeEnabled: viewModel.isEditModeEnabled,
onBackgroundTap: { sessionId in viewModel.send(viewAction: .userOtherSessionSelected(sessionId: sessionId)) },
@@ -48,7 +48,7 @@ struct UserOtherSessionsToolbar: ToolbarContent {
} else {
filterMenuButton()
.offset(x: 12)
kebabMenu()
optionsMenu()
}
}
}
@@ -77,7 +77,7 @@ struct UserOtherSessionsToolbar: ToolbarContent {
}
}
private func kebabMenu() -> some View {
private func optionsMenu() -> some View {
Button { } label: {
Menu {
Button {