Map location info

This commit is contained in:
Alfonso Grillo
2022-11-02 15:25:46 +01:00
parent 3141c39cab
commit 8a5c5a7e07
5 changed files with 18 additions and 12 deletions

View File

@@ -20,6 +20,8 @@ struct UserSessionListItem: View {
@Environment(\.theme) private var theme: ThemeSwiftUI
let viewData: UserSessionListItemViewData
let showsLocationInfo: Bool
var isSeparatorHidden = false
var isEditModeEnabled = false
var onBackgroundTap: ((String) -> Void)?
@@ -76,6 +78,13 @@ struct UserSessionListItem: View {
.frame(maxWidth: .infinity, alignment: .leading)
.accessibilityIdentifier("UserSessionListItem_\(viewData.sessionId)")
}
private var ipText: String? {
guard let lastSeenIp = viewData.lastSeenIP, !lastSeenIp.isEmpty else {
return nil
}
return viewData.lastSeenIPLocation.map { "\(lastSeenIp) (\($0))" } ?? lastSeenIp
}
}
struct UserSessionListPreview: View {
@@ -86,7 +95,7 @@ struct UserSessionListPreview: View {
VStack(alignment: .leading, spacing: 0) {
ForEach(userSessionsOverviewService.otherSessions) { userSessionInfo in
let viewData = UserSessionListItemViewDataFactory().create(from: userSessionInfo)
UserSessionListItem(viewData: viewData, isEditModeEnabled: isEditModeEnabled, onBackgroundTap: { _ in
UserSessionListItem(viewData: viewData, showsLocationInfo: true, isEditModeEnabled: isEditModeEnabled, onBackgroundTap: { _ in
})
}
}