Перевод обработчиков нажатия клавиш со строк на объект клавиш, комментарии

This commit is contained in:
XeRo 2026-01-26 17:46:17 +05:00
parent c69a7ae84b
commit 2192b3647f
11 changed files with 240 additions and 210 deletions

View file

@ -5,7 +5,6 @@ import (
"bubble/setup/utils"
"bubble/types"
"fmt"
"github.com/charmbracelet/bubbles/help"
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/sirupsen/logrus"
@ -34,8 +33,6 @@ type Main struct {
Width int //Ширина окна
Height int //Высота окна
Program *tea.Program //Программа для отправки данных между собой
Keys BaseKeyMap
help help.Model
}
// NewMain создаем новый объект настройки
@ -45,10 +42,7 @@ func NewMain() *Main {
m := &Main{
Applications: apps,
CurrentSectionIdx: 0,
Keys: keys,
help: help.New(),
}
m.help.ShowAll = false
//Записываем в текущую модель список приложений
m.current = NewListApplicationsModel(m.Applications, m.Width, m.Height)
m.log = NewLogModel(m.Width, m.Height)
@ -101,13 +95,12 @@ func (m *Main) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
case tea.KeyMsg:
//Отслеживаем нажатие клавиш приложения
switch {
case key.Matches(msg, m.Keys.Help):
case key.Matches(msg, types.MainKeys.Help):
//Обработчик клавиш помощи, показывает/скрывает полное меню подсказок
m.help.ShowAll = !m.help.ShowAll
case key.Matches(msg, m.Keys.Log):
//Обработчик клавиш логов показывает/скрывает окно логирования действий
case key.Matches(msg, types.MainKeys.Log):
//Обработчик клавиш логов, показывает/скрывает окно логирования действий
m.showLog = !m.showLog
case key.Matches(msg, m.Keys.Quit):
case key.Matches(msg, types.MainKeys.Exit):
//Обработчик клавиш закрытия приложения.
//Возвращаем команду по возврату сообщения о показе модального окна
return m, func() tea.Msg {
@ -259,7 +252,8 @@ func (m *Main) View() string {
if m.overlay != nil {
view = m.overlay.View()
}
return view + "\n\n" + m.help.View(m.Keys)
//return view + "\n\n" + m.help.View(MainKeys)
return view
}
// Sugar проверяет поле указанное в сообщение на важность в форме и приложении.