правки
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 := "⌫ Убрать медиа"
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user