summaryrefslogtreecommitdiff
path: root/internal/client/ui/core/network
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2024-11-30 19:55:33 +0200
committerKyren223 <Kyren223@proton.me>2024-11-30 19:55:33 +0200
commitbcd75dab26b6d7fe0302c26583d6fa4f3fa552f3 (patch)
tree11d3183c9a5321c8d841177251e8533696baea15 /internal/client/ui/core/network
parent7357dc120bd5d4ecc2fbf0c2cd837952e81df67d (diff)
Client changes to handle create frequency API
Diffstat (limited to 'internal/client/ui/core/network')
-rw-r--r--internal/client/ui/core/network/network.go52
1 files changed, 27 insertions, 25 deletions
diff --git a/internal/client/ui/core/network/network.go b/internal/client/ui/core/network/network.go
index 8be44a3..877654f 100644
--- a/internal/client/ui/core/network/network.go
+++ b/internal/client/ui/core/network/network.go
@@ -27,17 +27,16 @@ var (
)
type Model struct {
- network *packet.FullNetwork
- history []func(m *Model)
- index int
- focus bool
+ history []func(m *Model)
+ networkIndex int
+ index int
+ focus bool
}
func New() Model {
return Model{
- focus: false,
- index: 0,
- network: nil,
+ focus: false,
+ index: 0,
}
}
@@ -46,22 +45,22 @@ func (m Model) Init() tea.Cmd {
}
func (m Model) View() string {
- if m.network == nil {
+ if m.Network() == nil {
return ""
}
var builder strings.Builder
- bg := lipgloss.Color(m.network.BgHexColor)
- fg := lipgloss.Color(m.network.FgHexColor)
+ bg := lipgloss.Color(m.Network().BgHexColor)
+ fg := lipgloss.Color(m.Network().FgHexColor)
nameStyle := nameStyle.Background(bg).Foreground(fg)
if m.focus {
nameStyle = nameStyle.BorderForeground(colors.Focus)
}
- builder.WriteString(nameStyle.Render(m.network.Name))
+ builder.WriteString(nameStyle.Render(m.Network().Name))
builder.WriteString("\n")
- for i, frequency := range m.network.Frequencies {
+ for i, frequency := range m.Network().Frequencies {
color := colors.White
if frequency.HexColor != nil {
color = lipgloss.Color(*frequency.HexColor)
@@ -129,31 +128,34 @@ func (m *Model) Blur() {
func (m Model) Swap(dir int) (Model, tea.Cmd) {
cmd := gateway.Send(&packet.SwapFrequencies{
- Network: m.network.ID,
+ Network: m.Network().ID,
Pos1: m.index,
Pos2: m.index + dir,
})
- tmp := m.network.Frequencies[m.index]
- m.network.Frequencies[m.index] = m.network.Frequencies[m.index+dir]
- m.network.Frequencies[m.index+dir] = tmp
+ tmp := m.Network().Frequencies[m.index]
+ m.Network().Frequencies[m.index] = m.Network().Frequencies[m.index+dir]
+ m.Network().Frequencies[m.index+dir] = tmp
m.index += dir
m.history = append(m.history, func(m *Model) {
m.index -= dir
- tmp := m.network.Frequencies[m.index]
- m.network.Frequencies[m.index] = m.network.Frequencies[m.index+dir]
- m.network.Frequencies[m.index+dir] = tmp
+ tmp := m.Network().Frequencies[m.index]
+ m.Network().Frequencies[m.index] = m.Network().Frequencies[m.index+dir]
+ m.Network().Frequencies[m.index+dir] = tmp
})
return m, cmd
}
func (m *Model) Set(index int) {
- if index != -1 {
- m.network = &state.State.Networks[index]
- } else {
- m.network = nil
- }
+ m.networkIndex = index
}
func (m Model) FrequenciesLength() int {
- return len(m.network.Frequencies)
+ return len(m.Network().Frequencies)
+}
+
+func (m Model) Network() *packet.FullNetwork {
+ if m.networkIndex < 0 {
+ return nil
+ }
+ return &state.State.Networks[m.networkIndex]
}