keyboards.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
  2. from bot.functions import month_text
  3. # Основная
  4. def main_kb():
  5. keyboard = InlineKeyboardMarkup()
  6. plain = InlineKeyboardButton(text='🎯 Запланировать мероприятие', callback_data='plain')
  7. my_events = InlineKeyboardButton(text='🗒 Мои события', callback_data='my_events')
  8. all_events = InlineKeyboardButton(text='📅 Все события', callback_data='all_events')
  9. manage = InlineKeyboardButton(text='👮 Управление', callback_data='manage')
  10. keyboard.add(plain)
  11. keyboard.add(my_events)
  12. keyboard.add(all_events)
  13. # keyboard.add(manage)
  14. return keyboard
  15. def register_kb():
  16. keyboard = InlineKeyboardMarkup()
  17. register = InlineKeyboardButton("Регистрация", callback_data="register")
  18. keyboard.add(register)
  19. return keyboard
  20. def reset_register_kb():
  21. keyboard = InlineKeyboardMarkup()
  22. reset = InlineKeyboardButton("Отменить регистрацию", callback_data="res_register")
  23. keyboard.add(reset)
  24. return keyboard
  25. def new_user_kb(accept, deny, u_id):
  26. keyboard = InlineKeyboardMarkup()
  27. accept = InlineKeyboardButton("Одобрить", callback_data=f"{accept}:{u_id}")
  28. deny = InlineKeyboardButton("Отклонить", callback_data=f"{deny}:{u_id}")
  29. keyboard.add(accept, deny)
  30. return keyboard
  31. def events_range_kb():
  32. keyboard = InlineKeyboardMarkup()
  33. today_button = InlineKeyboardButton(text="За сегодня", callback_data="today")
  34. week_button = InlineKeyboardButton(text="За неделю", callback_data="week")
  35. month_button = InlineKeyboardButton(text="За месяц", callback_data="month")
  36. keyboard.add(today_button, week_button, month_button)
  37. return keyboard
  38. def cancel_booking():
  39. keyboard = InlineKeyboardMarkup()
  40. cancel_button = InlineKeyboardButton(text="Отменить", callback_data="cancel_booking")
  41. keyboard.add(cancel_button)
  42. return keyboard
  43. def events_kb():
  44. keyboard = InlineKeyboardMarkup()
  45. booking_button = InlineKeyboardButton(text='Забронировать', callback_data="booking")
  46. back_button = InlineKeyboardButton(text='Отменить', callback_data="cancel_booking")
  47. keyboard.add(back_button, booking_button)
  48. return keyboard
  49. # Генератор календаря
  50. def make_calendar(month, days_in_month, m_prev, m_next):
  51. mont_text = InlineKeyboardButton(text=month_text(month - 1), callback_data='NULL')
  52. keyboard = InlineKeyboardMarkup(row_width=7)
  53. prev_month = InlineKeyboardButton(text="<<", callback_data=m_prev)
  54. next_month = InlineKeyboardButton(text=">>", callback_data=m_next)
  55. cancel_button = InlineKeyboardButton(text="Отменить", callback_data="cancel_booking")
  56. keyboard.row_width = 7
  57. for i in range(1, days_in_month + 1, 1):
  58. if i < 10:
  59. day = f"0{i}"
  60. else:
  61. day = i
  62. date_i = InlineKeyboardButton(text=str(i), callback_data=f"date_2022-{str(month)}-{str(day)}")
  63. keyboard.insert(date_i)
  64. keyboard.add(prev_month, mont_text, next_month)
  65. keyboard.add()
  66. keyboard.add(cancel_button)
  67. return keyboard