@@ -167,7 +167,15 @@ func (h *Handler) remindEditKeyboard(reminderType domain.ReminderType, languageC
167167func (h * Handler ) jammatMenuKeyboard (chat * domain.Chat ) * models.InlineKeyboardMarkup {
168168 text := h .lp .GetText (chat .LanguageCode )
169169
170- kb := & models.InlineKeyboardMarkup {InlineKeyboard : make ([][]models.InlineKeyboardButton , 5 )}
170+ prayerIDs := []domain.PrayerID {
171+ domain .PrayerIDFajr ,
172+ domain .PrayerIDDhuhr ,
173+ domain .PrayerIDAsr ,
174+ domain .PrayerIDMaghrib ,
175+ domain .PrayerIDIsha ,
176+ }
177+
178+ kb := & models.InlineKeyboardMarkup {InlineKeyboard : make ([][]models.InlineKeyboardButton , len (prayerIDs )+ 2 )}
171179
172180 if chat .Reminder .Jamaat .Enabled {
173181 kb .InlineKeyboard [0 ] = []models.InlineKeyboardButton {
@@ -179,28 +187,17 @@ func (h *Handler) jammatMenuKeyboard(chat *domain.Chat) *models.InlineKeyboardMa
179187 }
180188 }
181189
182- fajrDelay := domain .FormatDuration (chat .Reminder .Jamaat .Delay .Fajr )
183- shuruqDelay := domain .FormatDuration (chat .Reminder .Jamaat .Delay .Shuruq )
184- kb .InlineKeyboard [1 ] = []models.InlineKeyboardButton {
185- {Text : fmt .Sprintf ("%s (%s)" , text .Prayer [int (domain .PrayerIDFajr )], fajrDelay ), CallbackData : "remind:jamaat:edit:fajr|" },
186- {Text : fmt .Sprintf ("%s (%s)" , text .Prayer [int (domain .PrayerIDShuruq )], shuruqDelay ), CallbackData : "remind:jamaat:edit:shuruq|" },
187- }
188-
189- dhuhrDelay := domain .FormatDuration (chat .Reminder .Jamaat .Delay .Dhuhr )
190- asrDelay := domain .FormatDuration (chat .Reminder .Jamaat .Delay .Asr )
191- kb .InlineKeyboard [2 ] = []models.InlineKeyboardButton {
192- {Text : fmt .Sprintf ("%s (%s)" , text .Prayer [int (domain .PrayerIDDhuhr )], dhuhrDelay ), CallbackData : "remind:jamaat:edit:dhuhr|" },
193- {Text : fmt .Sprintf ("%s (%s)" , text .Prayer [int (domain .PrayerIDAsr )], asrDelay ), CallbackData : "remind:jamaat:edit:asr|" },
194- }
195-
196- maghribDelay := domain .FormatDuration (chat .Reminder .Jamaat .Delay .Maghrib )
197- ishaDelay := domain .FormatDuration (chat .Reminder .Jamaat .Delay .Isha )
198- kb .InlineKeyboard [3 ] = []models.InlineKeyboardButton {
199- {Text : fmt .Sprintf ("%s (%s)" , text .Prayer [int (domain .PrayerIDMaghrib )], maghribDelay ), CallbackData : "remind:jamaat:edit:maghrib|" },
200- {Text : fmt .Sprintf ("%s (%s)" , text .Prayer [int (domain .PrayerIDIsha )], ishaDelay ), CallbackData : "remind:jamaat:edit:isha|" },
190+ for i , prayerID := range prayerIDs {
191+ delay := chat .Reminder .Jamaat .Delay .GetDelayByPrayerID (prayerID )
192+ kb .InlineKeyboard [i + 1 ] = []models.InlineKeyboardButton {
193+ {
194+ Text : fmt .Sprintf ("%s (%s)" , text .Prayer [int (prayerID )], domain .FormatDuration (delay )),
195+ CallbackData : fmt .Sprintf ("remind:jamaat:edit:%s|" , prayerID .String ()),
196+ },
197+ }
201198 }
202199
203- kb .InlineKeyboard [4 ] = []models.InlineKeyboardButton {
200+ kb .InlineKeyboard [len ( prayerIDs ) + 1 ] = []models.InlineKeyboardButton {
204201 {Text : buttonBack , CallbackData : "remind:back:menu|" },
205202 }
206203
0 commit comments