package screens
import (
"github.com/NicoNex/echotron/v3"
"github.com/TelegramExchange/tgex-backend/tg_bot/bot"
)
const msgEditCreativeText = `
✎ Введите текст креатива:
⚠ Важно: Текст должен содержать ОДНУ инвайт-ссылку вашего канала
Формат ссылки:
https://t.me/+xxx
Пример:
Присоединяйтесь к нашему каналу!
https://t.me/+AbCdEfGhIjKlMn
`
const msgAddButtonPrompt = `
+ Добавить кнопку
Введите текст кнопки:
Например:
• Перейти на сайт
• Написать нам
Ссылка на канал подставится автоматически при создании закупа.
`
const msgAddMediaPrompt = `
+ Добавить медиа
Отправьте фото, видео или GIF
Можно добавить несколько медиа — отправляйте по одному.
Нажмите «Отмена», когда закончите.
`
const msgButtonURLPrompt = `
✧ Введите URL для кнопки:
URL должен начинаться с http:// или https://
Например:
https://example.com
https://t.me/yourchannel
`
const msgInvalidURL = `
❌ Неверный формат URL
URL должен начинаться с http:// или https://
Попробуйте ещё раз.
`
const msgEditTag = `
🏷 Выберите тег креатива:
🧪 Тестовый — для A/B тестов и экспериментов
🚀 Рабочий — проверенный эффективный креатив
`
func (e *CreativeEditorFields) ShowTagPanel(b *bot.Bot) {
testingLabel := "🧪 Тестовый"
productionLabel := "🚀 Рабочий"
if e.Tag != nil {
if *e.Tag == "testing" {
testingLabel = "✓ 🧪 Тестовый"
} else if *e.Tag == "production" {
productionLabel = "✓ 🚀 Рабочий"
}
}
e.ShowControlPanel(b, msgEditTag, [][]echotron.InlineKeyboardButton{
Row(
Button(testingLabel, "tag_testing"),
Button(productionLabel, "tag_production"),
),
Row(Button("« Назад", "cancel_edit")),
})
}
func (e *CreativeEditorFields) GetTagLabel() string {
if e.Tag != nil && *e.Tag == "production" {
return "◉ Рабочий"
}
return "◉ Тестовый"
}
func (e *CreativeEditorFields) ShowAddButtonPanel(b *bot.Bot) {
inviteLabel := "Ссылка на канал"
customLabel := "Своя ссылка"
if e.PendingButtonType == "invite" {
inviteLabel = "✓ Ссылка на канал"
}
if e.PendingButtonType == "custom" {
customLabel = "✓ Своя ссылка"
}
e.ShowControlPanel(b, msgAddButtonPrompt, [][]echotron.InlineKeyboardButton{
Row(
Button(inviteLabel, "button_type_invite"),
Button(customLabel, "button_type_custom"),
),
Row(Button("« Отмена", "cancel_add_button")),
})
}
func (e *CreativeEditorFields) ShowTextEditPanel(b *bot.Bot) {
e.ShowControlPanel(b, msgEditCreativeText, [][]echotron.InlineKeyboardButton{
Row(Button("« Отмена", "cancel_edit")),
})
}
func (e *CreativeEditorFields) ShowMediaPanel(b *bot.Bot) {
e.ShowControlPanel(b, msgAddMediaPrompt, [][]echotron.InlineKeyboardButton{
Row(Button("« Отмена", "cancel_media")),
})
}
func (e *CreativeEditorFields) ShowButtonURLPanel(b *bot.Bot) {
e.ShowControlPanel(b, msgButtonURLPrompt, [][]echotron.InlineKeyboardButton{
Row(Button("« Отмена", "cancel_add_button")),
})
}
func (e *CreativeEditorFields) ShowInvalidButtonURLPanel(b *bot.Bot) {
e.ShowControlPanel(b, msgInvalidURL, [][]echotron.InlineKeyboardButton{
Row(Button("« Отмена", "cancel_add_button")),
})
}