38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
from aiogram import Router, F
|
|
from aiogram.types import CallbackQuery, Message
|
|
from aiogram.filters import Command
|
|
from aiogram.fsm.context import FSMContext
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
from misc.kb import main_menu_kb
|
|
from services.orders import OrderService
|
|
|
|
router = Router()
|
|
|
|
|
|
@router.message(Command("start"))
|
|
async def main_menu(
|
|
msg: Message, state: FSMContext, session: AsyncSession, order_service: OrderService
|
|
):
|
|
await state.clear()
|
|
|
|
cart_items = await order_service.get_cart_items_count(session, msg.from_user.id)
|
|
await msg.answer(
|
|
"hii!", reply_markup=main_menu_kb(cart_items)
|
|
) # TODO: Write a welcome message
|
|
|
|
|
|
@router.callback_query(F.data.startswith("menu:"))
|
|
async def main_menu_cb(
|
|
cb: CallbackQuery,
|
|
state: FSMContext,
|
|
session: AsyncSession,
|
|
order_service: OrderService,
|
|
):
|
|
await state.clear()
|
|
|
|
cart_items = await order_service.get_cart_items_count(session, cb.from_user.id)
|
|
await cb.message.edit_text(
|
|
"hii!", reply_markup=main_menu_kb(cart_items)
|
|
) # TODO: Write a welcome message
|