mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-17 11:08:06 +00:00
Fix keyboard when replying to a message
This commit is contained in:
parent
5b4d1bee69
commit
19eb44882f
3 changed files with 12 additions and 11 deletions
|
|
@ -1100,10 +1100,10 @@ struct ConversationFragment: View {
|
|||
Button {
|
||||
let indexMessage = conversationViewModel.conversationMessagesSection[0].rows.firstIndex(where: {$0.message.id == conversationViewModel.selectedMessage!.message.id})
|
||||
conversationViewModel.selectedMessage = nil
|
||||
if !isMessageTextFocused {
|
||||
isMessageTextFocused = true
|
||||
}
|
||||
conversationViewModel.replyToMessage(index: indexMessage ?? 0, isMessageTextFocused: isMessageTextFocused)
|
||||
conversationViewModel.replyToMessage(index: indexMessage ?? 0, isMessageTextFocused: Binding(
|
||||
get: { isMessageTextFocused },
|
||||
set: { isMessageTextFocused = $0 }
|
||||
))
|
||||
} label: {
|
||||
HStack {
|
||||
Text("menu_reply_to_chat_message")
|
||||
|
|
|
|||
|
|
@ -503,10 +503,10 @@ struct UIList: UIViewRepresentable {
|
|||
|
||||
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
|
||||
let archiveAction = UIContextualAction(style: .normal, title: "") { _, _, completionHandler in
|
||||
if !self.parent.isMessageTextFocused {
|
||||
self.parent.isMessageTextFocused = true
|
||||
}
|
||||
self.parent.conversationViewModel.replyToMessage(index: indexPath.row, isMessageTextFocused: self.parent.isMessageTextFocused)
|
||||
self.parent.conversationViewModel.replyToMessage(index: indexPath.row, isMessageTextFocused: Binding(
|
||||
get: { self.parent.isMessageTextFocused },
|
||||
set: { self.parent.isMessageTextFocused = $0 }
|
||||
))
|
||||
completionHandler(true)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1547,14 +1547,15 @@ class ConversationViewModel: ObservableObject {
|
|||
conversationMessagesSection = []
|
||||
}
|
||||
|
||||
func replyToMessage(index: Int, isMessageTextFocused: Bool) {
|
||||
func replyToMessage(index: Int, isMessageTextFocused: Binding<Bool>) {
|
||||
coreContext.doOnCoreQueue { _ in
|
||||
let messageToReplyTmp = self.conversationMessagesSection[0].rows[index]
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + (isMessageTextFocused ? 0 : 0.22)){
|
||||
DispatchQueue.main.async {
|
||||
withAnimation(.linear(duration: 0.15)) {
|
||||
self.messageToReply = messageToReplyTmp
|
||||
}
|
||||
}
|
||||
isMessageTextFocused.wrappedValue = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue