summaryrefslogtreecommitdiff
path: root/internal/client
diff options
context:
space:
mode:
Diffstat (limited to 'internal/client')
-rw-r--r--internal/client/ui/core/core.go6
-rw-r--r--internal/client/ui/networks/networks.go66
2 files changed, 71 insertions, 1 deletions
diff --git a/internal/client/ui/core/core.go b/internal/client/ui/core/core.go
index 790c52e..bbc8576 100644
--- a/internal/client/ui/core/core.go
+++ b/internal/client/ui/core/core.go
@@ -11,6 +11,7 @@ import (
"github.com/kyren223/eko/internal/client/gateway"
"github.com/kyren223/eko/internal/client/ui"
"github.com/kyren223/eko/internal/client/ui/loadscreen"
+ "github.com/kyren223/eko/internal/client/ui/networks"
"github.com/kyren223/eko/pkg/snowflake"
)
@@ -32,6 +33,8 @@ type Model struct {
connected bool
id snowflake.ID
+
+ networks networks.Model
}
func New(privKey ed25519.PrivateKey, name string) Model {
@@ -42,6 +45,7 @@ func New(privKey ed25519.PrivateKey, name string) Model {
timeout: initialTimeout,
timer: newTimer(initialTimeout),
connected: false,
+ networks: networks.New(),
}
}
@@ -54,7 +58,7 @@ func (m Model) View() string {
return m.loading.View()
}
- return ""
+ return m.networks.View()
}
func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
diff --git a/internal/client/ui/networks/networks.go b/internal/client/ui/networks/networks.go
new file mode 100644
index 0000000..611e682
--- /dev/null
+++ b/internal/client/ui/networks/networks.go
@@ -0,0 +1,66 @@
+package networks
+
+import (
+ "fmt"
+ "strings"
+
+ tea "github.com/charmbracelet/bubbletea"
+ "github.com/charmbracelet/lipgloss"
+)
+
+var (
+ style = lipgloss.NewStyle().Border(lipgloss.ThickBorder(), true, false)
+ networkStyle = lipgloss.NewStyle().Width(6).Height(3).PaddingTop(1).
+ Align(lipgloss.Center).
+ Foreground(lipgloss.Color("#ffbf00")).Background(lipgloss.Color("#4a3d5c")).
+ Border(lipgloss.ThickBorder(), false, true)
+ networks = []string{
+ "󰜈 ",
+ " ",
+ "Kr",
+ " ",
+ // "Test",
+ // "██████\n██████\n██████",
+ // " ▄▄▄▄ \n █ █ \n ▀▀▀▀ ",
+ // " \n 󰜈 \n ",
+ // "Hmm",
+ // "Another",
+ }
+)
+
+type Model struct {
+ networks []string
+}
+
+func New() Model {
+ return Model{
+ networks: networks,
+ }
+}
+
+func (m Model) Init() tea.Cmd {
+ return nil
+}
+
+func (m Model) View() string {
+ border := lipgloss.ThickBorder()
+ var builder strings.Builder
+
+ top := strings.Repeat(border.Top, 6)
+ builder.WriteString(fmt.Sprintf("%s%s%s\n", border.TopLeft, top, border.TopRight))
+ for i, network := range m.networks {
+ if i != 0 {
+ middle := strings.Repeat(border.Top, 6)
+ builder.WriteString(fmt.Sprintf("\n%s%s%s\n", border.MiddleLeft, middle, border.MiddleRight))
+ }
+ builder.WriteString(networkStyle.Render(network))
+ }
+ bottom := strings.Repeat(border.Bottom, 6)
+ builder.WriteString(fmt.Sprintf("\n%s%s%s", border.BottomLeft, bottom, border.BottomRight))
+
+ return builder.String()
+}
+
+func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
+ return m, nil
+}