51 lines
2.2 KiB
Python
51 lines
2.2 KiB
Python
# Основные клавиатуры бота
|
|
|
|
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
|
from config.settings import ADMIN_USER_ID
|
|
|
|
|
|
def get_main_menu_keyboard(user_id: int = None):
|
|
"""Главное меню бота"""
|
|
builder = InlineKeyboardBuilder()
|
|
builder.button(text="🔍 Decode VIN", callback_data="decode_vin")
|
|
builder.button(text="🚗 Check VIN", callback_data="check_vin")
|
|
builder.button(text="📸 Search Car Photo", callback_data="search_car_photo")
|
|
builder.button(text="💰 Prices", callback_data="prices")
|
|
builder.button(text="❓ Help", callback_data="help")
|
|
|
|
# Добавляем админ кнопку для администратора
|
|
if user_id == ADMIN_USER_ID:
|
|
builder.button(text="📊 Admin Panel", callback_data="admin_stats")
|
|
|
|
builder.adjust(1)
|
|
return builder.as_markup()
|
|
|
|
|
|
def get_back_to_main_keyboard():
|
|
"""Кнопка возврата в главное меню"""
|
|
builder = InlineKeyboardBuilder()
|
|
builder.button(text="🏠 Main Menu", callback_data="main_menu")
|
|
return builder.as_markup()
|
|
|
|
|
|
def get_vin_service_keyboard(vin: str):
|
|
"""Клавиатура для VIN сервисов"""
|
|
builder = InlineKeyboardBuilder()
|
|
builder.button(text="🚗 Get Detailed Report ($2.99)", callback_data=f"pay_check_detailed:{vin}")
|
|
builder.button(text="📸 Find Photos ($1.99)", callback_data=f"pay_photos:{vin}")
|
|
builder.button(text="🔍 Decode Another VIN", callback_data="decode_vin")
|
|
builder.button(text="🏠 Main Menu", callback_data="main_menu")
|
|
builder.adjust(1)
|
|
return builder.as_markup()
|
|
|
|
|
|
def get_admin_main_keyboard():
|
|
"""Главная админ панель"""
|
|
builder = InlineKeyboardBuilder()
|
|
builder.button(text="👥 Users Analytics", callback_data="admin_users")
|
|
builder.button(text="💰 Finance Analytics", callback_data="admin_finance")
|
|
builder.button(text="⚙️ Operations Analytics", callback_data="admin_operations")
|
|
builder.button(text="📈 Business Analytics", callback_data="admin_business")
|
|
builder.button(text="🏠 Main Menu", callback_data="main_menu")
|
|
builder.adjust(2, 2, 1)
|
|
return builder.as_markup() |