From f8797707fbf2b829ce06617952d2adedb906ac02 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Fri, 28 Jun 2024 11:55:59 +0400 Subject: [PATCH] sort --- apps/ios/Shared/Views/ChatList/ServersSummaryView.swift | 8 ++++++-- apps/ios/SimpleXChat/APITypes.swift | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/ios/Shared/Views/ChatList/ServersSummaryView.swift b/apps/ios/Shared/Views/ChatList/ServersSummaryView.swift index 1359649773..f711fb4e91 100644 --- a/apps/ios/Shared/Views/ChatList/ServersSummaryView.swift +++ b/apps/ios/Shared/Views/ChatList/ServersSummaryView.swift @@ -187,7 +187,11 @@ struct ServersSummaryView: View { _ header: LocalizedStringKey? = nil, _ footer: LocalizedStringKey? = nil ) -> some View { - let sortedServers = servers.sorted { serverAddress($0.smpServer).compare(serverAddress($1.smpServer)) == .orderedAscending } + let sortedServers = servers.sorted { + $0.connected == $1.connected + ? serverAddress($0.smpServer) < serverAddress($1.smpServer) + : $0.connected && !$1.connected + } Section { ForEach(sortedServers) { server in smpServerView(server, showReconnectButton, statsStartedAt) @@ -235,7 +239,7 @@ struct ServersSummaryView: View { _ header: LocalizedStringKey? = nil, _ footer: LocalizedStringKey? = nil ) -> some View { - let sortedServers = servers.sorted { serverAddress($0.xftpServer).compare(serverAddress($1.xftpServer)) == .orderedAscending } + let sortedServers = servers.sorted { serverAddress($0.xftpServer) < serverAddress($1.xftpServer) } Section { ForEach(sortedServers) { server in xftpServerView(server, statsStartedAt) diff --git a/apps/ios/SimpleXChat/APITypes.swift b/apps/ios/SimpleXChat/APITypes.swift index 89417009cf..4394a11778 100644 --- a/apps/ios/SimpleXChat/APITypes.swift +++ b/apps/ios/SimpleXChat/APITypes.swift @@ -2279,6 +2279,8 @@ public struct SMPServerSummary: Codable, Identifiable { public var stats: AgentSMPServerStatsData? public var id: String { smpServer } + + public var connected: Bool { sessions != nil || subs != nil } } public struct ServerSessions: Codable {