49 lines
2.0 KiB
Python
49 lines
2.0 KiB
Python
|
||
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() |