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
87
88
89
90
91
|
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("")
label2 = reverse.Render("") + label1 + reverse.Render("")
label3 = ""
label4 = lipgloss.NewStyle().
Foreground(lipgloss.Color("#20999D")).
Bold(true).
Render("")
name = lipgloss.NewStyle().
Bold(true).
Render("Kyren223")
user = lipgloss.JoinHorizontal(lipgloss.Center, label4, " ", 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
}
|