# Концепция главного экрана 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-уведомления о новых сообщениях - Индикаторы на иконках табов #### Статусы пользователей: - Онлайн/Оффлайн - Последний визит - "Печатает..." ## Технические детали реализации ### Навигация: ```typescript // 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. Дополнительные функции