From: Jeff Halter Date: Thu, 5 Aug 2021 00:46:03 +0000 (-0700) Subject: Add server name to serverUI X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/commitdiff_plain/e005c191842ccab0e9600a2221616f434ad0afc7?ds=inline Add server name to serverUI --- diff --git a/hotline/client.go b/hotline/client.go index 076cdba..84126d3 100644 --- a/hotline/client.go +++ b/hotline/client.go @@ -21,7 +21,7 @@ import ( const ( trackerListPage = "trackerList" - serverUIPage = "serverUI" + serverUIPage = "serverUI" ) //go:embed banners/*.txt @@ -82,6 +82,7 @@ type Client struct { UserList []User Logger *zap.SugaredLogger activeTasks map[uint32]*Transaction + serverName string pref *ClientPrefs diff --git a/hotline/ui.go b/hotline/ui.go index e4dafd5..741c9a6 100644 --- a/hotline/ui.go +++ b/hotline/ui.go @@ -15,14 +15,14 @@ import ( ) type UI struct { - chatBox *tview.TextView - chatInput *tview.InputField - App *tview.Application - Pages *tview.Pages - userList *tview.TextView - agreeModal *tview.Modal - trackerList *tview.List - HLClient *Client + chatBox *tview.TextView + chatInput *tview.InputField + App *tview.Application + Pages *tview.Pages + userList *tview.TextView + agreeModal *tview.Modal + trackerList *tview.List + HLClient *Client } // pages @@ -126,10 +126,11 @@ func (ui *UI) getTrackerList() *tview.List { shortcut := 97 // rune for "a" for i, srv := range listing { addr := srv.Addr() + srvName := srv.Name list.AddItem(string(srv.Name), string(srv.Description), rune(shortcut+i), func() { ui.Pages.RemovePage("joinServer") - newJS := ui.renderJoinServerForm("", addr, GuestAccount, "", trackerListPage, false, true) + newJS := ui.renderJoinServerForm(string(srvName), addr, GuestAccount, "", trackerListPage, false, true) ui.Pages.AddPage("joinServer", newJS, true, true) ui.Pages.ShowPage("joinServer") @@ -257,11 +258,18 @@ func (ui *UI) renderJoinServerForm(name, server, login, password, backPage strin ui.Pages.SwitchToPage(backPage) }). AddButton("Connect", func() { + srvAddr := joinServerForm.GetFormItem(0).(*tview.InputField).GetText() + loginInput := joinServerForm.GetFormItem(1).(*tview.InputField).GetText() err := ui.joinServer( - joinServerForm.GetFormItem(0).(*tview.InputField).GetText(), - joinServerForm.GetFormItem(1).(*tview.InputField).GetText(), + srvAddr, + loginInput, joinServerForm.GetFormItem(2).(*tview.InputField).GetText(), ) + if name == "" { + name = fmt.Sprintf("%s@%s", loginInput, srvAddr) + } + ui.HLClient.serverName = name + if err != nil { ui.HLClient.Logger.Errorw("login error", "err", err) loginErrModal := tview.NewModal(). @@ -332,7 +340,7 @@ func (ui *UI) renderServerUI() *tview.Flex { AddItem(ui.chatBox, 0, 8, false). AddItem(ui.chatInput, 3, 0, true), 0, 1, true). AddItem(ui.userList, 25, 1, false) - serverUI.SetBorder(true).SetTitle("| Mobius - Connected to " + "TODO" + " |").SetTitleAlign(tview.AlignLeft) + serverUI.SetBorder(true).SetTitle("| Mobius - Connected to " + ui.HLClient.serverName + " |").SetTitleAlign(tview.AlignLeft) serverUI.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey { if event.Key() == tcell.KeyEscape { ui.Pages.AddPage("modal", modal, false, true)