mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-06 20:38:41 +00:00
Fix scrambled screen when searchinfg (#2191)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
This commit is contained in:
@@ -33,12 +33,12 @@ struct InviteUsersScreen: View {
|
||||
.searchableConfiguration(hidesNavigationBar: false)
|
||||
.compoundSearchField()
|
||||
.alert(item: $context.alertInfo)
|
||||
.readFrame($frame)
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
private var mainContent: some View {
|
||||
GeometryReader { proxy in
|
||||
Form {
|
||||
// this is a fix for having the carousel not clipped, and inside the form, so when the search is dismissed, it wont break the design
|
||||
Section {
|
||||
@@ -47,6 +47,7 @@ struct InviteUsersScreen: View {
|
||||
VStack(spacing: 8) {
|
||||
selectedUsersSection
|
||||
.textCase(.none)
|
||||
.frame(width: proxy.size.width)
|
||||
|
||||
if context.viewState.isSearching {
|
||||
ProgressView()
|
||||
@@ -63,6 +64,7 @@ struct InviteUsersScreen: View {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private var noResultsContent: some View {
|
||||
Text(L10n.commonNoResults)
|
||||
@@ -97,7 +99,6 @@ struct InviteUsersScreen: View {
|
||||
}
|
||||
}
|
||||
|
||||
@State private var frame: CGRect = .zero
|
||||
@ScaledMetric private var cellWidth: CGFloat = 72
|
||||
|
||||
private var selectedUsersSection: some View {
|
||||
@@ -120,7 +121,6 @@ struct InviteUsersScreen: View {
|
||||
.padding(.horizontal, 14)
|
||||
}
|
||||
}
|
||||
.frame(width: frame.width)
|
||||
}
|
||||
|
||||
@ToolbarContentBuilder
|
||||
|
||||
+10
-2
@@ -28,11 +28,13 @@ struct MessageForwardingScreen: View {
|
||||
}
|
||||
// Replace these with ScrollView's `scrollPosition` when dropping iOS 16.
|
||||
} header: {
|
||||
Rectangle().hidden().onAppear {
|
||||
emptyRectangle
|
||||
.onAppear {
|
||||
context.send(viewAction: .reachedTop)
|
||||
}
|
||||
} footer: {
|
||||
Rectangle().hidden().onAppear {
|
||||
emptyRectangle
|
||||
.onAppear {
|
||||
context.send(viewAction: .reachedBottom)
|
||||
}
|
||||
}
|
||||
@@ -59,6 +61,12 @@ struct MessageForwardingScreen: View {
|
||||
.compoundSearchField()
|
||||
.disableAutocorrection(true)
|
||||
}
|
||||
|
||||
/// The greedy size of Rectangle can create an issue with the navigation bar when the search is highlighted, so is best to use a fixed frame instead of hidden() or EmptyView()
|
||||
private var emptyRectangle: some View {
|
||||
Rectangle()
|
||||
.frame(width: 0, height: 0)
|
||||
}
|
||||
}
|
||||
|
||||
private struct MessageForwardingRoomCell: View {
|
||||
|
||||
@@ -37,6 +37,7 @@ struct StartChatScreen: View {
|
||||
.disableInteractiveDismissOnSearch()
|
||||
.dismissSearchOnDisappear()
|
||||
.searchable(text: $context.searchQuery, placement: .navigationBarDrawer(displayMode: .always), prompt: L10n.commonSearchForSomeone)
|
||||
.searchableConfiguration(hidesNavigationBar: false)
|
||||
.compoundSearchField()
|
||||
.alert(item: $context.alertInfo)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user