mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-25 11:02:48 +02:00
Identify inactive sessions
This commit is contained in:
@@ -65,13 +65,18 @@ struct UserSessionCardView: View {
|
||||
|
||||
if showExtraInformations {
|
||||
VStack(spacing: 2) {
|
||||
if let lastActivityDateString = viewData.lastActivityDateString, lastActivityDateString.isEmpty == false {
|
||||
Text(lastActivityDateString)
|
||||
.font(theme.fonts.footnote)
|
||||
.foregroundColor(theme.colors.secondaryContent)
|
||||
.multilineTextAlignment(.center)
|
||||
HStack {
|
||||
if let lastActivityIcon = viewData.lastActivityIcon {
|
||||
Image(lastActivityIcon)
|
||||
.padding(.leading, 2)
|
||||
}
|
||||
if let lastActivityDateString = viewData.lastActivityDateString, lastActivityDateString.isEmpty == false {
|
||||
Text(lastActivityDateString)
|
||||
.font(theme.fonts.footnote)
|
||||
.foregroundColor(theme.colors.secondaryContent)
|
||||
.multilineTextAlignment(.center)
|
||||
}
|
||||
}
|
||||
|
||||
if let lastSeenIPInfo = viewData.lastSeenIPInfo, lastSeenIPInfo.isEmpty == false {
|
||||
Text(lastSeenIPInfo)
|
||||
.font(theme.fonts.footnote)
|
||||
|
||||
@@ -32,6 +32,8 @@ struct UserSessionCardViewData {
|
||||
|
||||
let lastActivityDateString: String?
|
||||
|
||||
var lastActivityIcon: String?
|
||||
|
||||
let lastSeenIPInfo: String?
|
||||
|
||||
let deviceAvatarViewData: DeviceAvatarViewData
|
||||
@@ -93,17 +95,22 @@ struct UserSessionCardViewData {
|
||||
verificationState: UserSessionInfo.VerificationState,
|
||||
lastActivityTimestamp: TimeInterval?,
|
||||
lastSeenIP: String?,
|
||||
isCurrentSessionDisplayMode: Bool = false) {
|
||||
isCurrentSessionDisplayMode: Bool = false,
|
||||
isActive: Bool) {
|
||||
self.sessionId = sessionId
|
||||
sessionName = UserSessionNameFormatter.sessionName(deviceType: deviceType, sessionDisplayName: sessionDisplayName)
|
||||
self.verificationState = verificationState
|
||||
|
||||
var lastActivityDateString: String?
|
||||
|
||||
if let lastActivityTimestamp = lastActivityTimestamp {
|
||||
lastActivityDateString = UserSessionLastActivityFormatter.lastActivityDateString(from: lastActivityTimestamp)
|
||||
if isActive {
|
||||
lastActivityDateString = UserSessionLastActivityFormatter.lastActivityDateString(from: lastActivityTimestamp)
|
||||
} else {
|
||||
let dateString = InactiveUserSessionLastActivityFormatter.lastActivityDateString(from: lastActivityTimestamp)
|
||||
lastActivityDateString = VectorL10n.userInactiveSessionItemWithDate(dateString)
|
||||
lastActivityIcon = Asset.Images.userSessionListItemInactiveSession.name
|
||||
}
|
||||
}
|
||||
|
||||
self.lastActivityDateString = lastActivityDateString
|
||||
lastSeenIPInfo = lastSeenIP
|
||||
deviceAvatarViewData = DeviceAvatarViewData(deviceType: deviceType, verificationState: verificationState)
|
||||
@@ -120,6 +127,7 @@ extension UserSessionCardViewData {
|
||||
verificationState: sessionInfo.verificationState,
|
||||
lastActivityTimestamp: sessionInfo.lastSeenTimestamp,
|
||||
lastSeenIP: sessionInfo.lastSeenIP,
|
||||
isCurrentSessionDisplayMode: sessionInfo.isCurrent)
|
||||
isCurrentSessionDisplayMode: sessionInfo.isCurrent,
|
||||
isActive: sessionInfo.isActive)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user