улучшение ui

This commit is contained in:
Artem Tsyrulnikov
2026-01-09 12:23:02 +03:00
parent 40c7be8470
commit 9fbb6fdbbf
19 changed files with 635 additions and 453 deletions

View File

@@ -5,7 +5,6 @@ import (
"example.com/m/bot"
"github.com/NicoNex/echotron/v3"
"github.com/rs/zerolog/log"
)
type AcceptWorkspaceInvite struct {
@@ -18,38 +17,29 @@ const msgAcceptWorkspaceInviteSuccessfully = `
`
func (s *AcceptWorkspaceInvite) Enter(b *bot.Bot, mode bot.RenderMode) {
// Получаем JWT токен
jwt, err := b.Backend.GetJWTByTelegramID(context.Background(), b.ChatID)
if err != nil {
log.Error().Err(err).Msg("Failed to get JWT")
b.SendNew("❌ Ошибка авторизации. Попробуйте /start", bot.Keyboard())
jwt := b.Session.JWT
if jwt == "" {
b.SendNew("<b>❌ Ошибка авторизации</b>\n\nПопробуйте /start", emptyKeyboard)
return
}
// Принимаем приглашение
err = b.Backend.AcceptWorkspaceInvite(context.Background(), jwt, s.InviteID)
err := b.Backend.AcceptWorkspaceInvite(context.Background(), jwt, s.InviteID)
if err != nil {
log.Error().Err(err).Str("invite_id", s.InviteID).Msg("Failed to accept workspace invite")
b.SendNew("❌ Не удалось принять приглашение. Возможно, оно уже было использовано.", bot.Keyboard())
b.SendNew("❌ Не удалось принять приглашение. Возможно, оно уже было использовано.", emptyKeyboard)
return
}
b.SendNew(msgAcceptWorkspaceInviteSuccessfully, bot.Keyboard(
bot.Row(bot.Button("🏠 Главное меню", "menu")),
))
kb := Keyboard(
Row(Button("Главное меню", "menu")),
)
b.SendNew(msgAcceptWorkspaceInviteSuccessfully, kb)
}
func (s *AcceptWorkspaceInvite) HandleCallback(b *bot.Bot, u *echotron.Update) {
if u.CallbackQuery == nil || u.CallbackQuery.Data == "" {
return
}
func (s *AcceptWorkspaceInvite) HandleCallback(b *bot.Bot, u *echotron.Update) {}
if u.CallbackQuery.Data == "menu" {
b.SetState(&MainMenu{}, bot.EditMessage)
}
return
func (s *AcceptWorkspaceInvite) HandleMessage(_ *bot.Bot, _ *echotron.Update) {}
func (s *AcceptWorkspaceInvite) Handle(b *bot.Bot, _ *echotron.Update) {
b.SetState(&MainMenu{}, bot.EditMessage)
}
func (s *AcceptWorkspaceInvite) HandleMessage(_ *bot.Bot, _ *echotron.Update) { return }
func (s *AcceptWorkspaceInvite) Handle(_ *bot.Bot, _ *echotron.Update) { return }