mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-19 08:03:50 +02:00
Unverified sessions screen
This commit is contained in:
+21
-20
@@ -18,49 +18,50 @@ import Foundation
|
||||
|
||||
struct UserSessionListItemViewDataFactory {
|
||||
|
||||
func create(from session: UserSessionInfo) -> UserSessionListItemViewData {
|
||||
let sessionName = UserSessionNameFormatter.sessionName(deviceType: session.deviceType,
|
||||
sessionDisplayName: session.name)
|
||||
let sessionDetails = buildSessionDetails(isVerified: session.isVerified,
|
||||
lastActivityDate: session.lastSeenTimestamp,
|
||||
isActive: session.isActive)
|
||||
let deviceAvatarViewData = DeviceAvatarViewData(deviceType: session.deviceType,
|
||||
isVerified: session.isVerified)
|
||||
return UserSessionListItemViewData(sessionId: session.id,
|
||||
func create(from sessionInfo: UserSessionInfo) -> UserSessionListItemViewData {
|
||||
let sessionName = UserSessionNameFormatter.sessionName(deviceType: sessionInfo.deviceType,
|
||||
sessionDisplayName: sessionInfo.name)
|
||||
let sessionDetails = buildSessionDetails(sessionInfo: sessionInfo)
|
||||
let deviceAvatarViewData = DeviceAvatarViewData(deviceType: sessionInfo.deviceType,
|
||||
isVerified: sessionInfo.isVerified)
|
||||
return UserSessionListItemViewData(sessionId: sessionInfo.id,
|
||||
sessionName: sessionName,
|
||||
sessionDetails: sessionDetails,
|
||||
highlightSessionDetails: sessionInfo.isCurrent,
|
||||
deviceAvatarViewData: deviceAvatarViewData,
|
||||
sessionDetailsIcon: getSessionDetailsIcon(isActive: session.isActive))
|
||||
sessionDetailsIcon: getSessionDetailsIcon(isActive: sessionInfo.isActive))
|
||||
}
|
||||
|
||||
private func buildSessionDetails(isVerified: Bool, lastActivityDate: TimeInterval?, isActive: Bool) -> String {
|
||||
if isActive {
|
||||
return activeSessionDetails(isVerified: isVerified, lastActivityDate: lastActivityDate)
|
||||
private func buildSessionDetails(sessionInfo: UserSessionInfo) -> String {
|
||||
if sessionInfo.isActive {
|
||||
return activeSessionDetails(sessionInfo: sessionInfo)
|
||||
} else {
|
||||
return inactiveSessionDetails(lastActivityDate: lastActivityDate)
|
||||
return inactiveSessionDetails(sessionInfo: sessionInfo)
|
||||
}
|
||||
}
|
||||
|
||||
private func inactiveSessionDetails(lastActivityDate: TimeInterval?) -> String {
|
||||
if let lastActivityDate = lastActivityDate {
|
||||
private func inactiveSessionDetails(sessionInfo: UserSessionInfo) -> String {
|
||||
if let lastActivityDate = sessionInfo.lastSeenTimestamp {
|
||||
let lastActivityDateString = InactiveUserSessionLastActivityFormatter.lastActivityDateString(from: lastActivityDate)
|
||||
return VectorL10n.userInactiveSessionItemWithDate(lastActivityDateString)
|
||||
}
|
||||
return VectorL10n.userInactiveSessionItem
|
||||
}
|
||||
|
||||
private func activeSessionDetails(isVerified: Bool, lastActivityDate: TimeInterval?) -> String {
|
||||
private func activeSessionDetails(sessionInfo: UserSessionInfo) -> String {
|
||||
let sessionDetailsString: String
|
||||
|
||||
let sessionStatusText = isVerified ? VectorL10n.userSessionVerifiedShort : VectorL10n.userSessionUnverifiedShort
|
||||
let sessionStatusText = sessionInfo.isVerified ? VectorL10n.userSessionVerifiedShort : VectorL10n.userSessionUnverifiedShort
|
||||
|
||||
var lastActivityDateString: String?
|
||||
|
||||
if let lastActivityDate = lastActivityDate {
|
||||
if let lastActivityDate = sessionInfo.lastSeenTimestamp {
|
||||
lastActivityDateString = UserSessionLastActivityFormatter.lastActivityDateString(from: lastActivityDate)
|
||||
}
|
||||
|
||||
if let lastActivityDateString = lastActivityDateString, lastActivityDateString.isEmpty == false {
|
||||
if sessionInfo.isCurrent {
|
||||
sessionDetailsString = VectorL10n.userOtherSessionUnverifiedCurrentSessionDetails(sessionStatusText)
|
||||
} else if let lastActivityDateString = lastActivityDateString, lastActivityDateString.isEmpty == false {
|
||||
sessionDetailsString = VectorL10n.userSessionItemDetails(sessionStatusText, lastActivityDateString)
|
||||
} else {
|
||||
sessionDetailsString = sessionStatusText
|
||||
|
||||
Reference in New Issue
Block a user