This commit is contained in:
2026-03-01 16:53:32 +03:00
parent 67c60bcbb8
commit 186de7af75
5 changed files with 29 additions and 21 deletions
@@ -6,23 +6,26 @@ from dutylog.application.bot.user_dialogs.states import MainMenuSG
faq_window = Window(
Const("""<blockquote>❓ <b>Часто задаваемые вопросы</b></blockquote>
Const(f"""
📖 <b>Справка и FAQ</b>
<b>Что это за система?</b>
<blockquote>Это система учета дежурств в общежитии. Здесь отображаются ваши отработанные и неотработанные часы дежурств.</blockquote>
📌 <b>Что это за система?</b>
<blockquote>Автоматизированный учет отработок. Здесь ты видишь свой актуальный баланс часов и историю всех начислений.</blockquote>
<b>Что делать, если я зарегистрировался не под собой?</b>
<blockquote>⚠️ Перерегистрацию может выполнить только администратор. Обратитесь к администратору для исправления данных.</blockquote>
⚠️ <b>Зарегистрировался не под своим именем?</b>
<blockquote>Самостоятельная смена профиля отключена. Для перепривязки аккаунта обратись к администратору.</blockquote>
<b>Как начисляются часы?</b>
<blockquote>Часы начисляются и списываются администраторами системы. Все изменения отображаются в разделе "История".</blockquote>
⚙️ <b>Как происходит начисление?</b>
<blockquote>Часы вносит администратор после подтверждения факта отработки. Все изменения мгновенно приходят в уведомлениях.</blockquote>
<b>Что означают активные и неактивные часы?</b>
<blockquote>🟢 <b>Отработанные часы</b> - часы, которые вы уже отработали
🔴 <b>Неотработанные часы</b> - часы, которые вам еще предстоит отработать</blockquote>
📊 <b>В чем разница между часами?</b>
<blockquote> <b>Отработанные</b> — твой закрытый актив.
<b>Неотработанные</b> — текущий долг, который нужно закрыть.</blockquote>
<b>Как связаться с администратором?</b>
<blockquote>Обратитесь к старосте вашего этажа или в администрацию общежития.</blockquote>"""),
👨‍💻 <b>Как найти администратора?</b>
<blockquote>Обычно это староста этажа или комендант. Если возникла техническая ошибка в боте — пиши в чат общежития.</blockquote>
""")
,
SwitchTo(Const("◀️ Назад"), id="back_to_main", state=MainMenuSG.main),
state=MainMenuSG.faq,
)
@@ -43,7 +43,7 @@ async def get_history_data(
"""
else:
history_text = """
<blockquote>📜 <b>История операций</b></blockquote>
📜 <b>История операций</b>
"""
for tx in last_10:
@@ -52,7 +52,7 @@ async def get_main_menu_data(
resident.real_name if resident.real_name else event_from_user.first_name
)
greeting = (
f"👋 <b>Привет, {real_name}!</b>\n🚪 Комната <code>{room_number}</code>"
f"👤 <b>{real_name}</b> (к. {room_number})"
)
else:
greeting = f"👋 <b>Привет, {event_from_user.first_name}!</b>"
@@ -75,12 +75,13 @@ async def get_main_menu_data(
else:
content = f"""
{greeting}
━━━━━━━━━━━━━━━━━━━━
📊 <b>Статус отработки:</b>
⏰ <b>Ваши часы дежурств</b>
<blockquote>✅ Выполнено: <b>{resident.inactive_hours}</b> ч.
⏳ Осталось: <b>{resident.active_hours}</b> ч.</blockquote>
<blockquote>🟢 <b>Отработанные часы:</b> <code>{resident.inactive_hours}</code> ч
━━━━━━━━━━━━━━━━
🔴 Неотработанные часы: <code>{resident.active_hours}</code> ч</blockquote>
<code>made by kolo</code>
"""
has_resident = True
else:
@@ -32,13 +32,13 @@ async def get_top_residents_data(
if not top_residents:
content = """
<blockquote>🏆 <b>Топ общежития</b></blockquote>
🏆 <b>Топ общежития</b>
⚠️ Нет данных для отображения топа.
"""
else:
content = """
<blockquote>🏆 <b>Топ общежития</b></blockquote>
🏆 <b>Топ общежития</b>
"""
medals = ["🥇", "🥈", "🥉", "4.", "5."]