feat: implement delete action

This commit is contained in:
ayn2op 2023-09-14 11:52:31 +05:30
parent 1794df79cb
commit 88d71f70c1
2 changed files with 40 additions and 0 deletions

View file

@ -140,6 +140,9 @@ func (mt *MessagesText) onInputCapture(event *tcell.EventKey) *tcell.EventKey {
case config.Current.Keys.MessagesText.ShowImage:
mt.showImageAction()
return nil
case config.Current.Keys.MessagesText.Delete:
mt.deleteAction()
return nil
case config.Current.Keys.Cancel:
mainFlex.guildsTree.selectedChannelID = 0
@ -309,3 +312,36 @@ func (mt *MessagesText) showImageAction() {
app.SetRoot(ai, true)
}
func (mt *MessagesText) deleteAction() {
if mt.selectedMessage == -1 {
return
}
ms, err := discordState.Cabinet.Messages(mainFlex.guildsTree.selectedChannelID)
if err != nil {
log.Println(err)
return
}
m := ms[mt.selectedMessage]
if err := discordState.DeleteMessage(mainFlex.guildsTree.selectedChannelID, m.ID, ""); err != nil {
log.Println(err)
}
if err := discordState.MessageRemove(mainFlex.guildsTree.selectedChannelID, m.ID); err != nil {
log.Println(err)
}
ms, err = discordState.Cabinet.Messages(mainFlex.guildsTree.selectedChannelID)
if err != nil {
log.Println(err)
return
}
mt.Clear()
for i := len(ms) - 1; i >= 0; i-- {
mainFlex.messagesText.createMessage(ms[i])
}
}

View file

@ -16,6 +16,8 @@ type (
ReplyMention string `yaml:"reply_mention"`
SelectReply string `yaml:"select_reply"`
Delete string `yaml:"delete"`
SelectPrevious string `yaml:"select_previous"`
SelectNext string `yaml:"select_next"`
SelectFirst string `yaml:"select_first"`
@ -57,6 +59,8 @@ func defKeys() Keys {
ReplyMention: "Rune[R]",
SelectReply: "Rune[s]",
Delete: "Rune[d]",
SelectPrevious: "Up",
SelectNext: "Down",
SelectFirst: "Home",