aboutsummaryrefslogtreecommitdiff
path: root/hotline
diff options
context:
space:
mode:
authorJeff Halter <868228+jhalter@users.noreply.github.com>2021-08-04 17:46:03 -0700
committerJeff Halter <868228+jhalter@users.noreply.github.com>2021-08-04 16:46:03 -0700
commite005c191842ccab0e9600a2221616f434ad0afc7 (patch)
treec67ea836aa817cebb746821828b46e30429ceef9 /hotline
parent40afb444ff58289700baa1eb07f3f92d4731436d (diff)
Add server name to serverUI
Diffstat (limited to 'hotline')
-rw-r--r--hotline/client.go3
-rw-r--r--hotline/ui.go32
2 files changed, 22 insertions, 13 deletions
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)