mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-20 16:42:44 +02:00
Session selection state
This commit is contained in:
+1
-1
@@ -39,7 +39,7 @@ struct UserSessionListItem: View {
|
||||
VStack(alignment: .leading, spacing: LayoutConstants.verticalPadding) {
|
||||
HStack(spacing: LayoutConstants.avatarRightMargin) {
|
||||
if isEditModeEnabled {
|
||||
Image(Asset.Images.userSessionListItemNotSelected.name)
|
||||
Image(viewData.isSelected ? Asset.Images.userSessionListItemSelected.name : Asset.Images.userSessionListItemNotSelected.name)
|
||||
}
|
||||
DeviceAvatarView(viewData: viewData.deviceAvatarViewData)
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
|
||||
+5
-1
@@ -16,13 +16,15 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
typealias SessionId = String
|
||||
|
||||
/// View data for UserSessionListItem
|
||||
struct UserSessionListItemViewData: Identifiable, Hashable {
|
||||
var id: String {
|
||||
sessionId
|
||||
}
|
||||
|
||||
let sessionId: String
|
||||
let sessionId: SessionId
|
||||
|
||||
let sessionName: String
|
||||
|
||||
@@ -33,4 +35,6 @@ struct UserSessionListItemViewData: Identifiable, Hashable {
|
||||
let deviceAvatarViewData: DeviceAvatarViewData
|
||||
|
||||
let sessionDetailsIcon: String?
|
||||
|
||||
let isSelected: Bool
|
||||
}
|
||||
|
||||
+5
-2
@@ -17,7 +17,9 @@
|
||||
import Foundation
|
||||
|
||||
struct UserSessionListItemViewDataFactory {
|
||||
func create(from sessionInfo: UserSessionInfo, highlightSessionDetails: Bool = false) -> UserSessionListItemViewData {
|
||||
func create(from sessionInfo: UserSessionInfo,
|
||||
highlightSessionDetails: Bool = false,
|
||||
isSelected: Bool = false) -> UserSessionListItemViewData {
|
||||
let sessionName = UserSessionNameFormatter.sessionName(deviceType: sessionInfo.deviceType,
|
||||
sessionDisplayName: sessionInfo.name)
|
||||
let sessionDetails = buildSessionDetails(sessionInfo: sessionInfo)
|
||||
@@ -28,7 +30,8 @@ struct UserSessionListItemViewDataFactory {
|
||||
sessionDetails: sessionDetails,
|
||||
highlightSessionDetails: highlightSessionDetails,
|
||||
deviceAvatarViewData: deviceAvatarViewData,
|
||||
sessionDetailsIcon: getSessionDetailsIcon(isActive: sessionInfo.isActive))
|
||||
sessionDetailsIcon: getSessionDetailsIcon(isActive: sessionInfo.isActive),
|
||||
isSelected: isSelected)
|
||||
}
|
||||
|
||||
private func buildSessionDetails(sessionInfo: UserSessionInfo) -> String {
|
||||
|
||||
Reference in New Issue
Block a user