fix: allow verification sheet in private chat via sidebar navigation (#988) (#1046)

Co-authored-by: jack <212554440+jackjackbits@users.noreply.github.com>
This commit is contained in:
chernomortsev evgeny
2026-03-12 08:44:43 -10:00
committed by GitHub
co-authored by jack
parent 02b2a006c5
commit 187a5c3195
+16 -1
View File
@@ -192,7 +192,7 @@ struct ContentView: View {
.onDisappear { viewModel.isAppInfoPresented = false }
}
.sheet(isPresented: Binding(
get: { viewModel.showingFingerprintFor != nil },
get: { viewModel.showingFingerprintFor != nil && !showSidebar && viewModel.selectedPrivateChatPeer == nil },
set: { _ in viewModel.showingFingerprintFor = nil }
)) {
if let peerID = viewModel.showingFingerprintFor {
@@ -791,6 +791,7 @@ struct ContentView: View {
// MARK: - Sheet Content
private var peopleSheetView: some View {
NavigationStack {
Group {
if viewModel.selectedPrivateChatPeer != nil {
privateChatSheetView
@@ -798,6 +799,20 @@ struct ContentView: View {
peopleListSheetView
}
}
.navigationDestination(isPresented: Binding(
get: { viewModel.showingFingerprintFor != nil && (showSidebar || viewModel.selectedPrivateChatPeer != nil) },
set: { isPresented in
if !isPresented {
viewModel.showingFingerprintFor = nil
}
}
)) {
if let peerID = viewModel.showingFingerprintFor {
FingerprintView(viewModel: viewModel, peerID: peerID)
.environmentObject(viewModel)
}
}
}
.background(backgroundColor)
.foregroundColor(textColor)
#if os(macOS)