feat: add support tickets and imrpove web app loading

This commit is contained in:
3252a8
2026-05-20 16:38:24 +03:00
parent 3b846f0d44
commit d8a1da1f13
78 changed files with 8990 additions and 168 deletions
+111 -1
View File
@@ -946,6 +946,7 @@
"admin_settings_section_referral": "Реферальная программа",
"admin_settings_section_notifications": "Уведомления",
"admin_settings_section_devices": "Устройства",
"admin_settings_section_support": "Поддержка",
"admin_sync_started": "Синхронизация запущена",
"admin_sync_error": "Ошибка синхронизации",
"admin_error": "Ошибка",
@@ -1385,6 +1386,22 @@
"admin_settings_field_log_level_description": "DEBUG / INFO / WARNING / ERROR",
"admin_settings_field_log_chat_id_label": "ID чата для логов",
"admin_settings_field_log_thread_id_label": "ID треда (для супергрупп)",
"admin_settings_field_log_support_thread_id_label": "ID треда поддержки",
"admin_settings_field_log_support_thread_id_description": "Тред лог-чата для уведомлений о тикетах поддержки.",
"admin_settings_field_support_tickets_enabled_label": "Тикеты поддержки включены",
"admin_settings_field_support_tickets_enabled_description": "Показывает раздел поддержки в ЛК и включает создание тикетов.",
"admin_settings_field_support_admin_email_notifications_enabled_label": "Email-уведомления админам",
"admin_settings_field_support_admin_email_notifications_enabled_description": "Если выключено, новые тикеты и ответы пользователей останутся только в Telegram и лог-чате.",
"admin_settings_field_support_admin_notification_cooldown_seconds_label": "Пауза Telegram-уведомлений",
"admin_settings_field_support_admin_notification_cooldown_seconds_description": "Минимум секунд между повторными Telegram/log уведомлениями по одному непрочитанному тикету.",
"admin_settings_field_support_admin_email_cooldown_seconds_label": "Пауза email-уведомлений",
"admin_settings_field_support_admin_email_cooldown_seconds_description": "Минимум секунд между повторными email-уведомлениями по одному непрочитанному тикету.",
"admin_settings_field_support_ticket_max_body_length_label": "Макс. длина сообщения",
"admin_settings_field_support_ticket_max_body_length_description": "Максимальное количество символов в сообщении тикета.",
"admin_settings_field_support_ticket_max_subject_length_label": "Макс. длина темы",
"admin_settings_field_support_ticket_max_subject_length_description": "Максимальное количество символов в теме тикета.",
"admin_settings_field_support_ticket_rate_limit_per_hour_label": "Лимит тикетов в час",
"admin_settings_field_support_ticket_rate_limit_per_hour_description": "Сколько новых тикетов пользователь может создать за час. 0 — без лимита.",
"admin_settings_field_my_devices_section_enabled_label": "Раздел «Мои устройства»",
"admin_settings_field_user_hwid_device_limit_label": "Лимит устройств по умолчанию (0 = ∞)",
"admin_settings_field_user_traffic_limit_gb_label": "Лимит трафика пользователя (ГБ)",
@@ -1410,5 +1427,98 @@
"wa_password_mismatch": "Пароли не совпадают",
"wa_password_code_send_failed": "Не удалось отправить код",
"wa_password_set_failed": "Не удалось сохранить пароль",
"wa_password_set_success": "Пароль сохранён"
"wa_password_set_success": "Пароль сохранён",
"wa_nav_support": "Поддержка",
"wa_support_title": "Поддержка",
"wa_support_subtitle": "Тикеты и ответы команды",
"wa_support_new_ticket": "Новое обращение",
"wa_support_contact_support": "Связаться с поддержкой",
"wa_support_subject": "Тема",
"wa_support_subject_placeholder": "Кратко опишите вопрос",
"wa_support_category": "Категория",
"wa_support_priority": "Приоритет",
"wa_support_message": "Сообщение",
"wa_support_message_placeholder": "Расскажите, что произошло. Чем больше деталей, тем быстрее поможем.",
"wa_support_create": "Создать тикет",
"wa_support_creating": "Создаём...",
"wa_support_empty": "Тикетов пока нет",
"wa_support_no_open_tickets": "Нет открытых обращений",
"wa_support_empty_hint": "Создайте новое обращение, если нужна помощь с оплатой, подключением или аккаунтом.",
"wa_support_not_found": "Тикет не найден",
"wa_support_send": "Отправить",
"wa_support_reply_placeholder": "Напишите ответ",
"wa_support_closed_hint": "Тикет закрыт",
"wa_support_create_failed": "Не удалось создать тикет",
"wa_support_send_failed": "Не удалось отправить ответ",
"wa_support_filter_all": "Все",
"wa_support_filter_active": "Активные",
"wa_support_filter_label": "Фильтр обращений",
"wa_support_ticket_number": "Тикет #{id}",
"wa_support_no_messages": "Сообщений пока нет",
"wa_support_role_user": "Вы",
"wa_support_role_admin": "Поддержка",
"wa_support_role_system": "Система",
"wa_support_internal_note": "Внутренняя заметка",
"wa_support_open_ticket": "Открыть тикет",
"wa_support_open_ticket_hint": "Откройте тикет в Mini App.",
"wa_support_category_billing": "Оплата",
"wa_support_category_technical": "Техническое",
"wa_support_category_account": "Аккаунт",
"wa_support_category_other": "Другое",
"wa_support_priority_low": "Низкий",
"wa_support_priority_normal": "Обычный",
"wa_support_priority_high": "Высокий",
"wa_support_priority_urgent": "Срочный",
"wa_support_status_open": "Открыт",
"wa_support_status_awaiting_user": "Ждёт пользователя",
"wa_support_status_awaiting_admin": "Ждёт админа",
"wa_support_status_resolved": "Решён",
"wa_support_status_closed": "Закрыт",
"admin_nav_support": "Поддержка",
"admin_section_support_title": "Поддержка",
"admin_section_support_subtitle": "Инбокс тикетов и ответы пользователям",
"admin_support_search": "Поиск",
"admin_support_empty": "Тикетов пока нет",
"admin_support_select_ticket": "Выберите тикет",
"admin_support_close_ticket": "Закрыть",
"admin_support_internal_note": "Внутренняя заметка",
"admin_support_reply_placeholder": "Ответ",
"admin_support_no_messages": "Сообщений пока нет",
"admin_support_filter_all": "Все",
"admin_support_filter_active": "Активные",
"admin_support_filter_closed": "Закрытые",
"admin_support_filter_all_priorities": "Любой приоритет",
"admin_support_filter_all_categories": "Все категории",
"admin_support_ticket_number": "Тикет #{id}",
"admin_support_priority": "Приоритет",
"admin_support_category": "Категория",
"admin_support_role_user": "Пользователь",
"admin_support_role_admin": "Админ",
"admin_support_role_system": "Система",
"admin_support_user_context": "Пользователь",
"admin_support_open_user": "Карточка",
"admin_support_tariff": "Тариф",
"admin_support_status": "Статус",
"admin_support_remaining": "Осталось",
"admin_support_unread": "Непрочитано",
"admin_support_summary": "Сводка поддержки",
"admin_support_ticket_dialog": "Диалог поддержки",
"admin_support_status_open": "Открыт",
"admin_support_status_awaiting_user": "Ждёт пользователя",
"admin_support_status_awaiting_admin": "Ждёт админа",
"admin_support_status_resolved": "Решён",
"admin_support_status_closed": "Закрыт",
"admin_support_priority_low": "Низкий",
"admin_support_priority_normal": "Обычный",
"admin_support_priority_high": "Высокий",
"admin_support_priority_urgent": "Срочный",
"admin_support_category_billing": "Оплата",
"admin_support_category_technical": "Техническое",
"admin_support_category_account": "Аккаунт",
"admin_support_category_other": "Другое",
"admin_support_sort_importance_desc": "Важные сверху",
"admin_sort_updated_desc": "Сначала новые",
"admin_sort_updated_asc": "Сначала старые",
"admin_sort_created_desc": "Созданы недавно",
"admin_sort_created_asc": "Созданы давно"
}