feat: channel sub

This commit is contained in:
2026-08-20 10:52:40 +07:00
parent 04be991865
commit 7031ed4d46
6 changed files with 75 additions and 13 deletions

View File

@@ -3,6 +3,7 @@ from collections.abc import Callable
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from aiogram.utils.keyboard import InlineKeyboardBuilder
import config
from config import PAGE_SIZE
from db.models import Category, Product
from dto.cart import CartItemDTO
@@ -81,6 +82,7 @@ def main_menu_kb(cart_items: int) -> InlineKeyboardMarkup:
InlineKeyboardButton(text="🔍 Поиск", callback_data="find"),
],
[cart_btn(cart_items)],
[InlineKeyboardButton(text="🌸 Подписаться на канал", url=config.CHANNEL_URL)],
]
).as_markup()
@@ -168,9 +170,7 @@ def render_products(
nav_buttons = []
if prev_cb:
nav_buttons.append(InlineKeyboardButton(text="◀️", callback_data=prev_cb))
page_text = (
f"{page + 1}/{total_pages}" if total_pages is not None else f"{page + 1}"
)
page_text = f"{page + 1}/{total_pages}" if total_pages is not None else f"{page + 1}"
nav_buttons.append(InlineKeyboardButton(text=page_text, callback_data="..."))
if next_cb:
nav_buttons.append(InlineKeyboardButton(text="▶️", callback_data=next_cb))
@@ -298,7 +298,7 @@ def order_confirmation(order_id: int) -> InlineKeyboardMarkup:
[
InlineKeyboardButton(
text="🟢 Подтвердить заказ",
callback_data=f"confirm_order:{order_id}",
callback_data=f"precheck_order:{order_id}",
)
],
[InlineKeyboardButton(text="❌ Отменить", callback_data="menu:main")],
@@ -306,6 +306,22 @@ def order_confirmation(order_id: int) -> InlineKeyboardMarkup:
).as_markup()
def subscription(order_id: int) -> InlineKeyboardMarkup:
return InlineKeyboardBuilder(
[
[InlineKeyboardButton(text="🌸 Подписаться на канал", url=config.CHANNEL_URL)],
[
InlineKeyboardButton(
text="▶️ Продолжить оформление", callback_data=f"confirm_order:{order_id}"
)
],
[
InlineKeyboardButton(text="🏠", callback_data="menu:main")
]
]
).as_markup()
def order_specs_confirmation(order_id: int) -> InlineKeyboardMarkup:
return InlineKeyboardBuilder(
[