This commit is contained in:
Artem Tsyrulnikov
2026-02-03 22:20:56 +03:00
parent 7c8589e000
commit 09145e510a
10 changed files with 124 additions and 101 deletions

View File

@@ -130,7 +130,8 @@ func (s *DateTimePicker) HandleCallback(b *bot.Bot, u *echotron.Update) {
s.view = pickerViewCalendar
}
case strings.HasPrefix(payload, "day:"):
s.handleDaySelect(payload)
s.handleDaySelect(payload, b)
return // confirmSelection уже делает Enter
case strings.HasPrefix(payload, "hour:"):
s.handleHourSelect(payload)
case strings.HasPrefix(payload, "min:"):
@@ -140,6 +141,7 @@ func (s *DateTimePicker) HandleCallback(b *bot.Bot, u *echotron.Update) {
return
}
// Если не было подтверждения (для дат без времени), перерисовываем
s.Enter(b, bot.EditMessage)
}
@@ -365,7 +367,7 @@ func (s *DateTimePicker) displayDate() (time.Time, bool) {
return s.selectedDate.In(MskLocation), true
}
func (s *DateTimePicker) handleDaySelect(payload string) {
func (s *DateTimePicker) handleDaySelect(payload string, b *bot.Bot) {
datePart := strings.TrimPrefix(payload, "day:")
parsed, err := time.ParseInLocation("2006-01-02", datePart, MskLocation)
if err != nil {
@@ -377,7 +379,8 @@ func (s *DateTimePicker) handleDaySelect(payload string) {
s.selectedHour = nil
s.selectedMinute = nil
} else {
s.view = pickerViewConfirm
// Сразу подтверждаем выбор для даты без времени
s.confirmSelection(b)
}
}