правки

This commit is contained in:
Artem Tsyrulnikov
2026-02-02 12:13:37 +03:00
parent 31b63e5a39
commit eb3c952c12
3 changed files with 6 additions and 28 deletions

View File

@@ -121,19 +121,6 @@ func (s *CreativeDetails) HandleCallback(b *bot.Bot, u *echotron.Update) {
s.UpdateCreativePreview(b) s.UpdateCreativePreview(b)
s.showManagementPanelWithDelete(b) s.showManagementPanelWithDelete(b)
case data == "edit_tag":
s.ShowTagPanel(b)
case data == "tag_testing":
tag := "testing"
s.Tag = &tag
s.showManagementPanelWithDelete(b)
case data == "tag_production":
tag := "production"
s.Tag = &tag
s.showManagementPanelWithDelete(b)
case data == "cancel_add_button": case data == "cancel_add_button":
// Отменяем добавление кнопки // Отменяем добавление кнопки
s.CancelPendingButton(b) s.CancelPendingButton(b)
@@ -366,11 +353,9 @@ func (s *CreativeDetails) updateCreative(b *bot.Bot) {
// Возвращаемся назад // Возвращаемся назад
if s.ViewMode && s.ViewBackTo != nil { if s.ViewMode && s.ViewBackTo != nil {
// Если открыты из view mode, возвращаемся к просмотру // Если открыты из view mode, возвращаемся к просмотру
b.SendNew("✅ Креатив успешно обновлен!", Keyboard())
b.SetState(s.ViewBackTo, bot.EditMessage) b.SetState(s.ViewBackTo, bot.EditMessage)
} else if s.BackState != nil { } else if s.BackState != nil {
// Иначе возвращаемся к BackState // Иначе возвращаемся к BackState
b.SendNew("✅ Креатив успешно обновлен!", Keyboard())
b.SetState(s.BackState, bot.EditMessage) b.SetState(s.BackState, bot.EditMessage)
} }
} }
@@ -388,7 +373,6 @@ func (s *CreativeDetails) deleteCreative(b *bot.Bot) {
} }
if s.BackState != nil { if s.BackState != nil {
b.SendNew("✅ Креатив успешно удален!", Keyboard())
b.SetState(s.BackState, bot.EditMessage) b.SetState(s.BackState, bot.EditMessage)
} }
} }

View File

@@ -400,6 +400,10 @@ func (e *CreativeEditorFields) SendCreativePreview(b *bot.Bot) {
// ВАЖНО: Сохраняем копию значения, а не указатель на переменную! // ВАЖНО: Сохраняем копию значения, а не указатель на переменную!
e.CreativeMessageID = &msgID e.CreativeMessageID = &msgID
e.previousMediaItems = copyMediaItems(e.MediaItems) e.previousMediaItems = copyMediaItems(e.MediaItems)
// Устанавливаем LastMessageID чтобы ShowControlPanel мог корректно работать
// ВАЖНО: Это позволяет избежать конфликтов при навигации между экранами
b.LastMessageID = msgID
} }
// UpdateCreativePreview обновляет превью креатива // UpdateCreativePreview обновляет превью креатива
@@ -664,9 +668,6 @@ func (e *CreativeEditorFields) BuildEditorButtons(confirmText, confirmCallback,
} }
buttons = append(buttons, Row(Button(addButtonLabel, addButtonCallback))) buttons = append(buttons, Row(Button(addButtonLabel, addButtonCallback)))
// Кнопка выбора тега
buttons = append(buttons, Row(Button(e.GetTagLabel(), "edit_tag")))
// Кнопка удаления медиа (если медиа добавлено) // Кнопка удаления медиа (если медиа добавлено)
if len(e.MediaItems) > 0 { if len(e.MediaItems) > 0 {
label := "⌫ Убрать медиа" label := "⌫ Убрать медиа"

View File

@@ -108,7 +108,7 @@ func (s *CreativeView) HandleCallback(b *bot.Bot, u *echotron.Update) {
ViewBackTo: s, // Возврат к этому экрану после сохранения ViewBackTo: s, // Возврат к этому экрану после сохранения
ProjectTitle: s.ProjectTitle, ProjectTitle: s.ProjectTitle,
BackState: s.BackState, BackState: s.BackState,
}, bot.NewMessage) }, bot.EditMessage)
case data == "toggle_tag": case data == "toggle_tag":
// Переключение тега (testing <-> production) // Переключение тега (testing <-> production)
@@ -206,13 +206,6 @@ func (s *CreativeView) toggleTag(b *bot.Bot) {
// Обновляем локальное значение // Обновляем локальное значение
s.Tag = &newTag s.Tag = &newTag
// Показываем успех и обновляем панель // Обновляем панель (показывает новый тег)
tagText := "🧪 Тестовый"
if newTag == "production" {
tagText = "🚀 Рабочий"
}
b.SendNew(fmt.Sprintf("✅ Тег изменен на «%s»", tagText), Keyboard())
// Обновляем панель
s.showActionPanel(b) s.showActionPanel(b)
} }