mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Small tweaks (#482)
* #449: Hide the keyboard when scrolling during a search. * Tidy up the reactions picker.
This commit is contained in:
@@ -22,6 +22,8 @@ struct EmojiPickerHeaderView: View {
|
||||
var body: some View {
|
||||
HStack {
|
||||
Text(title)
|
||||
.font(.element.subheadline.bold())
|
||||
.foregroundColor(.element.primaryContent)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,24 +19,27 @@ import SwiftUI
|
||||
struct EmojiPickerScreen: View {
|
||||
@ObservedObject var context: EmojiPickerScreenViewModel.Context
|
||||
@State var searchString = ""
|
||||
@ScaledMetric(relativeTo: .title) var minimumWidth: Double = 50
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
LazyVGrid(columns: [GridItem(.adaptive(minimum: 45))], spacing: 3) {
|
||||
LazyVGrid(columns: [GridItem(.adaptive(minimum: minimumWidth))], spacing: 16) {
|
||||
ForEach(context.viewState.categories) { category in
|
||||
Section(header: EmojiPickerHeaderView(title: category.name)
|
||||
.padding(.horizontal, 13)
|
||||
.padding(.top, 10)) {
|
||||
ForEach(category.emojis) { emoji in
|
||||
Text(emoji.value)
|
||||
.frame(width: 45, height: 45)
|
||||
.onTapGesture {
|
||||
context.send(viewAction: .emojiTapped(emoji: emoji))
|
||||
}
|
||||
Button {
|
||||
context.send(viewAction: .emojiTapped(emoji: emoji))
|
||||
} label: {
|
||||
Text(emoji.value)
|
||||
.font(.element.title1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding(.horizontal, 6)
|
||||
}
|
||||
.navigationTitle(ElementL10n.reactions)
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
@@ -65,5 +68,6 @@ struct EmojiPickerScreen_Previews: PreviewProvider {
|
||||
NavigationStack {
|
||||
EmojiPickerScreen(context: EmojiPickerScreenViewModel(emojiProvider: EmojiProvider()).context)
|
||||
}
|
||||
.tint(.element.accent)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@ struct HomeScreen: View {
|
||||
.disableAutocorrection(true)
|
||||
}
|
||||
}
|
||||
.scrollDismissesKeyboard(.immediately)
|
||||
.disabled(context.viewState.roomListMode == .skeletons)
|
||||
.animation(.elementDefault, value: context.viewState.showSessionVerificationBanner)
|
||||
.animation(.elementDefault, value: context.viewState.roomListMode)
|
||||
|
||||
Reference in New Issue
Block a user