diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-02-05 16:45:01 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-02-05 16:45:01 +0200 |
| commit | 9d1158f03e63c32c426f3ee9edfce310dd4c2492 (patch) | |
| tree | 5b37029312cf054676140c1afffd045874910da0 /internal/client | |
| parent | f0607f16633d266f55a4b08f7edbbc13d08121ae (diff) | |
Implemented deleting messages in user signals
Diffstat (limited to 'internal/client')
| -rw-r--r-- | internal/client/ui/core/chat/chat.go | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/internal/client/ui/core/chat/chat.go b/internal/client/ui/core/chat/chat.go index 7d4ec6a..6a2e102 100644 --- a/internal/client/ui/core/chat/chat.go +++ b/internal/client/ui/core/chat/chat.go @@ -371,32 +371,38 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { } case "x", "d": - if m.selectedMessage != nil { - log.Println("deleting message:", m.selectedMessage) - cmd = gateway.Send(&packet.DeleteMessage{ - Message: m.selectedMessage.ID, - }) + if m.selectedMessage == nil { + return m, nil } + log.Println("deleting message:", m.selectedMessage) + cmd = gateway.Send(&packet.DeleteMessage{ + Message: m.selectedMessage.ID, + }) case "e": - if m.selectedMessage != nil && m.selectedMessage.SenderID == *state.UserID { - log.Println("editing message:", m.selectedMessage) - m.editingMessage = m.selectedMessage + if m.selectedMessage == nil { + return m, nil + } + if m.selectedMessage.SenderID != *state.UserID { + return m, nil + } - m.vi.Reset() - m.vi.SetString(m.selectedMessage.Content) + log.Println("editing message:", m.selectedMessage) + m.editingMessage = m.selectedMessage - m.locked = true - m.vi.SetMode(viminput.InsertMode) - m.vi.SetCursorLine(len(m.vi.Lines()) - 1) - m.vi.SetCursorColumn(len(m.vi.Lines()[m.vi.CursorLine()])) + m.vi.Reset() + m.vi.SetString(m.selectedMessage.Content) - m.borderStyle = ViEditBorder - m.style = editStyle - } + m.locked = true + m.vi.SetMode(viminput.InsertMode) + m.vi.SetCursorLine(len(m.vi.Lines()) - 1) + m.vi.SetCursorColumn(len(m.vi.Lines()[m.vi.CursorLine()])) + + m.borderStyle = ViEditBorder + m.style = editStyle case "T": - if m.selectedMessage == nil { + if m.selectedMessage == nil || m.receiverIndex != -1 { return m, nil } senderId := m.selectedMessage.SenderID @@ -414,7 +420,7 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { // Admin case "K": - if m.selectedMessage == nil { + if m.selectedMessage == nil || m.receiverIndex != -1 { return m, nil } networkId := state.NetworkId(m.networkIndex) @@ -445,7 +451,7 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { User: member.UserID, }) case "M": - if m.selectedMessage == nil { + if m.selectedMessage == nil || m.receiverIndex != -1 { return m, nil } networkId := state.NetworkId(m.networkIndex) @@ -480,7 +486,7 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { User: member.UserID, }) case "U": - if m.selectedMessage == nil { + if m.selectedMessage == nil || m.receiverIndex != -1 { return m, nil } networkId := state.NetworkId(m.networkIndex) @@ -515,7 +521,7 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { User: member.UserID, }) case "B": - if m.selectedMessage == nil { + if m.selectedMessage == nil || m.receiverIndex != -1 { return m, nil } networkId := state.NetworkId(m.networkIndex) @@ -545,9 +551,10 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { // Owner case "D": - if m.selectedMessage == nil { + if m.selectedMessage == nil || m.receiverIndex != -1 { return m, nil } + networkId := state.NetworkId(m.networkIndex) network := state.State.Networks[*networkId] senderId := m.selectedMessage.SenderID @@ -573,7 +580,7 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { User: member.UserID, }) case "P": - if m.selectedMessage == nil { + if m.selectedMessage == nil || m.receiverIndex != -1 { return m, nil } networkId := state.NetworkId(m.networkIndex) |
