Напоминалки: выбор часового пояса кнопками городов + ручной ввод
При гейте часового пояса теперь показывается клавиатура с частыми российскими городами-поясами (Калининград..Камчатка). Клик по кнопке шлёт 'Город, UTC+N' — _parse_tz_offset распознаёт и это, и обычный ручной ввод вида '+3'/'-5', если своего города в списке нет. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -213,6 +213,27 @@ def get_reminders_admin_keyboard() -> str:
|
||||
return keyboard.get_keyboard()
|
||||
|
||||
|
||||
def get_timezone_keyboard() -> str:
|
||||
"""Клавиатура выбора часового пояса: частые российские города-пояса
|
||||
кнопками (кнопка шлёт 'Город, UTC±N' — _parse_tz_offset вытаскивает
|
||||
смещение из этого текста), плюс можно просто ввести своё смещение
|
||||
вручную, если города в списке нет."""
|
||||
cities = [
|
||||
("Калининград", 2), ("Москва", 3), ("Самара", 4),
|
||||
("Екатеринбург", 5), ("Омск", 6), ("Красноярск", 7),
|
||||
("Иркутск", 8), ("Якутск", 9), ("Владивосток", 10),
|
||||
("Магадан", 11), ("Камчатка", 12),
|
||||
]
|
||||
keyboard = VkKeyboard(one_time=False)
|
||||
for i, (city, offset) in enumerate(cities):
|
||||
if i and i % 2 == 0:
|
||||
keyboard.add_line()
|
||||
keyboard.add_button(f"{city}, UTC+{offset}", color=VkKeyboardColor.SECONDARY)
|
||||
keyboard.add_line()
|
||||
keyboard.add_button("Отмена ❌", color=VkKeyboardColor.NEGATIVE)
|
||||
return keyboard.get_keyboard()
|
||||
|
||||
|
||||
def get_pick_keyboard(items: list) -> str:
|
||||
"""Клавиатура выбора из списка пар (id, label). Кнопка отправляет '<id>. <label>'."""
|
||||
keyboard = VkKeyboard(one_time=False)
|
||||
|
||||
Reference in New Issue
Block a user