add hooks integration for coupons and gifts keyboard

This commit is contained in:
Capybara-z
2025-09-05 18:06:00 +03:00
parent b1f0462aab
commit fc3871fd8e
4 changed files with 14 additions and 4 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ class AdminCouponsState(StatesGroup):
IsAdminFilter(),
)
async def handle_coupons(callback_query: CallbackQuery):
await callback_query.message.edit_text(text="🛠 Меню управления купонами:", reply_markup=build_coupons_kb())
await callback_query.message.edit_text(text="🛠 Меню управления купонами:", reply_markup=await build_coupons_kb())
@router.callback_query(
+6 -1
View File
@@ -4,6 +4,8 @@ from aiogram.utils.keyboard import InlineKeyboardBuilder
from handlers.buttons import BACK
from handlers.utils import format_days
from hooks.hooks import run_hooks
from hooks.hook_buttons import insert_hook_buttons
from ..panel.keyboard import AdminPanelCallback, build_admin_back_btn
@@ -13,7 +15,7 @@ class AdminCouponDeleteCallback(CallbackData, prefix="admin_coupon_delete"):
confirm: bool | None = None
def build_coupons_kb() -> InlineKeyboardMarkup:
async def build_coupons_kb() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.row(
@@ -30,6 +32,9 @@ def build_coupons_kb() -> InlineKeyboardMarkup:
)
builder.row(build_admin_back_btn())
module_buttons = await run_hooks("admin_coupons_keyboard")
builder = insert_hook_buttons(builder, module_buttons)
return builder.as_markup()
+1 -1
View File
@@ -27,7 +27,7 @@ class GiftCreationState(StatesGroup):
@router.callback_query(AdminPanelCallback.filter(F.action == "gifts"))
async def admin_gift_menu(callback: CallbackQuery):
await callback.message.edit_text(
text="🎁 <b>Подарки</b>\nВыберите, что хотите сделать:", reply_markup=build_admin_gifts_kb()
text="🎁 <b>Подарки</b>\nВыберите, что хотите сделать:", reply_markup=await build_admin_gifts_kb()
)
+6 -1
View File
@@ -4,11 +4,13 @@ from aiogram.utils.keyboard import InlineKeyboardBuilder
from database.models import Gift, Tariff
from handlers.buttons import BACK
from handlers.utils import format_days, format_months
from hooks.hooks import run_hooks
from hooks.hook_buttons import insert_hook_buttons
from ..panel.keyboard import AdminPanelCallback
def build_admin_gifts_kb() -> InlineKeyboardMarkup:
async def build_admin_gifts_kb() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.row(InlineKeyboardButton(text="🎁 Создать подарок", callback_data="admin_gift_create"))
@@ -17,6 +19,9 @@ def build_admin_gifts_kb() -> InlineKeyboardMarkup:
)
builder.row(InlineKeyboardButton(text=BACK, callback_data="admin"))
module_buttons = await run_hooks("admin_gifts_keyboard")
builder = insert_hook_buttons(builder, module_buttons)
return builder.as_markup()