Explorar o código

fix(ui): login screen loses focus on focus keybindings (#131)

ayntgl %!s(int64=4) %!d(string=hai) anos
pai
achega
65356499c0
Modificáronse 1 ficheiros con 15 adicións e 13 borrados
  1. 15 13
      ui/app.go

+ 15 - 13
ui/app.go

@@ -75,19 +75,21 @@ func (app *App) onInputCapture(e *tcell.EventKey) *tcell.EventKey {
 		return e
 	}
 
-	switch e.Name() {
-	case app.Config.Keybindings.ToggleGuildsList:
-		app.SetFocus(app.GuildsList)
-		return nil
-	case app.Config.Keybindings.ToggleChannelsTreeView:
-		app.SetFocus(app.ChannelsTreeView)
-		return nil
-	case app.Config.Keybindings.ToggleMessagesTextView:
-		app.SetFocus(app.MessagesTextView)
-		return nil
-	case app.Config.Keybindings.ToggleMessageInputField:
-		app.SetFocus(app.MessageInputField)
-		return nil
+	if app.MainFlex.GetItemCount() != 0 {
+		switch e.Name() {
+		case app.Config.Keybindings.ToggleGuildsList:
+			app.SetFocus(app.GuildsList)
+			return nil
+		case app.Config.Keybindings.ToggleChannelsTreeView:
+			app.SetFocus(app.ChannelsTreeView)
+			return nil
+		case app.Config.Keybindings.ToggleMessagesTextView:
+			app.SetFocus(app.MessagesTextView)
+			return nil
+		case app.Config.Keybindings.ToggleMessageInputField:
+			app.SetFocus(app.MessageInputField)
+			return nil
+		}
 	}
 
 	return e