package screens import ( "github.com/NicoNex/echotron/v3" "github.com/TelegramExchange/tgex-backend/tg_bot/bot" ) type MainMenu struct{} const msgAbout = ` Главное меню Smartpost — платформа для покупки и продажи рекламы без ЛС и ручных таблиц. • Внутренний счёт и безопасные сделки • Фиксация цен, дат и форматов • Автоматические отчёты • Повторные закупки в пару кликов Комиссия — 7%. Без скрытых платежей. ` func (s *MainMenu) Enter(b *bot.Bot, mode bot.RenderMode) { keyboard := Keyboard( Row( Button("Мои проекты", "my_projects"), URLButton("Поддержка", "https://example.com"), ), Row( Button("Размещения", "placements"), 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 "placements": b.SetState(&MyProjects{BackState: &MainMenu{}, OpenPlacements: 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) } func (s *MainMenu) Exit() {}