49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
from telebot.types import (
|
||
InlineKeyboardButton as button,
|
||
InlineKeyboardMarkup as keyboard,
|
||
)
|
||
from db.models import Queue
|
||
|
||
|
||
def menu() -> keyboard:
|
||
return keyboard(
|
||
keyboard=[
|
||
[button(text="➕ Новая очередь", callback_data="new_queue")],
|
||
[button(text="📋 Мои очереди", callback_data="my_queues")],
|
||
[button(text="🔧 Настройки", callback_data="settings")],
|
||
[button(text="ℹ️ О боте", callback_data="about")],
|
||
]
|
||
)
|
||
|
||
|
||
def my_queues(queues: list[Queue]) -> keyboard:
|
||
kb = [[button(text=q.name, callback_data=f"q:{q.id}")] for q in queues]
|
||
kb.append([button(text="⬅️ В меню", callback_data="to_menu")])
|
||
return keyboard(kb)
|
||
|
||
|
||
def queue_menu() -> keyboard:
|
||
return keyboard(
|
||
keyboard=[
|
||
[button(text="✏️ Изменить название", callback_data="edit_queue_name")],
|
||
[button(text="🫂 Список участников", callback_data="participants")],
|
||
[button(text="❌ Удалить очередь", callback_data="delete_queue")],
|
||
[button(text="⬅️ В меню", callback_data="to_menu")],
|
||
]
|
||
)
|
||
|
||
def settings() -> keyboard:
|
||
return keyboard(
|
||
keyboard=[
|
||
[button(text="✏️ Поменять свое имя", callback_data="edit_name")],
|
||
[button(text="⬅️ В меню", callback_data="to_menu")],
|
||
]
|
||
)
|
||
|
||
def edit_name() -> keyboard:
|
||
return keyboard(
|
||
keyboard=[
|
||
[button(text="❌ Отмена", callback_data="settings")],
|
||
]
|
||
)
|