mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 17:12:45 +02:00
UserSessionsOverview: Handle current session section view.
This commit is contained in:
+1
-1
@@ -38,7 +38,7 @@ struct UserSessionsOverviewViewState: BindableState {
|
||||
|
||||
var inactiveSessionsViewData: [UserSessionListItemViewData]
|
||||
|
||||
var currentSessionViewData: UserSessionListItemViewData?
|
||||
var currentSessionViewData: UserSessionCardViewData?
|
||||
|
||||
var otherSessionsViewData: [UserSessionListItemViewData]
|
||||
|
||||
|
||||
+4
-4
@@ -37,9 +37,9 @@ class UserSessionsOverviewViewModel: UserSessionsOverviewViewModelType, UserSess
|
||||
init(userSessionsOverviewService: UserSessionsOverviewServiceProtocol) {
|
||||
self.userSessionsOverviewService = userSessionsOverviewService
|
||||
|
||||
let viewState = UserSessionsOverviewViewState(unverifiedSessionsViewData: [], inactiveSessionsViewData: [], currentSessionViewData: nil, otherSessionsViewData: [])
|
||||
let initialViewState = UserSessionsOverviewViewState(unverifiedSessionsViewData: [], inactiveSessionsViewData: [], currentSessionViewData: nil, otherSessionsViewData: [])
|
||||
|
||||
super.init(initialViewState: viewState)
|
||||
super.init(initialViewState: initialViewState)
|
||||
|
||||
self.updateViewState(with: userSessionsOverviewService.lastOverviewData)
|
||||
}
|
||||
@@ -72,13 +72,13 @@ class UserSessionsOverviewViewModel: UserSessionsOverviewViewModelType, UserSess
|
||||
let unverifiedSessionsViewData = self.userSessionListItemViewDataList(from: userSessionsViewData.unverifiedSessionsInfo)
|
||||
let inactiveSessionsViewData = self.userSessionListItemViewDataList(from: userSessionsViewData.inactiveSessionsInfo)
|
||||
|
||||
var currentSessionViewData: UserSessionListItemViewData?
|
||||
var currentSessionViewData: UserSessionCardViewData?
|
||||
|
||||
let otherSessionsViewData = self.userSessionListItemViewDataList(from: userSessionsViewData.otherSessionsInfo)
|
||||
|
||||
|
||||
if let currentSessionInfo = userSessionsViewData.currentSessionInfo {
|
||||
currentSessionViewData = UserSessionListItemViewData(userSessionInfo: currentSessionInfo)
|
||||
currentSessionViewData = UserSessionCardViewData(userSessionInfo: currentSessionInfo, isCurrentSessionDisplayMode: true)
|
||||
}
|
||||
|
||||
self.state.unverifiedSessionsViewData = unverifiedSessionsViewData
|
||||
|
||||
+22
-2
@@ -39,7 +39,7 @@ struct UserSessionsOverview: View {
|
||||
|
||||
// Current session section
|
||||
if let currentSessionViewData = viewModel.viewState.currentSessionViewData {
|
||||
// TODO:
|
||||
self.currentSessionsSection(currentSessionViewData: currentSessionViewData)
|
||||
}
|
||||
|
||||
// Other sessions section
|
||||
@@ -56,7 +56,26 @@ struct UserSessionsOverview: View {
|
||||
}
|
||||
}
|
||||
|
||||
var otherSessionsSection: some View {
|
||||
private func currentSessionsSection(currentSessionViewData: UserSessionCardViewData) -> some View {
|
||||
SwiftUI.Section {
|
||||
UserSessionCardView(viewData: currentSessionViewData, onVerifyAction: { _ in
|
||||
viewModel.send(viewAction: .verifyCurrentSession)
|
||||
}, onViewDetailsAction: { _ in
|
||||
viewModel.send(viewAction: .viewCurrentSessionDetails)
|
||||
})
|
||||
.padding(.horizontal, 16)
|
||||
} header: {
|
||||
Text(VectorL10n.userSessionsOverviewCurrentSessionSectionTitle)
|
||||
.font(theme.fonts.footnote)
|
||||
.foregroundColor(theme.colors.secondaryContent)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.padding(.horizontal, 16)
|
||||
.padding(.top, 24)
|
||||
.padding(.bottom, 11)
|
||||
}
|
||||
}
|
||||
|
||||
private var otherSessionsSection: some View {
|
||||
|
||||
SwiftUI.Section {
|
||||
// Device list
|
||||
@@ -81,6 +100,7 @@ struct UserSessionsOverview: View {
|
||||
.padding(.bottom, 11)
|
||||
}
|
||||
.padding(.horizontal, 16)
|
||||
.padding(.top, 24)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user