diff --git a/handlers/admin/coupons/coupons_handler.py b/handlers/admin/coupons/coupons_handler.py
index 2c9aba64..b7addbe5 100644
--- a/handlers/admin/coupons/coupons_handler.py
+++ b/handlers/admin/coupons/coupons_handler.py
@@ -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(
diff --git a/handlers/admin/coupons/keyboard.py b/handlers/admin/coupons/keyboard.py
index dc6b9743..43ee646b 100644
--- a/handlers/admin/coupons/keyboard.py
+++ b/handlers/admin/coupons/keyboard.py
@@ -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()
diff --git a/handlers/admin/gifts/gifts_handler.py b/handlers/admin/gifts/gifts_handler.py
index ac33a940..cf22e272 100644
--- a/handlers/admin/gifts/gifts_handler.py
+++ b/handlers/admin/gifts/gifts_handler.py
@@ -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="🎁 Подарки\nВыберите, что хотите сделать:", reply_markup=build_admin_gifts_kb()
+ text="🎁 Подарки\nВыберите, что хотите сделать:", reply_markup=await build_admin_gifts_kb()
)
diff --git a/handlers/admin/gifts/keyboard.py b/handlers/admin/gifts/keyboard.py
index ab95e6ce..b905c991 100644
--- a/handlers/admin/gifts/keyboard.py
+++ b/handlers/admin/gifts/keyboard.py
@@ -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()