улучшение ui
This commit is contained in:
@@ -25,7 +25,7 @@ func (s *MyProjects) Enter(b *bot.Bot, mode bot.RenderMode) {
|
||||
jwt := b.Session.JWT
|
||||
if jwt == "" {
|
||||
log.Error().Msg("JWT is empty in session")
|
||||
b.SendNew("❌ Ошибка авторизации. Попробуйте /start login", bot.Keyboard())
|
||||
b.SendNew("❌ Ошибка авторизации. Попробуйте /start login", Keyboard())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ func (s *MyProjects) Enter(b *bot.Bot, mode bot.RenderMode) {
|
||||
workspaces, err := b.Backend.GetWorkspaces(context.Background(), jwt)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Failed to get workspaces")
|
||||
b.SendNew("❌ Не удалось загрузить workspace'ы", bot.Keyboard())
|
||||
b.SendNew("❌ Не удалось загрузить workspace'ы", Keyboard())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ func (s *MyProjects) Enter(b *bot.Bot, mode bot.RenderMode) {
|
||||
workspace, err := b.Backend.CreateWorkspace(context.Background(), jwt, username)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Failed to create workspace")
|
||||
b.SendNew("❌ Не удалось создать workspace", bot.Keyboard())
|
||||
b.SendNew("❌ Не удалось создать workspace", Keyboard())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ func (s *MyProjects) renderProjects(b *bot.Bot, mode bot.RenderMode, jwt string)
|
||||
page, err := b.Backend.GetProjects(context.Background(), jwt, s.WorkspaceID, s.CurrentPage+1, projectsPerPage)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Failed to get projects")
|
||||
b.SendNew("❌ Не удалось загрузить проекты", bot.Keyboard())
|
||||
b.SendNew("❌ Не удалось загрузить проекты", Keyboard())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -122,13 +122,13 @@ func (s *MyProjects) renderProjects(b *bot.Bot, mode bot.RenderMode, jwt string)
|
||||
// Создаем слоты для проектов
|
||||
var slots []echotron.InlineKeyboardButton
|
||||
for _, project := range page.Items {
|
||||
slots = append(slots, bot.Button(project.Title, fmt.Sprintf("project:%s", project.ID)))
|
||||
slots = append(slots, Button(project.Title, fmt.Sprintf("project:%s", project.ID)))
|
||||
}
|
||||
|
||||
// Если страниц >= 2, заполняем до 6 слотов пустыми кнопками
|
||||
if page.Pages >= 2 {
|
||||
for len(slots) < projectsPerPage {
|
||||
slots = append(slots, bot.Button(" ", "empty"))
|
||||
slots = append(slots, Button(" ", "empty"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ func (s *MyProjects) renderProjects(b *bot.Bot, mode bot.RenderMode, jwt string)
|
||||
row = append(row, slots[i+1])
|
||||
} else {
|
||||
// Если нечетное количество, добавляем пустую кнопку
|
||||
row = append(row, bot.Button(" ", "empty"))
|
||||
row = append(row, Button(" ", "empty"))
|
||||
}
|
||||
|
||||
buttons = append(buttons, row)
|
||||
@@ -152,18 +152,18 @@ func (s *MyProjects) renderProjects(b *bot.Bot, mode bot.RenderMode, jwt string)
|
||||
if navRow := ui.BuildNavigationRow(ui.PaginationConfig{
|
||||
CurrentPage: s.CurrentPage,
|
||||
TotalPages: page.Pages,
|
||||
MiddleButtons: []echotron.InlineKeyboardButton{bot.Button("+ Добавить", "add_project")},
|
||||
MiddleButtons: []echotron.InlineKeyboardButton{Button("+ Добавить", "add_project")},
|
||||
}); navRow != nil {
|
||||
buttons = append(buttons, navRow)
|
||||
}
|
||||
|
||||
// Нижний ряд: Назад + Архив
|
||||
buttons = append(buttons, bot.Row(
|
||||
bot.Button("← Назад", "menu"),
|
||||
bot.Button("≡ Архив", "archive"),
|
||||
buttons = append(buttons, Row(
|
||||
Button("← Назад", "menu"),
|
||||
Button("≡ Архив", "archive"),
|
||||
))
|
||||
|
||||
keyboard := bot.Keyboard(buttons...)
|
||||
keyboard := Keyboard(buttons...)
|
||||
b.Render(text, keyboard, mode)
|
||||
}
|
||||
|
||||
@@ -189,8 +189,8 @@ func (s *MyProjects) HandleCallback(b *bot.Bot, u *echotron.Update) {
|
||||
b.SetState(&MainMenu{}, bot.EditMessage)
|
||||
|
||||
case data == "archive":
|
||||
b.Edit("📦 Архив проектов\n\nЭта функция в разработке", bot.Keyboard(
|
||||
bot.Row(bot.Button("← Назад", "back_to_projects")),
|
||||
b.Edit("📦 Архив проектов\n\nЭта функция в разработке", Keyboard(
|
||||
Row(Button("← Назад", "back_to_projects")),
|
||||
))
|
||||
|
||||
case data == "add_project":
|
||||
|
||||
Reference in New Issue
Block a user