refac color and views

pull/1/head
Edouard Paris 5 years ago
parent 14d334ea85
commit fd1be309cd

@ -5,6 +5,7 @@ import "github.com/fatih/color"
type Color color.Color type Color color.Color
var ( var (
Yellow = color.New(color.FgYellow).SprintFunc()
Green = color.New(color.FgGreen).SprintFunc() Green = color.New(color.FgGreen).SprintFunc()
GreenBg = color.New(color.BgGreen, color.FgBlack).SprintFunc() GreenBg = color.New(color.BgGreen, color.FgBlack).SprintFunc()
Red = color.New(color.FgRed).SprintFunc() Red = color.New(color.FgRed).SprintFunc()

@ -22,12 +22,12 @@ func (c *controller) layout(g *gocui.Gui) error {
return err return err
} }
err = c.summary.Set(g, 0, 2, maxX, 10) err = c.summary.Set(g, 0, 2, maxX, 7)
if err != nil { if err != nil {
return err return err
} }
return c.channels.Set(g, 0, 10, maxX-1, maxY-1) return c.channels.Set(g, 0, 7, maxX-1, maxY-1)
} }
func cursorDown(g *gocui.Gui, v *gocui.View) error { func cursorDown(g *gocui.Gui, v *gocui.View) error {
@ -62,6 +62,11 @@ func (c *controller) Update(ctx context.Context) error {
return err return err
} }
c.header.Update(info.Alias, "lnd", info.Version) c.header.Update(info.Alias, "lnd", info.Version)
c.summary.UpdateChannelsStats(
info.NumPendingChannels,
info.NumActiveChannels,
info.NumInactiveChannels,
)
channels, err := c.app.Network.ListChannels(ctx) channels, err := c.app.Network.ListChannels(ctx)
if err != nil { if err != nil {

@ -69,12 +69,13 @@ func (c *Channels) Update(items []*models.Channel) {
func (c *Channels) display() { func (c *Channels) display() {
c.Clear() c.Clear()
for _, item := range c.items { for _, item := range c.items {
line := fmt.Sprintf("%s %s %s %12d %5d", line := fmt.Sprintf("%s %s %s %12d %5d %100s",
active(item), active(item),
gauge(item), gauge(item),
color.Cyan(fmt.Sprintf("%12d", item.LocalBalance)), color.Cyan(fmt.Sprintf("%12d", item.LocalBalance)),
item.Capacity, item.Capacity,
len(item.PendingHTLC), len(item.PendingHTLC),
"",
) )
fmt.Fprintln(c.View, line) fmt.Fprintln(c.View, line)
} }

@ -3,6 +3,7 @@ package views
import ( import (
"fmt" "fmt"
"github.com/edouardparis/lntop/ui/color"
"github.com/jroimartin/gocui" "github.com/jroimartin/gocui"
) )
@ -24,7 +25,7 @@ func (h *Header) Set(g *gocui.Gui, x0, y0, x1, y1 int) error {
} }
} }
v.Frame = false v.Frame = false
fmt.Fprintln(v, fmt.Sprintf("[%s %s %s]", h.alias, h.kind, h.version)) fmt.Fprintln(v, color.Cyan(fmt.Sprintf("[%s %s %s]", h.alias, h.kind, h.version)))
return nil return nil
} }

@ -25,7 +25,7 @@ type Summary struct {
func (s *Summary) Set(g *gocui.Gui, x0, y0, x1, y1 int) error { func (s *Summary) Set(g *gocui.Gui, x0, y0, x1, y1 int) error {
var err error var err error
s.left, err = g.SetView(SUMMARY_LEFT, x0, y0, x1/2, y1) s.left, err = g.SetView(SUMMARY_LEFT, x0, y0, x0+40, y1)
if err != nil { if err != nil {
if err != gocui.ErrUnknownView { if err != gocui.ErrUnknownView {
return err return err
@ -33,7 +33,7 @@ func (s *Summary) Set(g *gocui.Gui, x0, y0, x1, y1 int) error {
} }
s.left.Frame = false s.left.Frame = false
s.right, err = g.SetView(SUMMARY_RIGHT, x1/2, y0, x1, y1) s.right, err = g.SetView(SUMMARY_RIGHT, x0+40, y0, x1, y1)
if err != nil { if err != nil {
if err != gocui.ErrUnknownView { if err != gocui.ErrUnknownView {
return err return err
@ -44,16 +44,20 @@ func (s *Summary) Set(g *gocui.Gui, x0, y0, x1, y1 int) error {
return nil return nil
} }
func (s *Summary) Update() { func (s *Summary) UpdateChannelsStats(numPendingChannels, numActiveChannels, numInactiveChannels uint32) {
s.NumActiveChannels = numActiveChannels
s.NumInactiveChannels = numInactiveChannels
s.NumPendingChannels = numPendingChannels
} }
func (s *Summary) display() { func (s *Summary) display() {
s.left.Clear() s.left.Clear()
fmt.Fprintln(s.left, color.Green("[ Channels ]")) fmt.Fprintln(s.left, color.Green("[ Channels ]"))
fmt.Fprintln(s.left, fmt.Sprintf("%s %4d", color.Cyan("Pending: "), s.NumPendingChannels)) fmt.Fprintln(s.left, fmt.Sprintf("%d %s %d %s %d %s",
fmt.Fprintln(s.left, fmt.Sprintf("%s %4d", color.Cyan("Active: "), s.NumActiveChannels)) s.NumPendingChannels, color.Yellow("pending"),
fmt.Fprintln(s.left, fmt.Sprintf("%s %4d", color.Cyan("Inactive:"), s.NumInactiveChannels)) s.NumActiveChannels, color.Green("active"),
s.NumInactiveChannels, color.Red("inactive"),
))
s.right.Clear() s.right.Clear()
fmt.Fprintln(s.right, color.Green("[ Network ]")) fmt.Fprintln(s.right, color.Green("[ Network ]"))

Loading…
Cancel
Save