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()