summaryrefslogtreecommitdiff
path: root/internal/client/ui/networks/networks.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/client/ui/networks/networks.go')
-rw-r--r--internal/client/ui/networks/networks.go66
1 files changed, 66 insertions, 0 deletions
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
+}