chat patch

This commit is contained in:
unknown 2025-10-04 03:39:37 +03:00
parent db8ebfe045
commit fc793f2e57
3 changed files with 21 additions and 7 deletions

View File

@ -44,6 +44,12 @@
"Failed to get role after refresh": "Failed to get role after refresh",
"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 not contain whitespace characters": "Login must not contain whitespace characters",

View File

@ -44,6 +44,13 @@
"Failed to get role after refresh": "Не удалось получить роль после обновления",
"Session expired, please log in again": "Сессия истекла, пожалуйста, войдите снова",
"Ничего не нашли": "Ничего не нашли",
"Пользователи": "Пользователи",
"Пользователь": "Пользователь",
"Беседы": "Беседы",
"Паблики": "Паблики",
"Сообщения": "Сообщения",
"Login must be between 3 and 32 characters long": "Логин должен быть от 3 до 32 символов",
"Login must not contain whitespace characters": "Логин не должен содержать пробелы",
"Login must not start with an underscore": "Логин не должен начинаться с символа подчёркивания",

View File

@ -1,6 +1,7 @@
from PySide6.QtCore import Qt, Signal
from PySide6.QtWidgets import QWidget, QVBoxLayout, QListWidget, QListWidgetItem, QLabel
from app.ui.widgets.chat_list_item_widget import ChatListItemWidget
from app.core.localizer import localizer
class SearchResultsView(QWidget):
@ -29,16 +30,16 @@ class SearchResultsView(QWidget):
channels = getattr(data, 'channels', []) or []
messages = getattr(data, 'messages', []) or []
if not users and not groups and not channels and not messages:
self._show_empty_state("Ничего не нашли")
self._show_empty_state(localizer.translate("Ничего не нашли"))
return
# Users
users = users
if users:
self._add_section_header("Пользователи")
self._add_section_header(localizer.translate("Пользователи"))
for u in users:
title = u.login
subtitle = u.full_name or u.custom_name or "Пользователь"
title = "@" + u.login
subtitle = u.custom_name or localizer.translate(u.full_name) or localizer.translate("Пользователь")
payload = {
"type": "user",
"user": {
@ -54,7 +55,7 @@ class SearchResultsView(QWidget):
# Groups
groups = groups
if groups:
self._add_section_header("Беседы")
self._add_section_header(localizer.translate("Беседы"))
for g in groups:
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", "")))})
@ -62,7 +63,7 @@ class SearchResultsView(QWidget):
# Channels
channels = channels
if channels:
self._add_section_header("Паблики")
self._add_section_header(localizer.translate("Паблики"))
for ch in channels:
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", "")))})
@ -70,7 +71,7 @@ class SearchResultsView(QWidget):
# Messages
messages = messages
if messages:
self._add_section_header("Сообщения")
self._add_section_header(localizer.translate("Сообщения"))
for m in messages:
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", "")))})