add edit and all in one menu for hosts and services

This commit is contained in:
redlineo committed 2026-07-22 15:54:44 +03:00
1 parent 8c1b93c14e
commit e39ad275b5
15 files changed
+1136 -675

No files matched your search

+6 -5
View File
@@ -8,15 +8,13 @@ import (
func newMenuList() list.Model {
items := []list.Item{
simpleItem{id: "users", title: "Пользователи", desc: "Создать, заблокировать, удалить учётные записи"},
simpleItem{id: "groups", title: "Группы и хосты", desc: "Кому какие хосты разрешены для прыжка/форвардинга"},
simpleItem{id: "catalog", title: "Хосты и сервисы", desc: "Общий каталог: адреса и порты, один раз на всех, группы просто выбирают из него"},
simpleItem{id: "groups", title: "Группы", desc: "Какие хосты из каталога входят в каждую группу"},
simpleItem{id: "export", title: "Экспорт архивов", desc: "Сгенерировать ключи и .7z архивы для доставки пользователям"},
simpleItem{id: "audit", title: "Аудит / кто в сети", desc: "Активные сессии и журнал подключений"},
simpleItem{id: "quit", title: "Выход", desc: ""},
}
l := list.New(items, list.NewDefaultDelegate(), 0, 0)
l.Title = "ssh-access-tui"
l.SetShowStatusBar(false)
return l
return newList(items, "ssh-access-tui", 0, 0)
}
func (m Model) updateMenu(msg tea.Msg) (tea.Model, tea.Cmd) {
@@ -32,6 +30,9 @@ func (m Model) updateMenu(msg tea.Msg) (tea.Model, tea.Cmd) {
case "users":
m.screen = scrUsers
m.refreshUsersList()
case "catalog":
m.screen = scrCatalogHosts
m.refreshCatalogHostsList()
case "groups":
m.screen = scrGroups
m.refreshGroupsList()