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", "")))})
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user