Files
BOTKlining/doners/bot-market/app/keyboards.py
2025-06-08 20:49:10 +09:00

49 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from aiogram.types import (ReplyKeyboardMarkup, KeyboardButton,
InlineKeyboardMarkup, InlineKeyboardButton)
from aiogram.utils.keyboard import InlineKeyboardBuilder
from app.database.requests import get_categories, get_items_by_category
main = InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text='Каталог', callback_data='catalog')],
[InlineKeyboardButton(text='Корзина', callback_data='mybasket'),
InlineKeyboardButton(text='Контакты', callback_data='contacts')]
])
to_main = InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text='На главную', callback_data='to_main')]
])
async def delete_from_basket(order_id):
keyboard = InlineKeyboardBuilder()
keyboard.add(InlineKeyboardButton(text='Удалить из корзины', callback_data=f'delete_{order_id}'))
return keyboard.adjust(2).as_markup()
async def basket(order_id):
keyboard = InlineKeyboardBuilder()
keyboard.add(InlineKeyboardButton(text='Оформить заказ', callback_data=f'order_{order_id}'))
keyboard.add(InlineKeyboardButton(text='Назад', callback_data='to_main'))
return keyboard.adjust(2).as_markup()
async def categories():
all_categories = await get_categories()
keyboard = InlineKeyboardBuilder()
for category in all_categories:
keyboard.add(InlineKeyboardButton(text=category.name,
callback_data=f'category_{category.id}'))
keyboard.add(InlineKeyboardButton(text='Назад', callback_data='to_main'))
return keyboard.adjust(2).as_markup()
async def items(category_id: int):
items = await get_items_by_category(category_id)
keyboard = InlineKeyboardBuilder()
for item in items:
keyboard.add(InlineKeyboardButton(text=item.name,
callback_data=f"item_{item.id}"))
keyboard.add(InlineKeyboardButton(text='Назад', callback_data='to_main'))
return keyboard.adjust(2).as_markup()