summaryrefslogtreecommitdiff
path: root/internal/client/ui/networks/networks.go
blob: 2a0255dcee68f45f2ffe5e389ccdcf75d5ac1ba0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package networks

import (
	"strings"

	tea "github.com/charmbracelet/bubbletea"
	"github.com/charmbracelet/lipgloss"
	"github.com/kyren223/eko/internal/client/ui"
	"github.com/kyren223/eko/internal/data"
)

var (
	style        = lipgloss.NewStyle().Border(lipgloss.ThickBorder(), true, false)
	networkStyle = lipgloss.NewStyle().Width(6).Height(3).PaddingTop(1).Margin(0, 1, 1).
			Align(lipgloss.Center).
			Foreground(lipgloss.Color("#ffbf00")).Background(lipgloss.Color("#4a3d5c")).
			Border(lipgloss.ThickBorder(), false, false)
	networks = []string{
		"󰜈 ",
		" ",
		"Kr",
		" ",
		// "Test",
		// "██████\n██████\n██████",
		// " ▄▄▄▄ \n █  █ \n ▀▀▀▀ ",
		// "      \n  󰜈  \n     ",
		// "Hmm",
		// "Another",
	}

	label = lipgloss.NewStyle().
		Background(lipgloss.Color("#20999D")).Foreground(lipgloss.Color("#FFFFFF")).
		Render("Dev")
	name = lipgloss.NewStyle().
		Render("Kyren223")
	user = lipgloss.JoinHorizontal(lipgloss.Center, label, " ", name)
)

type Model struct {
	networks []string
	a        data.Network
}

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))
	builder.WriteString("\n")
	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))
			// middle := strings.Repeat(" ", 8)
			// builder.WriteString(fmt.Sprintf("\n%s\n", middle))
		}
		builder.WriteString(networkStyle.Render(network) + "\n")
	}
	// bottom := strings.Repeat(border.Bottom, 6)
	// builder.WriteString(fmt.Sprintf("\n%s%s%s", border.BottomLeft, bottom, border.BottomRight))

	result := builder.String()

	sep := lipgloss.NewStyle().Border(lipgloss.ThickBorder(), false, true, false, false).Height(ui.Height).Width(0)
	result = lipgloss.JoinHorizontal(lipgloss.Top, result, sep.Render(""))

	return result
}

func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
	return m, nil
}