фиксы

This commit is contained in:
Artem Tsyrulnikov
2026-01-08 21:50:04 +03:00
parent 3e5bdb8164
commit eb54b01835
20 changed files with 462 additions and 405 deletions

View File

@@ -7,50 +7,9 @@ import (
type MainMenu struct{}
func (s *MainMenu) Enter(b *bot.Bot, mode bot.RenderMode) {
keyboard := bot.Keyboard(
bot.Row(
bot.Button("Мои проекты", "my_projects"),
echotron.InlineKeyboardButton{Text: "Поддержка", URL: "https://example.com"},
),
bot.Row(
bot.Button("Закупы", "purchases"),
echotron.InlineKeyboardButton{Text: "Дашборд", URL: "https://example.com"},
),
)
const msgAbout = `
<i>Главное меню</i>
text := "<i>Главное меню</i>\n\n" + tgexAbout
b.Render(text, keyboard, mode)
}
func (s *MainMenu) HandleCallback(b *bot.Bot, u *echotron.Update) {
switch u.CallbackQuery.Data {
case "my_projects":
b.SetState(&MyProjects{BackState: &MainMenu{}}, bot.NewMessage)
case "purchases":
b.SetState(&MyProjects{BackState: &MainMenu{}, OpenPurchases: true}, bot.NewMessage)
default:
s.Enter(b, bot.NewMessage)
}
return
}
func (s *MainMenu) HandleMessage(b *bot.Bot, u *echotron.Update) {
if u.Message.Text == "/start login" {
b.SetState(&Login{}, bot.NewMessage)
return
}
return
}
func (s *MainMenu) Handle(b *bot.Bot, u *echotron.Update) {
b.SetState(&MainMenu{}, bot.NewMessage)
return
}
const tgexAbout = `
Smartpost — платформа для покупки и продажи рекламы без ЛС и ручных таблиц.
• Внутренний счёт и безопасные сделки
@@ -58,4 +17,35 @@ Smartpost — платформа для покупки и продажи рек
• Автоматические отчёты
• Повторные закупки в пару кликов
Комиссия — 7%. Без скрытых платежей.`
Комиссия — 7%. Без скрытых платежей.
`
func (s *MainMenu) Enter(b *bot.Bot, mode bot.RenderMode) {
keyboard := bot.Keyboard(
bot.Row(
bot.Button("Мои проекты", "my_projects"),
bot.URLButton("Поддержка", "https://example.com"),
),
bot.Row(
bot.Button("Закупы", "purchases"),
bot.URLButton("Дашборд", "https://example.com"),
),
)
b.Render(msgAbout, keyboard, mode)
}
func (s *MainMenu) HandleCallback(b *bot.Bot, u *echotron.Update) {
switch u.CallbackQuery.Data {
case "my_projects":
b.SetState(&MyProjects{BackState: &MainMenu{}}, bot.EditMessage)
case "purchases":
b.SetState(&MyProjects{BackState: &MainMenu{}, OpenPurchases: true}, bot.EditMessage)
default:
s.Enter(b, bot.NewMessage)
}
}
func (s *MainMenu) HandleMessage(b *bot.Bot, u *echotron.Update) {}
func (s *MainMenu) Handle(b *bot.Bot, u *echotron.Update) { b.SetState(&MainMenu{}, bot.NewMessage) }