change domen
This commit is contained in:
@@ -66,27 +66,37 @@ func (s *MyPlacements) renderPlacements(b *bot.Bot, mode bot.RenderMode, jwt str
|
||||
return
|
||||
}
|
||||
|
||||
text := "Мои закупы • Управление размещениями\n\n"
|
||||
text := "<b>📍 Мои размещения</b>\n\n"
|
||||
|
||||
var buttons [][]echotron.InlineKeyboardButton
|
||||
|
||||
if len(page.Items) == 0 {
|
||||
text += "У вас пока нет закупов"
|
||||
} else {
|
||||
text += fmt.Sprintf("Выберите закуп для управления (стр. %d из %d):", s.CurrentPage+1, page.Pages)
|
||||
text += `У вас пока нет размещений.
|
||||
|
||||
// Закупы по 2 в ряду
|
||||
<i>Размещения создаются автоматически при создании закупа.</i>`
|
||||
} else {
|
||||
text += fmt.Sprintf("Выберите размещение для деталей (стр. %d из %d):\n\n", s.CurrentPage+1, page.Pages)
|
||||
|
||||
// Размещения по 2 в ряду
|
||||
for i := 0; i < len(page.Items); i += 2 {
|
||||
var row []echotron.InlineKeyboardButton
|
||||
|
||||
// Первый закуп в ряду
|
||||
// Первый placement в ряду
|
||||
placement := page.Items[i]
|
||||
row = append(row, bot.Button(placement.Name, fmt.Sprintf("placement:%s", placement.ID)))
|
||||
placementName := placement.CreativeName
|
||||
if placement.PlacementChannelTitle != nil && *placement.PlacementChannelTitle != "" {
|
||||
placementName = fmt.Sprintf("%s → %s", placement.CreativeName, *placement.PlacementChannelTitle)
|
||||
}
|
||||
row = append(row, bot.Button(placementName, fmt.Sprintf("placement:%s", placement.ID)))
|
||||
|
||||
// Второй закуп в ряду (если есть)
|
||||
// Второй placement в ряду (если есть)
|
||||
if i+1 < len(page.Items) {
|
||||
placement = page.Items[i+1]
|
||||
row = append(row, bot.Button(placement.Name, fmt.Sprintf("placement:%s", placement.ID)))
|
||||
placementName = placement.CreativeName
|
||||
if placement.PlacementChannelTitle != nil && *placement.PlacementChannelTitle != "" {
|
||||
placementName = fmt.Sprintf("%s → %s", placement.CreativeName, *placement.PlacementChannelTitle)
|
||||
}
|
||||
row = append(row, bot.Button(placementName, fmt.Sprintf("placement:%s", placement.ID)))
|
||||
} else {
|
||||
// Добавляем пустую кнопку для выравнивания
|
||||
row = append(row, bot.Button(" ", "empty"))
|
||||
@@ -121,12 +131,11 @@ func (s *MyPlacements) renderPlacements(b *bot.Bot, mode bot.RenderMode, jwt str
|
||||
|
||||
// Кнопки управления
|
||||
buttons = append(buttons, bot.Row(
|
||||
bot.Button("Статистика", "statistics"),
|
||||
bot.Button("Создать закуп", "add_placement"),
|
||||
bot.Button("📊 Статистика", "statistics"),
|
||||
))
|
||||
|
||||
// Кнопка возврата в главное меню
|
||||
buttons = append(buttons, bot.Row(bot.Button("🏠 Главное меню", "menu")))
|
||||
buttons = append(buttons, bot.Row(bot.Button("← Назад", "back")))
|
||||
|
||||
keyboard := bot.Keyboard(buttons...)
|
||||
b.Render(text, keyboard, mode)
|
||||
@@ -167,8 +176,12 @@ func (s *MyPlacements) HandleCallback(b *bot.Bot, u *echotron.Update) {
|
||||
s.CurrentPage++
|
||||
s.Enter(b, bot.EditMessage)
|
||||
|
||||
case data == "menu":
|
||||
b.SetState(&MainMenu{}, bot.EditMessage)
|
||||
case data == "back":
|
||||
if s.BackState != nil {
|
||||
b.SetState(s.BackState, bot.EditMessage)
|
||||
} else {
|
||||
b.SetState(&MainMenu{}, bot.EditMessage)
|
||||
}
|
||||
|
||||
case data == "page_info", data == "empty":
|
||||
// Неактивные кнопки - ничего не делаем
|
||||
@@ -176,16 +189,10 @@ func (s *MyPlacements) HandleCallback(b *bot.Bot, u *echotron.Update) {
|
||||
|
||||
case data == "statistics":
|
||||
// TODO: реализовать экран статистики
|
||||
b.Edit("📊 Статистика закупов\n\nЭта функция в разработке", bot.Keyboard(
|
||||
b.Edit("📊 Статистика размещений\n\nЭта функция в разработке", bot.Keyboard(
|
||||
bot.Row(bot.Button("« Назад", "back_to_placements")),
|
||||
))
|
||||
|
||||
case data == "add_placement":
|
||||
b.SetState(&AddPlacement{
|
||||
WorkspaceID: s.WorkspaceID,
|
||||
BackState: s,
|
||||
}, bot.EditMessage)
|
||||
|
||||
case data == "back_to_placements":
|
||||
s.Enter(b, bot.EditMessage)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user