From bae67ef1db9686f492f87eafc55652ffaf5e4e66 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 7 May 2024 18:16:05 +0400 Subject: [PATCH] fixes --- .../Chat/Contacts/ContactListNavLink.swift | 25 +++++++++++++++++-- .../Views/ChatList/ChatListNavLink.swift | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/Contacts/ContactListNavLink.swift b/apps/ios/Shared/Views/Chat/Contacts/ContactListNavLink.swift index ac7366a32c..80e1142fe8 100644 --- a/apps/ios/Shared/Views/Chat/Contacts/ContactListNavLink.swift +++ b/apps/ios/Shared/Views/Chat/Contacts/ContactListNavLink.swift @@ -37,9 +37,15 @@ struct ContactListNavLink: View { ) } label: { HStack{ - ProfileImage(imageStr: contact.image, size: 38) - .padding(.trailing, 2) + ZStack(alignment: .bottomTrailing) { + ProfileImage(imageStr: contact.image, size: 38) + chatPreviewImageOverlayIcon(contact) + .padding([.bottom, .trailing], 1) + } + .padding(.trailing, 2) + previewTitle(contact) + if contact.contactConnIncognito { Spacer() Image(systemName: "theatermasks") @@ -111,6 +117,21 @@ struct ContactListNavLink: View { .baselineOffset(1) .kerning(-2) } + + @ViewBuilder private func chatPreviewImageOverlayIcon(_ contact: Contact) -> some View { + if !contact.active { + inactiveIcon() + } else { + EmptyView() + } + } + + // TODO smaller + private func inactiveIcon() -> some View { + Image(systemName: "multiply.circle.fill") + .foregroundColor(.secondary.opacity(0.65)) + .background(Circle().foregroundColor(Color(uiColor: .systemBackground))) + } } #Preview { diff --git a/apps/ios/Shared/Views/ChatList/ChatListNavLink.swift b/apps/ios/Shared/Views/ChatList/ChatListNavLink.swift index d9b59d0df8..bbd57e16e2 100644 --- a/apps/ios/Shared/Views/ChatList/ChatListNavLink.swift +++ b/apps/ios/Shared/Views/ChatList/ChatListNavLink.swift @@ -79,7 +79,7 @@ struct ChatListNavLink: View { @ViewBuilder private func contactNavLink(_ contact: Contact) -> some View { Group { - if contact.activeConn == nil && contact.profile.contactLink != nil { + if contact.activeConn == nil && contact.profile.contactLink != nil && contact.active { ChatPreviewView(chat: chat, progressByTimeout: Binding.constant(false)) .frame(height: rowHeights[dynamicTypeSize]) .swipeActions(edge: .trailing, allowsFullSwipe: true) {