bot changes

This commit is contained in:
Artem Tsyrulnikov
2026-01-03 11:24:24 +03:00
parent 0577d2a00e
commit 922067d194
13 changed files with 312 additions and 182 deletions

View File

@@ -34,33 +34,40 @@ func (s *ProjectDetails) Enter(b *bot.Bot, mode bot.RenderMode) {
func (s *ProjectDetails) formatProjectDetails() string {
p := s.Project
// Заголовок с названием проекта
text := fmt.Sprintf("<b>%s</b>\n\n", p.Title)
// Хлебные крошки и заголовок
text := fmt.Sprintf("<i>… Мои проекты %s</i>\n\n", p.Title)
text += fmt.Sprintf("<b>%s</b>\n\n", p.Title)
// Информация о канале
if p.Username != nil && *p.Username != "" {
text += fmt.Sprintf("Telegram-канал: @%s\n", *p.Username)
text += fmt.Sprintf("Telegram: @%s\n", *p.Username)
} else {
text += "Telegram-канал: <i>не привязан</i>\n"
text += "Telegram: <i>не привязан</i>\n"
}
// Статус проекта
var statusSymbol string
var statusText string
switch p.Status {
case "active":
statusText = "✓ Активный"
statusSymbol = ""
statusText = "Активный"
case "inactive":
statusText = "○ Неактивен"
statusSymbol = "○"
statusText = "Неактивен"
case "archived":
statusText = "▣ Архивный"
statusSymbol = ""
statusText = "Архивный"
case "paused":
statusText = "⊙ Приостановлен"
statusSymbol = ""
statusText = "Приостановлен"
default:
statusSymbol = "○"
statusText = p.Status
}
text += fmt.Sprintf("Статус: %s\n", statusText)
text += fmt.Sprintf("Статус: %s %s\n", statusSymbol, statusText)
text += "\n<i>Управление проектом 👇</i>"
text += "\nУправление проектом"
return text
}
@@ -125,17 +132,19 @@ func (s *ProjectDetails) HandleCallback(b *bot.Bot, u *echotron.Update) {
case strings.HasPrefix(data, "creatives:"):
s.confirmingLinkTypeChange = false // Сбрасываем флаг подтверждения
b.SetState(&Creatives{
ProjectID: s.Project.ID,
WorkspaceID: s.WorkspaceID,
BackState: s,
ProjectID: s.Project.ID,
ProjectTitle: s.Project.Title,
WorkspaceID: s.WorkspaceID,
BackState: s,
}, bot.NewMessage)
case strings.HasPrefix(data, "purchases:"):
s.confirmingLinkTypeChange = false // Сбрасываем флаг подтверждения
b.SetState(&Purchases{
WorkspaceID: s.WorkspaceID,
ProjectID: s.Project.ID,
BackState: s,
WorkspaceID: s.WorkspaceID,
ProjectID: s.Project.ID,
ProjectTitle: s.Project.Title,
BackState: s,
}, bot.NewMessage)
case data == "back_to_project":