57 lines
1.7 KiB
Python
57 lines
1.7 KiB
Python
"""Bot keyboards"""
|
|
|
|
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton
|
|
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
|
|
|
|
|
|
def main_menu_keyboard() -> ReplyKeyboardMarkup:
|
|
"""Main menu keyboard"""
|
|
return ReplyKeyboardMarkup(
|
|
keyboard=[
|
|
[
|
|
KeyboardButton(text="💰 Новая операция"),
|
|
KeyboardButton(text="📊 Аналитика"),
|
|
],
|
|
[
|
|
KeyboardButton(text="👨👩👧👦 Семья"),
|
|
KeyboardButton(text="🎯 Цели"),
|
|
],
|
|
[
|
|
KeyboardButton(text="💳 Счета"),
|
|
KeyboardButton(text="⚙️ Параметры"),
|
|
],
|
|
[
|
|
KeyboardButton(text="📞 Помощь"),
|
|
],
|
|
],
|
|
resize_keyboard=True,
|
|
input_field_placeholder="Выберите действие...",
|
|
)
|
|
|
|
|
|
def transaction_type_keyboard() -> InlineKeyboardMarkup:
|
|
"""Transaction type selection"""
|
|
return InlineKeyboardMarkup(
|
|
inline_keyboard=[
|
|
[InlineKeyboardButton(text="💸 Расход", callback_data="tx_expense")],
|
|
[InlineKeyboardButton(text="💵 Доход", callback_data="tx_income")],
|
|
[InlineKeyboardButton(text="🔄 Перевод", callback_data="tx_transfer")],
|
|
]
|
|
)
|
|
|
|
|
|
def cancel_keyboard() -> InlineKeyboardMarkup:
|
|
"""Cancel button"""
|
|
return InlineKeyboardMarkup(
|
|
inline_keyboard=[
|
|
[InlineKeyboardButton(text="❌ Отменить", callback_data="cancel")],
|
|
]
|
|
)
|
|
|
|
|
|
__all__ = [
|
|
"main_menu_keyboard",
|
|
"transaction_type_keyboard",
|
|
"cancel_keyboard",
|
|
]
|