diff options
Diffstat (limited to 'internal/client/ui/core/chat')
| -rw-r--r-- | internal/client/ui/core/chat/chat.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/internal/client/ui/core/chat/chat.go b/internal/client/ui/core/chat/chat.go index 6ae7cdd..acc4da8 100644 --- a/internal/client/ui/core/chat/chat.go +++ b/internal/client/ui/core/chat/chat.go @@ -344,15 +344,15 @@ func (m *Model) SetReceiver(receiverIndex int) { m.RestoreAfterSwitch() } -func (m *Model) SetFrequency(networkIndex, frequencyIndex int) { +func (m *Model) SetFrequency(networkIndex, frequencyIndex int) tea.Cmd { if m.frequencyIndex == frequencyIndex && m.networkIndex == networkIndex { - return + return nil } m.ResetBeforeSwitch() m.receiverIndex = -1 m.frequencyIndex = frequencyIndex m.networkIndex = networkIndex - m.RestoreAfterSwitch() + return m.RestoreAfterSwitch() } func (m *Model) ResetBeforeSwitch() { @@ -368,7 +368,7 @@ func (m *Model) ResetBeforeSwitch() { } } -func (m *Model) RestoreAfterSwitch() { +func (m *Model) RestoreAfterSwitch() tea.Cmd { msgs := state.State.IncompleteMessages if m.frequencyIndex != -1 && m.networkIndex != -1 { network := state.State.Networks[m.networkIndex] @@ -377,9 +377,15 @@ func (m *Model) RestoreAfterSwitch() { if val, ok := msgs[frequencyId]; ok { m.vi.SetString(val) } + return gateway.Send(&packet.RequestMessages{ + ReceiverID: nil, + FrequencyID: &frequencyId, + }) } else if m.receiverIndex != -1 { // TODO: receiver } + + return nil } func (m *Model) renderMessage(message data.Message, builder *strings.Builder, header bool) int { |
