diff --git a/cmd/message_input.go b/cmd/message_input.go index 2ab9b57..a014a79 100644 --- a/cmd/message_input.go +++ b/cmd/message_input.go @@ -17,11 +17,13 @@ import ( type MessageInput struct { *tview.TextArea + replyMessageIdx int } func newMessageInput() *MessageInput { mi := &MessageInput{ TextArea: tview.NewTextArea(), + replyMessageIdx: -1, } mi.SetTextStyle(tcell.StyleDefault.Background(tcell.GetColor(cfg.Theme.BackgroundColor))) @@ -62,6 +64,7 @@ func (mi *MessageInput) onInputCapture(event *tcell.EventKey) *tcell.EventKey { mainFlex.messageInput.launchEditorAction() return nil case cfg.Keys.Cancel: + mi.replyMessageIdx = -1 mi.reset() return nil } @@ -79,7 +82,7 @@ func (mi *MessageInput) sendAction() { return } - if mainFlex.messagesText.selectedMessage != -1 { + if mi.replyMessageIdx != -1 { ms, err := discordState.Cabinet.Messages(mainFlex.guildsTree.selectedChannelID) if err != nil { log.Println(err) @@ -88,7 +91,7 @@ func (mi *MessageInput) sendAction() { data := api.SendMessageData{ Content: text, - Reference: &discord.MessageReference{MessageID: ms[mainFlex.messagesText.selectedMessage].ID}, + Reference: &discord.MessageReference{MessageID: ms[mi.replyMessageIdx].ID}, AllowedMentions: &api.AllowedMentions{RepliedUser: option.False}, } @@ -101,7 +104,7 @@ func (mi *MessageInput) sendAction() { go discordState.SendMessage(mainFlex.guildsTree.selectedChannelID, text) } - mainFlex.messagesText.selectedMessage = -1 + mi.replyMessageIdx = -1 mainFlex.messagesText.Highlight() mi.reset() } diff --git a/cmd/messages_text.go b/cmd/messages_text.go index 97040dc..975beee 100644 --- a/cmd/messages_text.go +++ b/cmd/messages_text.go @@ -187,6 +187,7 @@ func (mt *MessagesText) replyAction(mention bool) { title += ms[mt.selectedMessage].Author.Tag() mainFlex.messageInput.SetTitle(title) + mainFlex.messageInput.replyMessageIdx = mt.selectedMessage app.SetFocus(mainFlex.messageInput) }