|
|
@@ -11,6 +11,7 @@ import (
|
|
|
"wartank/desktop/client_serv"
|
|
|
"wartank/desktop/win_config"
|
|
|
"wartank/desktop/win_config_server"
|
|
|
+ "wartank/desktop/win_config_server_host_input"
|
|
|
"wartank/desktop/win_default"
|
|
|
"wartank/pkg/alias"
|
|
|
"wartank/pkg/cons"
|
|
|
@@ -57,6 +58,12 @@ func NewDesktop() (*Desktop, error) {
|
|
|
return nil, fmt.Errorf("NewDesktop(): in create WinConfigServer, err=\n\t%w", err)
|
|
|
}
|
|
|
sf.dictWin[winConfigServer.Name()] = winConfigServer
|
|
|
+
|
|
|
+ winConfigServerHostInput, err := win_config_server_host_input.NewWinConfigServerHostInput(sf)
|
|
|
+ if err != nil {
|
|
|
+ return nil, fmt.Errorf("NewDesktop(): in create WinConfigServerHostInput, err=\n\t%w", err)
|
|
|
+ }
|
|
|
+ sf.dictWin[winConfigServerHostInput.Name()] = winConfigServerHostInput
|
|
|
}
|
|
|
sf.winName = cons.WinDefault
|
|
|
go sf.tick()
|
|
|
@@ -105,11 +112,13 @@ func (sf *Desktop) Run() error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+// Init -- инициализация перед запуском главного цикла
|
|
|
func (sf *Desktop) Init() tea.Cmd {
|
|
|
// Просто вернуть `nil`, т.е. никаких команд
|
|
|
return textinput.Blink
|
|
|
}
|
|
|
|
|
|
+// Update -- обновление консоли по требованию
|
|
|
func (sf *Desktop) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|
|
var cmd tea.Cmd
|
|
|
switch msg := msg.(type) {
|
|
|
@@ -125,20 +134,6 @@ func (sf *Desktop) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|
|
return mod_, cmd_
|
|
|
}
|
|
|
/*
|
|
|
- case ModeInputHostServer:
|
|
|
- // switch msg := msg.(type) {
|
|
|
- // // Может клавиша нажата
|
|
|
- // case tea.KeyMsg:
|
|
|
- // switch msg.String() { // Да, нажато, а что именно?
|
|
|
- // case "esc": // Вернуться на шаг назад
|
|
|
- // desk.winName = ModeConfigServer
|
|
|
- // case "enter": // Нажатие "enter" или "пробел" переключает выбранный элемент списка
|
|
|
- // desk.host = desk.textInput.Value()
|
|
|
- // desk.winName = ModeConfigServer
|
|
|
- // default:
|
|
|
- // desk.textInput, cmd = desk.textInput.Update(msg)
|
|
|
- // }
|
|
|
- // }
|
|
|
case ModeInputLoginServer:
|
|
|
// switch msg := msg.(type) {
|
|
|
// // Может клавиша нажата
|
|
|
@@ -209,13 +204,11 @@ func (sf *Desktop) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|
|
return desk, cmd
|
|
|
}
|
|
|
|
|
|
-func (sf Desktop) View() string {
|
|
|
+func (sf *Desktop) View() string {
|
|
|
s := time.Now().Local().Format("[ WarTank ] = 2006-01-02 15:04:05.000")
|
|
|
s += fmt.Sprintf("\tХост=%q\tЛогин=%q\tПароль=%q\tПодключено=%v\tЛогин=%v\tЕстьАдмин=%v\n\n", desk.host, desk.login, desk.pass, desk.isConnect, desk.isLogin, desk.isMakeAdmin)
|
|
|
s += desk.dictWin[desk.winName].View()
|
|
|
switch desk.winName {
|
|
|
- // case ModeInputHostServer: // Ввод хоста для сервера
|
|
|
- // s += desk.winHostServer()
|
|
|
// case ModeInputLoginServer: // Ввод логина для входа на сервер
|
|
|
// s += desk.winLoginServer()
|
|
|
// case ModeInputPassServer: // ввод пароля
|
|
|
@@ -303,13 +296,6 @@ func (sf *Desktop) winLoginServer() string {
|
|
|
return s
|
|
|
}
|
|
|
|
|
|
-func (sf *Desktop) winHostServer() string {
|
|
|
- s := "=Ввод хоста для сервера вар-танк=\n\n"
|
|
|
- s += fmt.Sprintf(">%v\n", desk.textInput.View())
|
|
|
- s += "\n\n[ctrl+q]-выход [esc]-назад\n"
|
|
|
- return s
|
|
|
-}
|
|
|
-
|
|
|
*/
|
|
|
|
|
|
// IsLogin -- возвращает признак логина на сервер ботов
|
|
|
@@ -321,3 +307,8 @@ func (sf *Desktop) IsLogin() bool {
|
|
|
func (sf *Desktop) IsConnect() bool {
|
|
|
return sf.isConnect
|
|
|
}
|
|
|
+
|
|
|
+// SetHost -- устанавливает имя хоста бото-фермы
|
|
|
+func (sf *Desktop) SetHost(hostName string) {
|
|
|
+ sf.host = hostName
|
|
|
+}
|