diff options
| author | Kyren223 <Kyren223@proton.me> | 2024-12-21 18:29:29 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2024-12-21 18:29:29 +0200 |
| commit | e88c5f242dbb30f5fc7a9dfb581fa519d2e5ff11 (patch) | |
| tree | ecfeab1db33922fe115b88b2b8e57efb28f40493 /internal/client/ui/core/chat | |
| parent | 3c35c3dbfab1ed6ee2e193f881fad4ed5754d0c0 (diff) | |
Implemented fetching existing messages when changing frequencies
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 { |
