wip: profile / channel bar mvp
This commit is contained in:
parent
f6260c85e7
commit
69263f0aea
49
cairde.go
49
cairde.go
|
@ -96,25 +96,13 @@ var (
|
||||||
mainStyle = lipgloss.NewStyle().
|
mainStyle = lipgloss.NewStyle().
|
||||||
BorderStyle(lipgloss.NormalBorder())
|
BorderStyle(lipgloss.NormalBorder())
|
||||||
|
|
||||||
viewportStyle = lipgloss.NewStyle().
|
viewportStyle = lipgloss.NewStyle()
|
||||||
BorderStyle(lipgloss.NormalBorder()).
|
|
||||||
BorderLeft(false).
|
|
||||||
BorderRight(false).
|
|
||||||
BorderTop(false).
|
|
||||||
BorderBottom(true)
|
|
||||||
|
|
||||||
profileNameButtonStyle = lipgloss.NewStyle().
|
profileNameButtonStyle = lipgloss.NewStyle()
|
||||||
Height(1).
|
|
||||||
Bold(true).
|
|
||||||
Underline(true)
|
|
||||||
|
|
||||||
inputStyle = lipgloss.NewStyle().
|
channelBarStyle = lipgloss.NewStyle()
|
||||||
Height(1).
|
|
||||||
BorderStyle(lipgloss.NormalBorder()).
|
inputStyle = lipgloss.NewStyle()
|
||||||
BorderLeft(false).
|
|
||||||
BorderRight(false).
|
|
||||||
BorderTop(true).
|
|
||||||
BorderBottom(false)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type profile struct {
|
type profile struct {
|
||||||
|
@ -380,7 +368,7 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||||
m.height = msg.Height - 2
|
m.height = msg.Height - 2
|
||||||
m.viewport = viewport.New(
|
m.viewport = viewport.New(
|
||||||
m.width,
|
m.width,
|
||||||
m.height-4,
|
m.height-3,
|
||||||
)
|
)
|
||||||
|
|
||||||
case tea.KeyMsg:
|
case tea.KeyMsg:
|
||||||
|
@ -502,7 +490,15 @@ func (m model) View() string {
|
||||||
// TODO: adjust when more panes are available
|
// TODO: adjust when more panes are available
|
||||||
m.viewport.SetContent(strings.Join(*m.statusMsgs, "\n"))
|
m.viewport.SetContent(strings.Join(*m.statusMsgs, "\n"))
|
||||||
|
|
||||||
statusButton := profileNameButtonStyle.Render("status")
|
channelBar := channelBarStyle.
|
||||||
|
Width(m.width).
|
||||||
|
AlignVertical(lipgloss.Center).
|
||||||
|
Render(lipgloss.NewStyle().Background(lipgloss.Color("14")).Foreground(lipgloss.Color("#fffff")).Render("N/A"))
|
||||||
|
|
||||||
|
statusButton := profileNameButtonStyle.
|
||||||
|
Width(m.width).
|
||||||
|
AlignVertical(lipgloss.Center).
|
||||||
|
Render(lipgloss.NewStyle().Background(lipgloss.Color("26")).Foreground(lipgloss.Color("#fffff")).Render("status"))
|
||||||
|
|
||||||
var profileNames []string
|
var profileNames []string
|
||||||
for _, profile := range m.profiles {
|
for _, profile := range m.profiles {
|
||||||
|
@ -525,14 +521,23 @@ func (m model) View() string {
|
||||||
Width(m.width).
|
Width(m.width).
|
||||||
Render(m.viewport.View()),
|
Render(m.viewport.View()),
|
||||||
|
|
||||||
|
lipgloss.JoinHorizontal(
|
||||||
|
lipgloss.Left,
|
||||||
|
channelBar,
|
||||||
|
),
|
||||||
|
|
||||||
lipgloss.JoinHorizontal(
|
lipgloss.JoinHorizontal(
|
||||||
lipgloss.Left,
|
lipgloss.Left,
|
||||||
buttonBar...,
|
buttonBar...,
|
||||||
),
|
),
|
||||||
|
|
||||||
inputStyle.
|
lipgloss.PlaceVertical(
|
||||||
Width(m.width).
|
1,
|
||||||
Render(m.input.View()),
|
lipgloss.Bottom,
|
||||||
|
inputStyle.
|
||||||
|
Width(m.width).
|
||||||
|
Render(m.input.View()),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
Reference in New Issue