Make clusters 2 in a row

This commit is contained in:
hteppl
2025-03-25 17:27:25 +03:00
parent fcca168052
commit b66b90b25d
4 changed files with 22 additions and 26 deletions
+6 -7
View File
@@ -15,7 +15,8 @@ from filters.admin import IsAdminFilter
from handlers.keys.key_utils import create_key_on_cluster
from keyboard import (
build_clusters_editor_kb,
build_manage_cluster_kb, AdminClusterCallback,
build_manage_cluster_kb,
AdminClusterCallback,
)
from logger import logger
from ..panel.keyboard import AdminPanelCallback, build_admin_back_kb
@@ -245,7 +246,7 @@ async def handle_inbound_id_input(message: Message, state: FSMContext):
@router.callback_query(AdminClusterCallback.filter(F.action == "manage"), IsAdminFilter())
async def handle_clusters_manage(
callback_query: types.CallbackQuery, callback_data: AdminClusterCallback, session: Any
callback_query: types.CallbackQuery, callback_data: AdminClusterCallback, session: Any
):
cluster_name = callback_data.data
@@ -260,7 +261,7 @@ async def handle_clusters_manage(
@router.callback_query(AdminClusterCallback.filter(F.action == "availability"), IsAdminFilter())
async def handle_cluster_availability(
callback_query: types.CallbackQuery, callback_data: AdminClusterCallback, session: Any
callback_query: types.CallbackQuery, callback_data: AdminClusterCallback, session: Any
):
cluster_name = callback_data.data
@@ -299,7 +300,7 @@ async def handle_cluster_availability(
@router.callback_query(AdminClusterCallback.filter(F.action == "backup"), IsAdminFilter())
async def handle_clusters_backup(
callback_query: types.CallbackQuery, callback_data: AdminClusterCallback, session: Any
callback_query: types.CallbackQuery, callback_data: AdminClusterCallback, session: Any
):
cluster_name = callback_data.data
@@ -327,9 +328,7 @@ async def handle_clusters_backup(
@router.callback_query(AdminClusterCallback.filter(F.action == "sync"), IsAdminFilter())
async def handle_clusters_sync(
callback_query: types.CallbackQuery, callback_data: AdminClusterCallback, session: Any
):
async def handle_clusters_sync(callback_query: types.CallbackQuery, callback_data: AdminClusterCallback, session: Any):
cluster_name = callback_data.data
try:
+11 -6
View File
@@ -14,15 +14,20 @@ class AdminClusterCallback(CallbackData, prefix="admin_cluster"):
def build_clusters_editor_kb(servers: dict) -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
for cluster_name in servers:
builder.button(
text=f"⚙️ {cluster_name}",
callback_data=AdminClusterCallback(action="manage", data=cluster_name).pack(),
)
cluster_names = list(servers.keys())
for i in range(0, len(cluster_names), 2):
row_buttons = []
for cluster_name in cluster_names[i:i+2]:
row_buttons.append(
InlineKeyboardButton(
text=f"⚙️ {cluster_name}",
callback_data=AdminClusterCallback(action="manage", data=cluster_name).pack(),
)
)
builder.row(*row_buttons)
builder.button(text=" Добавить кластер", callback_data=AdminClusterCallback(action="add").pack())
builder.row(build_admin_back_btn())
builder.adjust(1)
return builder.as_markup()
+4 -12
View File
@@ -12,23 +12,15 @@ class AdminServerCallback(CallbackData, prefix="admin_server"):
def build_manage_server_kb(server_name: str, cluster_name: str) -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(
text="🗑️ Удалить", callback_data=AdminServerCallback(action="delete", data=server_name).pack()
)
builder.button(
text="🔙 Назад", callback_data=AdminClusterCallback(action="manage", data=cluster_name).pack()
)
builder.button(text="🗑️ Удалить", callback_data=AdminServerCallback(action="delete", data=server_name).pack())
builder.button(text="🔙 Назад", callback_data=AdminClusterCallback(action="manage", data=cluster_name).pack())
builder.adjust(1)
return builder.as_markup()
def build_delete_server_kb(server_name: str) -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(
text="✅ Да", callback_data=AdminServerCallback(action="delete_confirm", data=server_name).pack()
)
builder.button(
text="🔙 Назад", callback_data=AdminServerCallback(action="manage", data=server_name).pack()
)
builder.button(text="✅ Да", callback_data=AdminServerCallback(action="delete_confirm", data=server_name).pack())
builder.button(text="🔙 Назад", callback_data=AdminServerCallback(action="manage", data=server_name).pack())
builder.adjust(1)
return builder.as_markup()
+1 -1
View File
@@ -56,7 +56,7 @@ async def handle_server_delete(callback_query: CallbackQuery, callback_data: Adm
@router.callback_query(AdminServerCallback.filter(F.action == "delete_confirm"), IsAdminFilter())
async def handle_server_delete_confirm(
callback_query: types.CallbackQuery, callback_data: AdminServerCallback, session: Any
callback_query: types.CallbackQuery, callback_data: AdminServerCallback, session: Any
):
server_name = callback_data.data