summaryrefslogtreecommitdiff
path: root/internal/client/ui/core
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2024-12-01 10:09:21 +0200
committerKyren223 <Kyren223@proton.me>2024-12-01 10:09:21 +0200
commit78a38f508e7b9d2389c9c422c2d164b9059b03f8 (patch)
tree67550791d99597eaa6ab50334ccc880f06a8de17 /internal/client/ui/core
parent94166da109cf19ce48311d07aa67875fcb85f178 (diff)
Implemented frequency creation, BROKEN right now
Diffstat (limited to 'internal/client/ui/core')
-rw-r--r--internal/client/ui/core/core.go25
1 files changed, 24 insertions, 1 deletions
diff --git a/internal/client/ui/core/core.go b/internal/client/ui/core/core.go
index 27c6b96..5031dc0 100644
--- a/internal/client/ui/core/core.go
+++ b/internal/client/ui/core/core.go
@@ -19,6 +19,7 @@ import (
"github.com/kyren223/eko/internal/client/ui/core/networklist"
"github.com/kyren223/eko/internal/client/ui/core/state"
"github.com/kyren223/eko/internal/client/ui/loadscreen"
+ "github.com/kyren223/eko/internal/data"
"github.com/kyren223/eko/internal/packet"
"github.com/kyren223/eko/pkg/assert"
"github.com/kyren223/eko/pkg/snowflake"
@@ -165,7 +166,6 @@ func (m *Model) updateConnected(msg tea.Msg) tea.Cmd {
if msg.Set {
state.State.Networks = msg.Networks
} else {
- // state.State.Networks = append(state.State.Networks, msg.Networks...)
networks := state.State.Networks
networks = append(networks, msg.Networks...)
networks = slices.DeleteFunc(networks, func(network packet.FullNetwork) bool {
@@ -178,6 +178,29 @@ func (m *Model) updateConnected(msg tea.Msg) tea.Cmd {
state.State.Networks = networks
}
+ case *packet.FrequenciesInfo:
+ var network *packet.FullNetwork
+ for i, fullNetwork := range state.State.Networks {
+ if fullNetwork.ID == msg.Network {
+ network = &state.State.Networks[i]
+ }
+ }
+
+ if msg.Set {
+ network.Frequencies = msg.Frequencies
+ } else {
+ frequencies := network.Frequencies
+ frequencies = append(frequencies, msg.Frequencies...)
+ frequencies = slices.DeleteFunc(frequencies, func(frequency data.Frequency) bool {
+ return slices.Contains(msg.RemoveFrequencies, frequency.ID)
+ })
+ slices.SortFunc(frequencies, func(a, b data.Frequency) int {
+ return int(a.Position - b.Position)
+ })
+ log.Println(frequencies)
+ network.Frequencies = frequencies
+ }
+
case ui.QuitMsg:
gateway.Disconnect()