mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-22 01:22:46 +02:00
Merge branch 'develop' into aleksandrs/6963_multi_session_logout
This commit is contained in:
+13
-13
@@ -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)) },
|
||||
|
||||
+2
-2
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user