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
|
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
}
|