правки

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.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":
// Отменяем добавление кнопки
s.CancelPendingButton(b)
@@ -366,11 +353,9 @@ func (s *CreativeDetails) updateCreative(b *bot.Bot) {
// Возвращаемся назад
if s.ViewMode && s.ViewBackTo != nil {
// Если открыты из view mode, возвращаемся к просмотру
b.SendNew("✅ Креатив успешно обновлен!", Keyboard())
b.SetState(s.ViewBackTo, bot.EditMessage)
} else if s.BackState != nil {
// Иначе возвращаемся к BackState
b.SendNew("✅ Креатив успешно обновлен!", Keyboard())
b.SetState(s.BackState, bot.EditMessage)
}
}
@@ -388,7 +373,6 @@ func (s *CreativeDetails) deleteCreative(b *bot.Bot) {
}
if s.BackState != nil {
b.SendNew("✅ Креатив успешно удален!", Keyboard())
b.SetState(s.BackState, bot.EditMessage)
}
}

View File

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

View File

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