diff --git a/netclient/command/commands.go b/netclient/command/commands.go index 37fad591..65138b31 100644 --- a/netclient/command/commands.go +++ b/netclient/command/commands.go @@ -125,7 +125,7 @@ func Pull(cfg *config.ClientConfig) error { // List - runs list command from cli func List(cfg config.ClientConfig) error { - err := functions.List(cfg.Network) + _, err := functions.List(cfg.Network) return err } diff --git a/netclient/functions/list.go b/netclient/functions/list.go index 3212d8b2..ee493b7f 100644 --- a/netclient/functions/list.go +++ b/netclient/functions/list.go @@ -38,14 +38,14 @@ type address struct { } // List - lists the current peers for the local node with name and node ID -func List(network string) error { +func List(network string) ([]Network, error) { nets := []Network{} var err error var networks []string if network == "all" { networks, err = ncutils.GetSystemNetworks() if err != nil { - return err + return nil, err } } else { networks = append(networks, network) @@ -55,7 +55,7 @@ func List(network string) error { net, err := getNetwork(network) if err != nil { logger.Log(1, network+": Could not retrieve network configuration.") - return err + return nil, err } peers, err := getPeers(network) if err == nil && len(peers) > 0 { @@ -69,7 +69,7 @@ func List(network string) error { }{nets}) fmt.Println(string(jsoncfg)) - return nil + return nets, nil } func getNetwork(network string) (Network, error) { diff --git a/netclient/gui/components/buttons.go b/netclient/gui/components/buttons.go index 8f740bf7..8ed31b9e 100644 --- a/netclient/gui/components/buttons.go +++ b/netclient/gui/components/buttons.go @@ -27,7 +27,7 @@ func ColoredIconButton(text string, icon fyne.Resource, tapped func(), color col bgColor := canvas.NewRectangle(color) return container.New( layout.NewMaxLayout(), - bgColor, btn, + bgColor, ) } diff --git a/netclient/gui/components/views/join.go b/netclient/gui/components/views/join.go index f5b7f4e1..534089d6 100644 --- a/netclient/gui/components/views/join.go +++ b/netclient/gui/components/views/join.go @@ -28,6 +28,7 @@ func GetJoinView() fyne.CanvasObject { } cfg.Network = accesstoken.ClientConfig.Network cfg.Node.Network = accesstoken.ClientConfig.Network + cfg.Node.Name = ncutils.GetHostname() cfg.Server.AccessKey = accesstoken.ClientConfig.Key cfg.Node.LocalRange = accesstoken.ClientConfig.LocalRange cfg.Server.Server = accesstoken.ServerConfig.Server diff --git a/netclient/gui/components/views/networks.go b/netclient/gui/components/views/networks.go index 5df251c5..70def067 100644 --- a/netclient/gui/components/views/networks.go +++ b/netclient/gui/components/views/networks.go @@ -66,6 +66,11 @@ func GetSingleNetworkView(network string) fyne.CanvasObject { } // == read node values == + LoadingNotify() + nets, err := functions.List(network) + if err != nil || len(nets) < 1 { + return container.NewCenter(widget.NewLabel("No data retrieved.")) + } var nodecfg config.ClientConfig nodecfg.Network = network nodecfg.ReadConfig() @@ -83,10 +88,16 @@ func GetSingleNetworkView(network string) fyne.CanvasObject { } lastCheckIn += health version := nodecfg.Node.Version - + peerString := "" + for _, peer := range nets[0].Peers { + peerString += fmt.Sprintf("- Endpoint: %s, Addresses:", peer.PublicEndpoint) + for _, addr := range peer.Addresses { + peerString += fmt.Sprintf(", %s", addr.IP) + } + peerString += "\n" + } pullBtn := components.ColoredButton("pull "+network, func() { pull(network) }, components.Blue_color) pullBtn.Resize(fyne.NewSize(pullBtn.Size().Width, 50)) - LoadingNotify() netDetailsView := container.NewCenter( // components.ColoredText("Selected "+network, components.Orange_color), container.NewGridWithColumns(1, widget.NewRichTextFromMarkdown(fmt.Sprintf(`### %s @@ -96,7 +107,9 @@ func GetSingleNetworkView(network string) fyne.CanvasObject { - Address (IPv4): %s - Address6 (IPv6): %s - Version: %s -`, network, nodeID, lastCheckIn, endpoint, privateAddr, privateAddr6, version)), +### Peers +%s +`, network, nodeID, lastCheckIn, endpoint, privateAddr, privateAddr6, version, peerString)), container.NewCenter(pullBtn), )) ClearNotification() diff --git a/netclient/gui/gui.go b/netclient/gui/gui.go index 1507c925..43ebfd49 100644 --- a/netclient/gui/gui.go +++ b/netclient/gui/gui.go @@ -46,7 +46,7 @@ func Run(networks []string) error { netDetailsViews := container.NewVScroll(views.GetSingleNetworkView("")) netDetailsViews.SetMinSize(fyne.NewSize(400, 300)) views.SetView(views.NetDetails, netDetailsViews) - window.SetFixedSize(true) + window.SetFixedSize(false) toolbar := container.NewCenter(widget.NewToolbar( components.NewToolbarLabelButton("Networks", theme.HomeIcon(), func() {