Изменения в админ-панели и удалении отчетов

Изменено условие для удаления всех отчетов с проверки на `admins` на `superAdmins`.
Добавлены кнопки подтверждения удаления отчетов.
Обновлена структура клавиатуры в методе `SendAdminPanel`, добавлены кнопки для суперадминов и кнопка возврата в главное меню.
Введен новый метод `ViewReports` для отображения отчетов.
This commit is contained in:
107 2025-03-21 10:14:10 +07:00
parent e0f1424574
commit 8c10970d1c

View File

@ -610,7 +610,7 @@ class Program
else if (data == "delete_all_reports") else if (data == "delete_all_reports")
{ {
if (admins.Contains(chatId)) if (superAdmins.Contains(chatId))
{ {
var confirmKeyboard = new InlineKeyboardMarkup(new[] var confirmKeyboard = new InlineKeyboardMarkup(new[]
{ {
@ -619,7 +619,7 @@ class Program
InlineKeyboardButton.WithCallbackData("✅ Подтвердить", "confirm_delete_all_reports"), InlineKeyboardButton.WithCallbackData("✅ Подтвердить", "confirm_delete_all_reports"),
InlineKeyboardButton.WithCallbackData("❌ Отмена", "admin_panel") InlineKeyboardButton.WithCallbackData("❌ Отмена", "admin_panel")
} }
}); });
await botClient.SendMessage( await botClient.SendMessage(
chatId: chatId, chatId: chatId,
@ -635,6 +635,7 @@ class Program
} }
} }
else if (data == "confirm_delete_all_reports") else if (data == "confirm_delete_all_reports")
{ {
if (admins.Contains(chatId)) if (admins.Contains(chatId))
@ -1085,8 +1086,8 @@ class Program
private static async Task SendAdminPanel(ITelegramBotClient botClient, long chatId) private static async Task SendAdminPanel(ITelegramBotClient botClient, long chatId)
{ {
var keyboard = new InlineKeyboardMarkup(new[] var buttonsRows = new List<InlineKeyboardButton[]>
{ {
new[] new[]
{ {
InlineKeyboardButton.WithCallbackData("📋 Менеджер заявок", "view_reports"), InlineKeyboardButton.WithCallbackData("📋 Менеджер заявок", "view_reports"),
@ -1094,17 +1095,26 @@ class Program
}, },
new[] new[]
{ {
InlineKeyboardButton.WithCallbackData("⚙️ Управление администраторами", "admin_settings") InlineKeyboardButton.WithCallbackData("⚙️ Личный кабинет", "admin_settings")
},
new[]
{
InlineKeyboardButton.WithCallbackData("❌ Удалить все заявки", "delete_all_reports")
},
new[]
{
InlineKeyboardButton.WithCallbackData("🏠 Главное меню", "main_menu")
} }
}); };
// Добавлять кнопку "Удалить все заявки" только для суперадминов
if (superAdmins.Contains(chatId))
{
buttonsRows.Add(new[]
{
InlineKeyboardButton.WithCallbackData("❌ Удалить все заявки", "delete_all_reports")
});
}
// Кнопка возврата в главное меню
buttonsRows.Add(new[]
{
InlineKeyboardButton.WithCallbackData("🏠 Главное меню", "main_menu")
});
var keyboard = new InlineKeyboardMarkup(buttonsRows);
await botClient.SendMessage( await botClient.SendMessage(
chatId: chatId, chatId: chatId,
@ -1116,6 +1126,8 @@ class Program
private static async Task ViewReports(ITelegramBotClient botClient, long chatId) private static async Task ViewReports(ITelegramBotClient botClient, long chatId)
{ {
string connectionString = "Data Source=bot.db"; string connectionString = "Data Source=bot.db";