diff --git a/app/handlers/menu.py b/app/handlers/menu.py
index c67beba8..79946713 100644
--- a/app/handlers/menu.py
+++ b/app/handlers/menu.py
@@ -19,6 +19,7 @@ async def show_main_menu(
db_user: User,
db: AsyncSession
):
+
texts = get_texts(db_user.language)
from datetime import datetime
@@ -31,15 +32,10 @@ async def show_main_menu(
if db_user.subscription:
subscription_is_active = db_user.subscription.is_active
- subscription_info = ""
- if has_active_subscription:
- subscription_info = f"📱 Подписка: {_get_subscription_status(db_user, texts)}"
- else:
- subscription_info = "📱 Подписка: Отсутствует"
-
menu_text = texts.MAIN_MENU.format(
user_name=db_user.full_name,
- subscription_info=subscription_info
+ balance=texts.format_price(db_user.balance_kopeks),
+ subscription_status=_get_subscription_status(db_user, texts)
)
await callback.message.edit_text(
@@ -49,8 +45,7 @@ async def show_main_menu(
is_admin=settings.is_admin(db_user.telegram_id),
has_had_paid_subscription=db_user.has_had_paid_subscription,
has_active_subscription=has_active_subscription,
- subscription_is_active=subscription_is_active,
- balance_kopeks=db_user.balance_kopeks
+ subscription_is_active=subscription_is_active
)
)
await callback.answer()
@@ -114,7 +109,7 @@ async def handle_back_to_menu(
def _get_subscription_status(user: User, texts) -> str:
if not user.subscription:
- return "❌ Отсутствует"
+ return "⌐ Отсутствует"
subscription = user.subscription
current_time = datetime.utcnow()
@@ -142,6 +137,7 @@ def _get_subscription_status(user: User, texts) -> str:
else:
return f"💎 Активна\n⚠️ истекает сегодня!"
+
def register_handlers(dp: Dispatcher):
dp.callback_query.register(
diff --git a/app/handlers/start.py b/app/handlers/start.py
index 63b7354a..c53cd208 100644
--- a/app/handlers/start.py
+++ b/app/handlers/start.py
@@ -146,8 +146,7 @@ async def cmd_start(message: types.Message, state: FSMContext, db: AsyncSession,
is_admin=settings.is_admin(user.telegram_id),
has_had_paid_subscription=user.has_had_paid_subscription,
has_active_subscription=has_active_subscription,
- subscription_is_active=subscription_is_active,
- balance_kopeks=user.balance_kopeks
+ subscription_is_active=subscription_is_active
)
)
await state.clear()
@@ -420,8 +419,7 @@ async def complete_registration_from_callback(
is_admin=settings.is_admin(existing_user.telegram_id),
has_had_paid_subscription=existing_user.has_had_paid_subscription,
has_active_subscription=has_active_subscription,
- subscription_is_active=subscription_is_active,
- balance_kopeks=existing_user.balance_kopeks
+ subscription_is_active=subscription_is_active
)
)
except Exception as e:
diff --git a/app/keyboards/inline.py b/app/keyboards/inline.py
index 49d60253..3c1ff14c 100644
--- a/app/keyboards/inline.py
+++ b/app/keyboards/inline.py
@@ -21,27 +21,20 @@ def get_main_menu_keyboard(
is_admin: bool = False,
has_had_paid_subscription: bool = False,
has_active_subscription: bool = False,
- subscription_is_active: bool = False,
- balance_kopeks: int = 0
+ subscription_is_active: bool = False
) -> InlineKeyboardMarkup:
texts = get_texts(language)
if settings.DEBUG:
- print(f"DEBUG KEYBOARD: language={language}, is_admin={is_admin}, has_had_paid={has_had_paid_subscription}, has_active={has_active_subscription}, sub_active={subscription_is_active}, balance={balance_kopeks}")
-
- balance_text = texts.format_price(balance_kopeks) if balance_kopeks > 0 else "0.00 ₽"
- balance_button_text = f"💰 Баланс: {balance_text}"
+ print(f"DEBUG KEYBOARD: language={language}, is_admin={is_admin}, has_had_paid={has_had_paid_subscription}, has_active={has_active_subscription}, sub_active={subscription_is_active}")
keyboard = [
[
- InlineKeyboardButton(text=balance_button_text, callback_data="menu_balance")
+ InlineKeyboardButton(text=texts.MENU_BALANCE, callback_data="menu_balance"),
+ InlineKeyboardButton(text=texts.MENU_SUBSCRIPTION, callback_data="menu_subscription")
]
]
- if has_active_subscription:
- keyboard.append([
- InlineKeyboardButton(text=texts.MENU_SUBSCRIPTION, callback_data="menu_subscription")
- ])
show_trial = not has_had_paid_subscription and not has_active_subscription
diff --git a/app/localization/texts.py b/app/localization/texts.py
index 6754d3f5..9a540250 100644
--- a/app/localization/texts.py
+++ b/app/localization/texts.py
@@ -108,6 +108,7 @@ class RussianTexts(Texts):
MAIN_MENU = """👤 {user_name}
━━━━━━━━━━━━━━━━━
+💰 Баланс: {balance}
📱 Подписка: {subscription_status}
━━━━━━━━━━━━━━━━━
@@ -125,8 +126,6 @@ class RussianTexts(Texts):
MENU_RULES = "📋 Правила сервиса"
MENU_LANGUAGE = "🌐 Язык"
MENU_ADMIN = "⚙️ Админ-панель"
- BALANCE_BUTTON = "💰 Баланс: {balance}"
- BALANCE_BUTTON_ZERO = "💰 Баланс: 0.00 ₽"
SUBSCRIPTION_NONE = "❌ Нет активной подписки"
SUBSCRIPTION_TRIAL = "🎁 Тестовая подписка"