chat patch
This commit is contained in:
parent
db8ebfe045
commit
fc793f2e57
@ -44,6 +44,12 @@
|
|||||||
"Failed to get role after refresh": "Failed to get role after refresh",
|
"Failed to get role after refresh": "Failed to get role after refresh",
|
||||||
"Session expired, please log in again": "Session expired, please log in again",
|
"Session expired, please log in again": "Session expired, please log in again",
|
||||||
|
|
||||||
|
"Ничего не нашли": "Nothing found",
|
||||||
|
"Пользователи": "Users",
|
||||||
|
"Пользователь": "User",
|
||||||
|
"Беседы": "Chats",
|
||||||
|
"Паблики": "Public pages",
|
||||||
|
"Сообщения": "Messages",
|
||||||
|
|
||||||
"Login must be between 3 and 32 characters long": "Login must be between 3 and 32 characters long",
|
"Login must be between 3 and 32 characters long": "Login must be between 3 and 32 characters long",
|
||||||
"Login must not contain whitespace characters": "Login must not contain whitespace characters",
|
"Login must not contain whitespace characters": "Login must not contain whitespace characters",
|
||||||
|
|||||||
@ -44,6 +44,13 @@
|
|||||||
"Failed to get role after refresh": "Не удалось получить роль после обновления",
|
"Failed to get role after refresh": "Не удалось получить роль после обновления",
|
||||||
"Session expired, please log in again": "Сессия истекла, пожалуйста, войдите снова",
|
"Session expired, please log in again": "Сессия истекла, пожалуйста, войдите снова",
|
||||||
|
|
||||||
|
"Ничего не нашли": "Ничего не нашли",
|
||||||
|
"Пользователи": "Пользователи",
|
||||||
|
"Пользователь": "Пользователь",
|
||||||
|
"Беседы": "Беседы",
|
||||||
|
"Паблики": "Паблики",
|
||||||
|
"Сообщения": "Сообщения",
|
||||||
|
|
||||||
"Login must be between 3 and 32 characters long": "Логин должен быть от 3 до 32 символов",
|
"Login must be between 3 and 32 characters long": "Логин должен быть от 3 до 32 символов",
|
||||||
"Login must not contain whitespace characters": "Логин не должен содержать пробелы",
|
"Login must not contain whitespace characters": "Логин не должен содержать пробелы",
|
||||||
"Login must not start with an underscore": "Логин не должен начинаться с символа подчёркивания",
|
"Login must not start with an underscore": "Логин не должен начинаться с символа подчёркивания",
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
from PySide6.QtCore import Qt, Signal
|
from PySide6.QtCore import Qt, Signal
|
||||||
from PySide6.QtWidgets import QWidget, QVBoxLayout, QListWidget, QListWidgetItem, QLabel
|
from PySide6.QtWidgets import QWidget, QVBoxLayout, QListWidget, QListWidgetItem, QLabel
|
||||||
from app.ui.widgets.chat_list_item_widget import ChatListItemWidget
|
from app.ui.widgets.chat_list_item_widget import ChatListItemWidget
|
||||||
|
from app.core.localizer import localizer
|
||||||
|
|
||||||
|
|
||||||
class SearchResultsView(QWidget):
|
class SearchResultsView(QWidget):
|
||||||
@ -29,16 +30,16 @@ class SearchResultsView(QWidget):
|
|||||||
channels = getattr(data, 'channels', []) or []
|
channels = getattr(data, 'channels', []) or []
|
||||||
messages = getattr(data, 'messages', []) or []
|
messages = getattr(data, 'messages', []) or []
|
||||||
if not users and not groups and not channels and not messages:
|
if not users and not groups and not channels and not messages:
|
||||||
self._show_empty_state("Ничего не нашли")
|
self._show_empty_state(localizer.translate("Ничего не нашли"))
|
||||||
return
|
return
|
||||||
|
|
||||||
# Users
|
# Users
|
||||||
users = users
|
users = users
|
||||||
if users:
|
if users:
|
||||||
self._add_section_header("Пользователи")
|
self._add_section_header(localizer.translate("Пользователи"))
|
||||||
for u in users:
|
for u in users:
|
||||||
title = u.login
|
title = "@" + u.login
|
||||||
subtitle = u.full_name or u.custom_name or "Пользователь"
|
subtitle = u.custom_name or localizer.translate(u.full_name) or localizer.translate("Пользователь")
|
||||||
payload = {
|
payload = {
|
||||||
"type": "user",
|
"type": "user",
|
||||||
"user": {
|
"user": {
|
||||||
@ -54,7 +55,7 @@ class SearchResultsView(QWidget):
|
|||||||
# Groups
|
# Groups
|
||||||
groups = groups
|
groups = groups
|
||||||
if groups:
|
if groups:
|
||||||
self._add_section_header("Беседы")
|
self._add_section_header(localizer.translate("Беседы"))
|
||||||
for g in groups:
|
for g in groups:
|
||||||
title = g.get("title") if isinstance(g, dict) else getattr(g, "title", "")
|
title = g.get("title") if isinstance(g, dict) else getattr(g, "title", "")
|
||||||
self._add_chat_like_item(title or "Группа", "Беседа", timestamp="", payload={"type": "group", "chat_id": str((g.get("chat_id") if isinstance(g, dict) else getattr(g, "chat_id", "")))})
|
self._add_chat_like_item(title or "Группа", "Беседа", timestamp="", payload={"type": "group", "chat_id": str((g.get("chat_id") if isinstance(g, dict) else getattr(g, "chat_id", "")))})
|
||||||
@ -62,7 +63,7 @@ class SearchResultsView(QWidget):
|
|||||||
# Channels
|
# Channels
|
||||||
channels = channels
|
channels = channels
|
||||||
if channels:
|
if channels:
|
||||||
self._add_section_header("Паблики")
|
self._add_section_header(localizer.translate("Паблики"))
|
||||||
for ch in channels:
|
for ch in channels:
|
||||||
title = ch.get("title") if isinstance(ch, dict) else getattr(ch, "title", "")
|
title = ch.get("title") if isinstance(ch, dict) else getattr(ch, "title", "")
|
||||||
self._add_chat_like_item(title or "Паблик", "Паблик", timestamp="", payload={"type": "channel", "channel_id": str((ch.get("channel_id") if isinstance(ch, dict) else getattr(ch, "channel_id", "")))})
|
self._add_chat_like_item(title or "Паблик", "Паблик", timestamp="", payload={"type": "channel", "channel_id": str((ch.get("channel_id") if isinstance(ch, dict) else getattr(ch, "channel_id", "")))})
|
||||||
@ -70,7 +71,7 @@ class SearchResultsView(QWidget):
|
|||||||
# Messages
|
# Messages
|
||||||
messages = messages
|
messages = messages
|
||||||
if messages:
|
if messages:
|
||||||
self._add_section_header("Сообщения")
|
self._add_section_header(localizer.translate("Сообщения"))
|
||||||
for m in messages:
|
for m in messages:
|
||||||
content = m.get("content") if isinstance(m, dict) else getattr(m, "content", "")
|
content = m.get("content") if isinstance(m, dict) else getattr(m, "content", "")
|
||||||
self._add_chat_like_item((content or "(пусто)"), "Сообщение", timestamp="", payload={"type": "message", "message_id": str((m.get("message_id") if isinstance(m, dict) else getattr(m, "message_id", "")))})
|
self._add_chat_like_item((content or "(пусто)"), "Сообщение", timestamp="", payload={"type": "message", "message_id": str((m.get("message_id") if isinstance(m, dict) else getattr(m, "message_id", "")))})
|
||||||
|
|||||||
Reference in New Issue
Block a user