62 lines
1.6 KiB
Go
62 lines
1.6 KiB
Go
package screens
|
|
|
|
import (
|
|
"example.com/m/bot"
|
|
"github.com/NicoNex/echotron/v3"
|
|
)
|
|
|
|
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"},
|
|
),
|
|
)
|
|
|
|
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 — платформа для покупки и продажи рекламы без ЛС и ручных таблиц.
|
|
|
|
• Внутренний счёт и безопасные сделки
|
|
• Фиксация цен, дат и форматов
|
|
• Автоматические отчёты
|
|
• Повторные закупки в пару кликов
|
|
|
|
Комиссия — 7%. Без скрытых платежей.`
|