summaryrefslogtreecommitdiff
path: root/internal/client/ui/networks/networks.go
blob: b146ae019b7fab94c2e4b3154261890d335d09bc (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
84
85
86
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",
	}

	reverse = lipgloss.NewStyle().Foreground(lipgloss.Color("#20999D"))
		// Render("")

	label1 = lipgloss.NewStyle().
		Background(lipgloss.Color("#20999D")).Foreground(lipgloss.Color("#000000")).
		// Padding(0, 1).
		Bold(true).
		Render("Dev")
	label2 = reverse.Render("") + label1 + reverse.Render("")

	name = lipgloss.NewStyle().
		Bold(true).
		Render("Kyren223")
	user = lipgloss.JoinHorizontal(lipgloss.Center, label2, " ", 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 _, network := range m.networks {
		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 + user
}

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