53 lines
1.5 KiB
Python
53 lines
1.5 KiB
Python
from aiogram.types import KeyboardButton, InlineKeyboardButton
|
|
from aiogram.utils.keyboard import ReplyKeyboardBuilder, InlineKeyboardBuilder
|
|
|
|
from app.callbacks.callback_favorites import AddFavoriteCallback, DelFavoriteCallback
|
|
from app.schemas.favorites_schema import FavoritesSchemaOutput
|
|
from app.schemas.user_schema import UserSchemaOutput
|
|
|
|
|
|
async def favorite_list(favorites: list[FavoritesSchemaOutput]):
|
|
builder = ReplyKeyboardBuilder()
|
|
|
|
for favorite in favorites:
|
|
builder.add(
|
|
KeyboardButton(text=f"/command {favorite.command}")
|
|
)
|
|
|
|
builder.adjust(2)
|
|
return builder.as_markup(resize_keyboard=True, one_time_keyboard=True)
|
|
|
|
|
|
async def add_favorite_inline(user: UserSchemaOutput):
|
|
builder = InlineKeyboardBuilder()
|
|
|
|
builder.add(
|
|
InlineKeyboardButton(
|
|
text="Добавить команду",
|
|
callback_data=AddFavoriteCallback(user_id=user.id).pack()
|
|
)
|
|
)
|
|
|
|
builder.adjust(1)
|
|
return builder.as_markup()
|
|
|
|
|
|
async def add_del_favorite_inline(user: UserSchemaOutput):
|
|
builder = InlineKeyboardBuilder()
|
|
|
|
builder.add(
|
|
InlineKeyboardButton(
|
|
text="Добавить команду",
|
|
callback_data=AddFavoriteCallback(user_id=user.id).pack()
|
|
)
|
|
)
|
|
builder.add(
|
|
InlineKeyboardButton(
|
|
text="Удалить команду",
|
|
callback_data=DelFavoriteCallback(user_id=user.id).pack()
|
|
)
|
|
)
|
|
|
|
builder.adjust(1)
|
|
return builder.as_markup()
|