|
|
@@ -13,7 +13,9 @@ import (
|
|
|
"wartank/desktop/win_config_server"
|
|
|
"wartank/desktop/win_config_server_host_input"
|
|
|
"wartank/desktop/win_config_server_login_input"
|
|
|
+ "wartank/desktop/win_config_server_pass_input"
|
|
|
"wartank/desktop/win_default"
|
|
|
+ "wartank/desktop/win_server_connect"
|
|
|
"wartank/pkg/alias"
|
|
|
"wartank/pkg/cons"
|
|
|
"wartank/pkg/types"
|
|
|
@@ -77,6 +79,20 @@ func NewDesktop() (*Desktop, error) {
|
|
|
}
|
|
|
sf.dictWin[winConfigServerLoginInput.Name()] = winConfigServerLoginInput
|
|
|
}
|
|
|
+ { // WinConfigServerPassInput
|
|
|
+ winConfigServerPassInput, err := win_config_server_pass_input.NewWinConfigServerPasswordInput(sf)
|
|
|
+ if err != nil {
|
|
|
+ return nil, fmt.Errorf("NewDesktop(): in create WinConfigServerPasswordInput, err=\n\t%w", err)
|
|
|
+ }
|
|
|
+ sf.dictWin[winConfigServerPassInput.Name()] = winConfigServerPassInput
|
|
|
+ }
|
|
|
+ { // WinServerConnect
|
|
|
+ winServerConnect, err := win_server_connect.NewWinServerConnect(sf)
|
|
|
+ if err != nil {
|
|
|
+ return nil, fmt.Errorf("NewDesktop(): in create WinServerConnect, err=\n\t%w", err)
|
|
|
+ }
|
|
|
+ sf.dictWin[winServerConnect.Name()] = winServerConnect
|
|
|
+ }
|
|
|
}
|
|
|
sf.winName = cons.WinDefault
|
|
|
go sf.tick()
|
|
|
@@ -147,29 +163,6 @@ func (sf *Desktop) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|
|
return mod_, cmd_
|
|
|
}
|
|
|
/*
|
|
|
- case ModeInputPassServer:
|
|
|
- switch msg := msg.(type) {
|
|
|
- // Может клавиша нажата
|
|
|
- case tea.KeyMsg:
|
|
|
- switch msg.String() { // Да, нажато, а что именно?
|
|
|
- case "esc": // Вернуться на шаг назад
|
|
|
- desk.winName = ModeConfigServer
|
|
|
- case "enter": // Нажатие "enter" или "пробел" переключает выбранный элемент списка
|
|
|
- desk.pass = desk.textInput.Value()
|
|
|
- desk.winName = ModeConfigServer
|
|
|
- default:
|
|
|
- desk.textInput, cmd = desk.textInput.Update(msg)
|
|
|
- }
|
|
|
- }
|
|
|
- case ModeConnectServer:
|
|
|
- switch msg := msg.(type) {
|
|
|
- // Может клавиша нажата
|
|
|
- case tea.KeyMsg:
|
|
|
- switch msg.String() { // Да, нажато, а что именно?
|
|
|
- case "esc": // Нажатие "esc" прекращает подключение к серверу
|
|
|
- desk.winName = ModeConfigServer
|
|
|
- }
|
|
|
- }
|
|
|
case ModeLoginServer:
|
|
|
switch msg := msg.(type) {
|
|
|
// Может клавиша нажата
|
|
|
@@ -209,10 +202,6 @@ func (sf *Desktop) View() string {
|
|
|
s += desk.dictWin[desk.winName].View()
|
|
|
/*
|
|
|
switch desk.winName {
|
|
|
- case ModeInputPassServer: // ввод пароля
|
|
|
- s += desk.winPassServer()
|
|
|
- case ModeConnectServer: // Режим подключения к серверу
|
|
|
- s += desk.winConnectServer()
|
|
|
case ModeLoginServer: // Режим логина на сервер
|
|
|
s += desk.winServerLogin()
|
|
|
case ModeServerMakeAdmin: // Режим содания админа на бот-сервере
|
|
|
@@ -264,29 +253,6 @@ func (sf *Desktop) winServerLogin() string {
|
|
|
return s
|
|
|
}
|
|
|
|
|
|
-func (sf *Desktop) winConnectServer() string {
|
|
|
- s := "=Подключение к бот-серверу вар-танк=\n\n"
|
|
|
- if !desk.isConnect {
|
|
|
- err := desk.client.Connect(desk.host)
|
|
|
- if err != nil {
|
|
|
- s += fmt.Sprintf("Desktop.winConnectServer(): err=\n\t%v", err)
|
|
|
- s += "\n\n[ctrl+q]-выход [esc]-отмена\n"
|
|
|
- return s
|
|
|
- }
|
|
|
- }
|
|
|
- s += "Desktop.winConnectServer(): ok\n"
|
|
|
- desk.isConnect = true
|
|
|
- s += "\n\n[ctrl+q]-выход [esc]-отмена\n"
|
|
|
- return s
|
|
|
-}
|
|
|
-
|
|
|
-func (sf *Desktop) winPassServer() string {
|
|
|
- s := "=Ввод пароля для бот-сервера вар-танк=\n\n"
|
|
|
- s += fmt.Sprintf(">%v\n", desk.textInput.View())
|
|
|
- s += "\n\n[ctrl+q]-выход [esc]-назад\n"
|
|
|
- return s
|
|
|
-}
|
|
|
-
|
|
|
*/
|
|
|
|
|
|
// IsLogin -- возвращает признак логина на сервер ботов
|
|
|
@@ -308,3 +274,19 @@ func (sf *Desktop) SetHost(hostName string) {
|
|
|
func (sf *Desktop) SetLogin(login string) {
|
|
|
sf.login = login
|
|
|
}
|
|
|
+
|
|
|
+// SetPass -- устанавливает пароль бото-фермы
|
|
|
+func (sf *Desktop) SetPass(password string) {
|
|
|
+ sf.pass = password
|
|
|
+}
|
|
|
+
|
|
|
+// Connect -- подключает клиент к бото-ферме
|
|
|
+func (sf *Desktop) Connect() error {
|
|
|
+ err := sf.client.Connect(sf.host)
|
|
|
+ sf.isConnect = false
|
|
|
+ if err != nil {
|
|
|
+ return fmt.Errorf("Desktop.Connect(): err=\n\t%v", err)
|
|
|
+ }
|
|
|
+ sf.isConnect = true
|
|
|
+ return nil
|
|
|
+}
|