list.AddItem(srv.Name, srv.Addr, rune(shortcut+i), func() {
ui.Pages.RemovePage("joinServer")
- newJS := ui.renderJoinServerForm(addr, login, pass, "bookmarks", true, true)
+ newJS := ui.renderJoinServerForm("", addr, login, pass, "bookmarks", true, true)
ui.Pages.AddPage("joinServer", newJS, true, true)
})
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("", addr, GuestAccount, "", trackerListPage, false, true)
ui.Pages.AddPage("joinServer", newJS, true, true)
ui.Pages.ShowPage("joinServer")
}
func (ui *UI) joinServer(addr, login, password string) error {
+ // append default port to address if no port supplied
+ if len(strings.Split(addr, ":")) == 1 {
+ addr += ":5500"
+ }
if err := ui.HLClient.JoinServer(addr, login, password); err != nil {
return errors.New(fmt.Sprintf("Error joining server: %v\n", err))
}
return nil
}
-func (ui *UI) renderJoinServerForm(server, login, password, backPage string, save, defaultConnect bool) *tview.Flex {
+func (ui *UI) renderJoinServerForm(name, server, login, password, backPage string, save, defaultConnect bool) *tview.Flex {
joinServerForm := tview.NewForm()
joinServerForm.
+ // AddInputField("Name", server, 0, func(textToCheck string, lastChar rune) bool {
+ // return false
+ //}, nil).
AddInputField("Server", server, 0, nil, nil).
AddInputField("Login", login, 0, nil, nil).
AddPasswordField("Password", password, 0, '*', nil).
AddCheckbox("Save", save, func(checked bool) {
+ ui.HLClient.Logger.Infow("saving bookmark")
// TODO: Implement bookmark saving
+
+ ui.HLClient.pref.AddBookmark(joinServerForm.GetFormItem(0).(*tview.InputField).GetText(), joinServerForm.GetFormItem(0).(*tview.InputField).GetText(), joinServerForm.GetFormItem(1).(*tview.InputField).GetText(), joinServerForm.GetFormItem(2).(*tview.InputField).GetText())
+ out, err := yaml.Marshal(ui.HLClient.pref)
+ if err != nil {
+ panic(err)
+ }
+
+ err = ioutil.WriteFile(ui.HLClient.cfgPath, out, 0666)
+ if err != nil {
+ panic(err)
+ }
+ // pref := ui.HLClient.pref
}).
AddButton("Cancel", func() {
ui.Pages.SwitchToPage(backPage)
newsPostForm := tview.NewForm().
SetButtonsAlign(tview.AlignRight).
- AddButton("Post", nil)
+ //AddButton("Cancel", nil). // TODO: implement cancel button behavior
+ AddButton("Send", nil)
newsPostForm.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
switch event.Key() {
case tcell.KeyTab:
ui.HLClient.Logger.Errorw("Error posting news", "err", err)
// TODO: display errModal to user
}
- //newsInput.SetText("") // clear the input field after chat send
ui.Pages.RemovePage("newsInput")
}
newsFlex.
SetDirection(tview.FlexRow).
SetBorder(true).
- SetTitle("News Post")
+ SetTitle("| Post Message |")
newsPostTextArea.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
ui.HLClient.Logger.Infow("key", "key", event.Key(), "rune", event.Rune())
)
mainMenu.AddItem("Join Server", "", 'j', func() {
- joinServerPage := ui.renderJoinServerForm("", GuestAccount, "", "home", false, false)
+ joinServerPage := ui.renderJoinServerForm("", "", GuestAccount, "", "home", false, false)
ui.Pages.AddPage("joinServer", joinServerPage, true, true)
}).
AddItem("Bookmarks", "", 'b', func() {