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