4.9 KiB
4.9 KiB
Функционал экрана "Контакты" в Prism Messenger
🎯 Основная фича: Поиск любого пользователя по никнейму
Визуальный дизайн
┌─────────────────────────────────┐
│ 🔍 Поиск по @username... │ <- Поле поиска
│ Введите никнейм для поиска │
├─────────────────────────────────┤
│ [25] [5] │ <- Статистика
│ пользователей 🟢 в сети │
├─────────────────────────────────┤
│ [Все] [🟢 Онлайн] [⭐ Контакты] │ <- Фильтры
├─────────────────────────────────┤
│ ┌─────────────────────────────┐ │
│ │ 🟦 A @alice [💬] │ │ <- Карточка пользователя
│ │ 🟢 В сети │ │
│ │ alice@mail.ru │ │
│ └─────────────────────────────┘ │
│ ┌─────────────────────────────┐ │
│ │ 🟩 B @bob [💬] │ │
│ │ Был(а) 5 мин. назад │ │
│ │ Люблю программировать │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────┘
✨ Ключевые возможности
1. Мгновенный поиск по никнейму
- Просто введите
@username
в поиске - Поиск работает в реальном времени
- Можно найти ЛЮБОГО пользователя системы
2. Быстрый старт чата
- Нажмите на карточку пользователя или иконку 💬
- Мгновенно создается приватный чат
- Переход сразу в экран переписки
3. Визуальные индикаторы
- 🟢 Зеленый круг = пользователь онлайн
- Чип "В сети" для активных пользователей
- Время последнего визита для оффлайн пользователей
- Цветные аватары с первой буквой никнейма
4. Умные фильтры
- Все - показывает всех пользователей
- Онлайн - только активные пользователи
- Контакты - избранные (в разработке)
5. Статистика в реальном времени
- Общее количество пользователей
- Количество пользователей онлайн
- Обновляется автоматически
🔥 Пример использования
-
Хочу написать пользователю @johndoe
- Открываю вкладку "Контакты"
- Ввожу в поиск:
johndoe
- Вижу карточку пользователя
- Нажимаю на нее или иконку сообщения
- Попадаю сразу в чат!
-
Хочу найти кого-то онлайн
- Переключаю фильтр на "Онлайн"
- Вижу всех активных пользователей
- Могу сразу начать общение
💡 Технические детали
GraphQL запросы:
GET_USERS
- получение списка всех пользователейCREATE_PRIVATE_CONVERSATION
- создание приватного чата
Оптимизации:
- Анимация появления карточек
- Индикатор загрузки при создании чата
- Кеширование результатов поиска
- Оптимистичные обновления UI
Безопасность:
- Нельзя найти самого себя
- Проверка прав при создании чата
- Валидация на стороне сервера
🚀 Планы развития
- Добавление в контакты - избранные пользователи
- Блокировка пользователей
- Групповые приглашения
- QR-коды для быстрого добавления
- Импорт контактов из телефона