From b3166b1dfed2517a3fa0d6077523564f9d625949 Mon Sep 17 00:00:00 2001 From: Bivekich Date: Wed, 6 Aug 2025 05:29:04 +0300 Subject: [PATCH] Add contacts feature documentation and fix private conversation creation --- CONTACTS_FEATURE.md | 95 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 CONTACTS_FEATURE.md diff --git a/CONTACTS_FEATURE.md b/CONTACTS_FEATURE.md new file mode 100644 index 0000000..0abf24f --- /dev/null +++ b/CONTACTS_FEATURE.md @@ -0,0 +1,95 @@ +# Функционал экрана "Контакты" в Prism Messenger + +## 🎯 Основная фича: Поиск любого пользователя по никнейму + +### Визуальный дизайн + +``` +┌─────────────────────────────────┐ +│ 🔍 Поиск по @username... │ <- Поле поиска +│ Введите никнейм для поиска │ +├─────────────────────────────────┤ +│ [25] [5] │ <- Статистика +│ пользователей 🟢 в сети │ +├─────────────────────────────────┤ +│ [Все] [🟢 Онлайн] [⭐ Контакты] │ <- Фильтры +├─────────────────────────────────┤ +│ ┌─────────────────────────────┐ │ +│ │ 🟦 A @alice [💬] │ │ <- Карточка пользователя +│ │ 🟢 В сети │ │ +│ │ alice@mail.ru │ │ +│ └─────────────────────────────┘ │ +│ ┌─────────────────────────────┐ │ +│ │ 🟩 B @bob [💬] │ │ +│ │ Был(а) 5 мин. назад │ │ +│ │ Люблю программировать │ │ +│ └─────────────────────────────┘ │ +└─────────────────────────────────┘ +``` + +## ✨ Ключевые возможности + +### 1. **Мгновенный поиск по никнейму** +- Просто введите `@username` в поиске +- Поиск работает в реальном времени +- Можно найти ЛЮБОГО пользователя системы + +### 2. **Быстрый старт чата** +- Нажмите на карточку пользователя или иконку 💬 +- Мгновенно создается приватный чат +- Переход сразу в экран переписки + +### 3. **Визуальные индикаторы** +- 🟢 **Зеленый круг** = пользователь онлайн +- **Чип "В сети"** для активных пользователей +- Время последнего визита для оффлайн пользователей +- Цветные аватары с первой буквой никнейма + +### 4. **Умные фильтры** +- **Все** - показывает всех пользователей +- **Онлайн** - только активные пользователи +- **Контакты** - избранные (в разработке) + +### 5. **Статистика в реальном времени** +- Общее количество пользователей +- Количество пользователей онлайн +- Обновляется автоматически + +## 🔥 Пример использования + +1. **Хочу написать пользователю @johndoe** + - Открываю вкладку "Контакты" + - Ввожу в поиск: `johndoe` + - Вижу карточку пользователя + - Нажимаю на нее или иконку сообщения + - Попадаю сразу в чат! + +2. **Хочу найти кого-то онлайн** + - Переключаю фильтр на "Онлайн" + - Вижу всех активных пользователей + - Могу сразу начать общение + +## 💡 Технические детали + +### GraphQL запросы: +- `GET_USERS` - получение списка всех пользователей +- `CREATE_PRIVATE_CONVERSATION` - создание приватного чата + +### Оптимизации: +- Анимация появления карточек +- Индикатор загрузки при создании чата +- Кеширование результатов поиска +- Оптимистичные обновления UI + +### Безопасность: +- Нельзя найти самого себя +- Проверка прав при создании чата +- Валидация на стороне сервера + +## 🚀 Планы развития + +1. **Добавление в контакты** - избранные пользователи +2. **Блокировка пользователей** +3. **Групповые приглашения** +4. **QR-коды для быстрого добавления** +5. **Импорт контактов из телефона** \ No newline at end of file