summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2024-12-21 16:21:16 +0200
committerKyren223 <Kyren223@proton.me>2024-12-21 16:21:16 +0200
commit4db087dbe44795a895febef14e8c7634f84719b5 (patch)
tree99e1369eb8357e404d6eb5039859ef302f6b77da /internal
parentcee4c74bf58b469eb48dbbf71c8d8fe43caa0bc8 (diff)
Selected message automatically diselects itself when switching frequency
Diffstat (limited to 'internal')
-rw-r--r--internal/client/ui/core/chat/chat.go25
-rw-r--r--internal/client/ui/core/core.go4
2 files changed, 21 insertions, 8 deletions
diff --git a/internal/client/ui/core/chat/chat.go b/internal/client/ui/core/chat/chat.go
index b2f33a5..83edc8f 100644
--- a/internal/client/ui/core/chat/chat.go
+++ b/internal/client/ui/core/chat/chat.go
@@ -329,13 +329,28 @@ func (m *Model) sendMessage() tea.Cmd {
})
}
-func (m *Model) SetNetworkIndex(networkIndex int) {
- m.networkIndex = networkIndex
+// func (m *Model) SetNetworkIndex(networkIndex int) {
+// if m.networkIndex != networkIndex {
+// m.index = -1
+// }
+// m.networkIndex = networkIndex
+// }
+
+func (m *Model) SetReceiver(receiverIndex int) {
+ if m.receiverIndex == nil || *m.receiverIndex != receiverIndex {
+ m.index = -1
+ }
+ m.receiverIndex = &receiverIndex
+ m.frequencyIndex = nil
}
-func (m *Model) Set(receiverIndex, frequencyIndex *int) {
- m.receiverIndex = receiverIndex
- m.frequencyIndex = frequencyIndex
+func (m *Model) SetFrequency(networkIndex, frequencyIndex int) {
+ if m.frequencyIndex == nil || *m.frequencyIndex != frequencyIndex {
+ m.index = -1
+ }
+ m.receiverIndex = nil
+ m.frequencyIndex = &frequencyIndex
+ m.networkIndex = networkIndex
}
func (m *Model) renderMessage(message data.Message, builder *strings.Builder, header bool) int {
diff --git a/internal/client/ui/core/core.go b/internal/client/ui/core/core.go
index 4c3db77..11da7ef 100644
--- a/internal/client/ui/core/core.go
+++ b/internal/client/ui/core/core.go
@@ -313,11 +313,9 @@ func (m *Model) updateConnected(msg tea.Msg) tea.Cmd {
case FocusNetworkList:
m.networkList, cmd = m.networkList.Update(msg)
m.frequencyList.SetNetworkIndex(m.networkList.Index())
- m.chat.SetNetworkIndex(m.networkList.Index())
case FocusFrequencyList:
m.frequencyList, cmd = m.frequencyList.Update(msg)
- index := m.frequencyList.Index()
- m.chat.Set(nil, &index)
+ m.chat.SetFrequency(m.networkList.Index(), m.frequencyList.Index())
case FocusChat:
m.chat, cmd = m.chat.Update(msg)
}