Добавление прокси + пересмена интерфейса
Some checks failed
CI / Lint (ruff + mypy) (push) Failing after 37s
CI / Run tests (push) Has been skipped
CI / Docker build test (push) Successful in 18s

This commit is contained in:
2026-03-31 14:24:50 +07:00
parent ea4a6fbe38
commit e811b259fc
11 changed files with 436 additions and 92 deletions

View File

@@ -52,32 +52,29 @@ def help_result_keyboard(
total_pages=total_pages,
)
builder.button(text="Назад", callback_data=back_callback)
builder.button(text="Главное меню", callback_data="help:open")
if is_admin:
builder.button(text="Админ-панель", callback_data="admin:open")
if total_pages > 1:
builder.adjust(3, 2, 1)
builder.adjust(3, 1)
else:
builder.adjust(2, 1)
builder.adjust(1)
else:
if total_pages > 1:
builder.adjust(3, 2)
builder.adjust(3, 1)
else:
builder.adjust(2)
builder.adjust(1)
return builder.as_markup()
def admin_home_keyboard() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(text="Сводки", callback_data="admin:menu:overview")
builder.button(text="Синхронизация", callback_data="admin:menu:sync")
builder.button(text="Получатели", callback_data="admin:menu:recipients")
builder.button(text="Topic и routing", callback_data="admin:menu:routing")
builder.button(text="Настройки бота", callback_data="admin:menu:settings")
builder.button(text="Администраторы", callback_data="admin:admins")
builder.button(text="Routing и topics", callback_data="admin:ownership")
builder.button(text="Mute rules", callback_data="admin:mute_list")
builder.button(text="Инструкция", callback_data="admin:guide")
builder.button(text="Пользовательское меню", callback_data="help:open")
builder.adjust(2, 2, 2, 1, 1)
builder.adjust(2, 2, 2, 1)
return builder.as_markup()
@@ -91,17 +88,32 @@ def admin_sync_keyboard() -> InlineKeyboardMarkup:
return builder.as_markup()
def admin_overview_keyboard() -> InlineKeyboardMarkup:
def admin_routing_keyboard() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(text="Сегодня", callback_data="admin:today")
builder.button(text="Неделя", callback_data="admin:week")
builder.button(text="Самые шумные", callback_data="admin:top")
builder.button(text="Давно висят", callback_data="admin:stale")
builder.button(text="Текущая схема", callback_data="admin:ownership")
builder.button(text="Topic backend", callback_data="admin:settings:topic:backend")
builder.button(text="Topic frontend", callback_data="admin:settings:topic:frontend")
builder.button(text="Topic digest", callback_data="admin:settings:topic:digest")
builder.button(text="Назад", callback_data="admin:open")
builder.adjust(2, 2, 1)
return builder.as_markup()
def admin_settings_keyboard() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(text="Автосинк: вкл/выкл", callback_data="admin:settings:sync_enabled")
builder.button(text="Интервал sync", callback_data="admin:settings:sync_interval")
builder.button(text="День отчёта", callback_data="admin:settings:digest_day")
builder.button(text="Время отчёта", callback_data="admin:settings:digest_time")
builder.button(text="Часовой пояс", callback_data="admin:settings:digest_timezone")
builder.button(text="Название бота", callback_data="admin:settings:bot_title")
builder.button(text="Описание бота", callback_data="admin:settings:bot_purpose")
builder.button(text="Подсказка админу", callback_data="admin:settings:bot_admin_hint")
builder.button(text="Назад", callback_data="admin:open")
builder.adjust(2, 2, 2, 2, 1)
return builder.as_markup()
def admin_recipients_keyboard() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(text="Backend", callback_data="admin:recipients:backend")
@@ -136,10 +148,8 @@ def admin_result_keyboard(
total_pages=total_pages,
)
builder.button(text="Назад", callback_data=back_callback)
builder.button(text="Админ-панель", callback_data="admin:open")
builder.button(text="Пользовательское меню", callback_data="help:open")
if total_pages > 1:
builder.adjust(3, 2, 1)
builder.adjust(3, 1)
else:
builder.adjust(2, 1)
builder.adjust(1)
return builder.as_markup()