3.9 KiB
3.9 KiB
Концепция главного экрана Prism Messenger
Структура приложения после авторизации
1. Bottom Tab Navigation (Нижняя навигация)
Основные разделы приложения:
- Чаты (Chats) - главный раздел
- Контакты (Contacts) - список пользователей
- Профиль (Profile) - настройки и профиль
2. Экран "Чаты" (главный)
Header (Заголовок):
- Логотип/Название приложения
- Поиск (иконка лупы)
- Новый чат (иконка +)
Основной контент:
- Список активных чатов с превью последних сообщений
- Индикаторы непрочитанных сообщений
- Время последнего сообщения
- Онлайн статус собеседника
- Swipe actions для быстрых действий (архив, удаление)
Floating Action Button:
- Быстрое создание нового чата
3. Экран "Контакты"
Разделы:
- Поиск пользователей по username
- Мои контакты (добавленные пользователи)
- Все пользователи системы
- Приглашения (входящие/исходящие)
Функции:
- Добавить в контакты
- Начать чат
- Посмотреть профиль
- Заблокировать пользователя
4. Экран "Профиль"
Разделы:
-
Мой профиль:
- Аватар (с возможностью изменения)
- Username
- Био/Статус
- Статус "В сети"
-
Настройки:
- Уведомления
- Приватность
- Темная тема
- Язык приложения
-
Действия:
- Выйти из аккаунта
- Удалить аккаунт
5. Дополнительные функции
Глобальный поиск:
- По сообщениям
- По пользователям
- По названиям чатов
Уведомления:
- Push-уведомления о новых сообщениях
- Индикаторы на иконках табов
Статусы пользователей:
- Онлайн/Оффлайн
- Последний визит
- "Печатает..."
Технические детали реализации
Навигация:
// React Navigation структура
- Tab.Navigator
- Stack.Navigator (Чаты)
- ConversationsScreen
- ChatScreen
- NewChatScreen
- Stack.Navigator (Контакты)
- ContactsScreen
- UserProfileScreen
- Stack.Navigator (Профиль)
- ProfileScreen
- SettingsScreen
GraphQL запросы для главного экрана:
getConversations
- список чатов с последними сообщениямиgetUnreadCount
- количество непрочитанныхgetOnlineUsers
- список онлайн пользователейsearchUsers
- поиск пользователей
Компоненты UI:
TabBar
- кастомная нижняя навигацияChatListItem
- элемент списка чатовSearchBar
- универсальный поискUserAvatar
- аватар с индикатором онлайнUnreadBadge
- бейдж непрочитанных
Приоритеты разработки:
- Базовая Tab навигация
- Улучшенный список чатов
- Экран контактов
- Профиль и настройки
- Поиск и фильтрация
- Дополнительные функции