From ef9cf07abc3b9db2840df628b963d70687bbb378 Mon Sep 17 00:00:00 2001 From: Vladimir Hodakov Date: Wed, 2 May 2018 06:39:33 +0400 Subject: [PATCH] Fix inline keyboard rows changing over time in /reminders and /pokedeks Now all buttons are the same place every time. --- lib/pokedexer/pokedexer.go | 11 ++++------- lib/reminder/reminder.go | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/pokedexer/pokedexer.go b/lib/pokedexer/pokedexer.go index 742c587..c5ecc45 100644 --- a/lib/pokedexer/pokedexer.go +++ b/lib/pokedexer/pokedexer.go @@ -42,19 +42,16 @@ func (p *Pokedexer) pokememesListingMessage(update *tgbotapi.Update, page int, p func (p *Pokedexer) pokememesListingKeyboard(pokememesArray map[int]*datamapping.PokememeFull) *tgbotapi.InlineKeyboardMarkup { keyboard := tgbotapi.InlineKeyboardMarkup{} rows := make(map[int][]tgbotapi.InlineKeyboardButton) - rows[0] = []tgbotapi.InlineKeyboardButton{} - if len(pokememesArray) > 35*7 { - rows[1] = []tgbotapi.InlineKeyboardButton{} - } - if len(pokememesArray) > 35*14 { - rows[2] = []tgbotapi.InlineKeyboardButton{} + rowsCount := int(len(pokememesArray) / (35 * 7)) + for i := 0; i <= rowsCount; i++ { + rows[i] = []tgbotapi.InlineKeyboardButton{} } totalPages := int(len(pokememesArray)/35) + 1 for i := 1; i <= totalPages; i++ { btn := tgbotapi.NewInlineKeyboardButtonData(strconv.Itoa(i), "pokedeks"+strconv.Itoa(i)) rows[(i-1)/7] = append(rows[(i-1)/7], btn) } - for i := range rows { + for i := 0; i <= rowsCount; i++ { keyboard.InlineKeyboard = append(keyboard.InlineKeyboard, rows[i]) } diff --git a/lib/reminder/reminder.go b/lib/reminder/reminder.go index 2d54bfa..da4c182 100644 --- a/lib/reminder/reminder.go +++ b/lib/reminder/reminder.go @@ -49,7 +49,7 @@ func (r *Reminder) formatRemindersButtons(playerRaw *dbmapping.Player) tgbotapi. } } - for i := range rows { + for i := 0; i <= 2; i++ { keyboard.InlineKeyboard = append(keyboard.InlineKeyboard, rows[i]) }