Files
prism/MAIN_SCREEN_CONCEPT.md

3.9 KiB
Raw Permalink Blame History

Концепция главного экрана Prism Messenger

Структура приложения после авторизации

1. Bottom Tab Navigation (Нижняя навигация)

Основные разделы приложения:

  1. Чаты (Chats) - главный раздел
  2. Контакты (Contacts) - список пользователей
  3. Профиль (Profile) - настройки и профиль

2. Экран "Чаты" (главный)

Header (Заголовок):

  • Логотип/Название приложения
  • Поиск (иконка лупы)
  • Новый чат (иконка +)

Основной контент:

  • Список активных чатов с превью последних сообщений
  • Индикаторы непрочитанных сообщений
  • Время последнего сообщения
  • Онлайн статус собеседника
  • Swipe actions для быстрых действий (архив, удаление)

Floating Action Button:

  • Быстрое создание нового чата

3. Экран "Контакты"

Разделы:

  • Поиск пользователей по username
  • Мои контакты (добавленные пользователи)
  • Все пользователи системы
  • Приглашения (входящие/исходящие)

Функции:

  • Добавить в контакты
  • Начать чат
  • Посмотреть профиль
  • Заблокировать пользователя

4. Экран "Профиль"

Разделы:

  • Мой профиль:

    • Аватар (с возможностью изменения)
    • Username
    • Email
    • Био/Статус
    • Статус "В сети"
  • Настройки:

    • Уведомления
    • Приватность
    • Темная тема
    • Язык приложения
  • Действия:

    • Выйти из аккаунта
    • Удалить аккаунт

5. Дополнительные функции

Глобальный поиск:

  • По сообщениям
  • По пользователям
  • По названиям чатов

Уведомления:

  • Push-уведомления о новых сообщениях
  • Индикаторы на иконках табов

Статусы пользователей:

  • Онлайн/Оффлайн
  • Последний визит
  • "Печатает..."

Технические детали реализации

Навигация:

// React Navigation структура
- Tab.Navigator
  - Stack.Navigator (Чаты)
    - ConversationsScreen
    - ChatScreen
    - NewChatScreen
  - Stack.Navigator (Контакты)
    - ContactsScreen
    - UserProfileScreen
  - Stack.Navigator (Профиль)
    - ProfileScreen
    - SettingsScreen

GraphQL запросы для главного экрана:

  1. getConversations - список чатов с последними сообщениями
  2. getUnreadCount - количество непрочитанных
  3. getOnlineUsers - список онлайн пользователей
  4. searchUsers - поиск пользователей

Компоненты UI:

  • TabBar - кастомная нижняя навигация
  • ChatListItem - элемент списка чатов
  • SearchBar - универсальный поиск
  • UserAvatar - аватар с индикатором онлайн
  • UnreadBadge - бейдж непрочитанных

Приоритеты разработки:

  1. Базовая Tab навигация
  2. Улучшенный список чатов
  3. Экран контактов
  4. Профиль и настройки
  5. Поиск и фильтрация
  6. Дополнительные функции