docs(app-map): карта мобильных Контактов forbion (read-only, mail/075)
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
# Карта: Контакты (forbion, мобильная веб-версия)
|
||||
|
||||
Снято 2026-07-12 наблюдением мобильной вёрстки forbion (вьюпорт 390px, аккаунт `cloude`,
|
||||
строго read-only по mail/073). Пишущие элементы («Создать контакт», «Импорт», «+» у групп/команд,
|
||||
«Сохранить», «Удалить», «⋯» адресных книг) НЕ нажимались — их наличие и подписи сняты с экрана/DOM.
|
||||
|
||||
## Вход
|
||||
Нижняя панель шелла → кнопка навигации (стрелка `<`, подпись раздела «Контакты») открывает
|
||||
шторку приложения; либо прямой URL `/apps/contacts/`. Приложение открывается сразу списком
|
||||
«Все контакты» (первый контакт автовыбран на широком экране; в мобильной вёрстке — только список).
|
||||
|
||||
Нижняя панель шелла (общая, зона лида, для ориентира): `<`/`>` — открыть/закрыть шторку
|
||||
навигации приложения · конверт → Почта · «карточки» → Задачи · камера → Конференции ·
|
||||
`≡` → шторка приложений. Панель плавающая поверх контента.
|
||||
|
||||
## Экран: Список контактов («Все контакты»)
|
||||
**Шапка:** только поле поиска (pill на всю ширину). Заголовка экрана и кнопки «создать» в шапке НЕТ
|
||||
(создание — в шторке навигации).
|
||||
**Тело:** плоский список: аватар (фото или инициалы на цветном круге) + имя (16, тёмный) +
|
||||
email (второй строкой, серый). Разделители-линии. Сортировка — по отображаемому имени
|
||||
(настраивается в «Параметрах контактов»).
|
||||
**Действия:**
|
||||
- Ввод в поиск → фильтрация списка на лету (имя/email); справа в поле появляется `×` — очистить.
|
||||
- Тап по контакту → «Экран: Карточка контакта».
|
||||
- Тап `<` на нижней панели → «Экран: Шторка навигации».
|
||||
|
||||
## Экран: Шторка навигации (drawer слева, поверх списка)
|
||||
**Верх:**
|
||||
- «Создать контакт» (зелёная, слева иконка) + отдельный сегмент `+` справа — (не нажималось,
|
||||
read-only; по аналогии с десктопом `+` = быстрое создание).
|
||||
- В контексте команды над ней появляется вторая зелёная кнопка «Импорт контактов» + `+`.
|
||||
**Пункты:**
|
||||
- «Все контакты» [бейдж: 105] → список всех.
|
||||
- «Организационная структура» → «Экран: Организационная структура».
|
||||
- «Без группы» [105] → список контактов без групп (у `cloude` все 105 без групп).
|
||||
- Секция «Группы контакта» [`+`] — пусто (групп нет); `+` = создать группу (не нажималось).
|
||||
- Секция «Команды» [`+`]: «Тест», «admin», «all», «Администраторы поддержки», «Маркетинг»,
|
||||
«Показать все команды». У активной команды справа `⋯` (меню; не раскрывалось).
|
||||
Тап по команде → «Экран: Команда».
|
||||
- Кнопка «Параметры контактов» (внизу шторки) → «Экран: Параметры контактов».
|
||||
**Закрытие:** тап по контенту правее шторки (или `>` на нижней панели — кнопка-стрелка меняет
|
||||
направление). NB: кнопка панели при открытой шторке имеет aria «Закрыть навигацию».
|
||||
|
||||
## Экран: Карточка контакта (просмотр)
|
||||
**Шапка:** `←` (назад к списку) слева сверху.
|
||||
**Тело (по центру):** большой аватар; имя крупно; подпись — должность/организация
|
||||
(например «ооо--форбион», «Ген.дир»); ряд круглых кнопок-действий; секции полей.
|
||||
**Кнопки-действия (круглые, состав зависит от контакта):**
|
||||
- видеокамера → звонок/беседа Talk с пользователем (у системных контактов-пользователей),
|
||||
- силуэт → профиль пользователя на сервере,
|
||||
- конверт → написать письмо.
|
||||
У обычного (не системного) контакта была только кнопка-конверт.
|
||||
**Секции полей (просмотр; показываются только заполненные):**
|
||||
- «Эл. почта» (значение в рамке-поле),
|
||||
- «Социальная сеть» (ссылка на профиль `…/index.php/u/<user>`),
|
||||
- «Подробное имя» (Имя, Фамилия отдельными строками),
|
||||
- «ID в объединении облачных хранилищ» (federated cloud ID `user@forbion.f7cloud.ru`),
|
||||
- «Адрес» (подтип, напр. «Город»),
|
||||
- «Личные даты» (день рождения),
|
||||
- «Адресная книга» (какой книге принадлежит: «Учётные записи» / «Контакты»).
|
||||
**Действия:**
|
||||
- «✏️ Править» (рядом с именем; ЕСТЬ только у контактов из редактируемых книг, у системных
|
||||
из «Учётных записей» отсутствует) → «Экран: Правка контакта».
|
||||
- `⋯` (справа от имени) → меню:
|
||||
- системный контакт («Учётные записи»): «Скачать», «Копировать контакт», «Создать QR-код»;
|
||||
- обычный контакт: те же + «Исключить контакт из календаря Дней Рождений», «Удалить»
|
||||
(не нажималось).
|
||||
|
||||
## Экран: Правка контакта (после «Править»)
|
||||
Заголовок вверху — «Создание нового контакта» (похоже, баг вебки: открыт существующий контакт,
|
||||
все данные на месте).
|
||||
**Тело (форма):**
|
||||
- Большой аватар + зелёная кнопка «Добавить фото»;
|
||||
- Поле имени; два поля должности (placeholder «Должност…» + значение, напр. «Ген.дир»);
|
||||
- Кнопки: «✓ Сохранить…», `⋯`;
|
||||
- «Телефон»: строка типа (дропдаун «Домашний» с `×` и `∨`) + поле значения;
|
||||
- «Эл. почта»: тип + значение (та же пара);
|
||||
- «Адрес»: подтип «Город» + поле;
|
||||
- «Личные даты»: поле с датой (дата-пикер);
|
||||
- «О себе»: многострочное поле;
|
||||
- «Часовой пояс»: дропдаун;
|
||||
- «Группы контакта»: дропдаун «Добавить контакт в гру…».
|
||||
**Выход:** `←` — назад без сохранения (проверено, изменений не делалось).
|
||||
|
||||
## Экран: Организационная структура
|
||||
**Шапка:** «График:» + селектор.
|
||||
**Тело:** вертикальное дерево-граф: карточки сотрудников (аватар-инициал, имя зелёным,
|
||||
счётчики «Управляет: N» / «Наблюдает: N»), связи линиями, узлы сворачиваются бейджем `^N`
|
||||
на ребре. Пример: admin → g.kuts@proorder.ru.
|
||||
|
||||
## Экран: Команда (например «Тест»)
|
||||
**Тело:**
|
||||
- Аватар-инициал команды, название, «Владелец» + чип с аватаром (`you`);
|
||||
- Кнопки: «✏️ Править» (зелёная), «Копировать ссылку»;
|
||||
- Секция «Создавать»: кнопки-пилюли «Папка», «Конференции», «Календарь» — создание общих
|
||||
ресурсов команды (не нажималось);
|
||||
- Секция «Члены»: «Добавить» (не нажималось) + список участников (аватар, имя, роль «Владелец»).
|
||||
- «Показать все команды» в шторке ведёт на список команд (у `cloude` контент совпал с экраном
|
||||
команды — все команды и так в шторке).
|
||||
|
||||
## Экран: Параметры контактов (модальный шит, `×` для закрытия)
|
||||
- Секция «Общие»: «Сортировать контракты по» — дропдаун: Имя / Фамилия /
|
||||
Имя (фонетическое написание) / Фамилия (фонетическое написание) / Отображаемое имя (текущее) /
|
||||
Последнее изменение;
|
||||
- Кнопка «Импорт контактов» (не нажималось);
|
||||
- Секция «Адресные книги», у каждой `⋯` (не раскрывалось):
|
||||
- «Контакты» — 1 контакт, 0 групп;
|
||||
- «Недавние контакты» — 0 контактов, 0 групп;
|
||||
- «Учётные записи» — «Системная адресная книга, в которой хранятся все учетные записи»,
|
||||
104 контакта, 0 групп;
|
||||
- Кнопка «Новая адресная книга» (не нажималось).
|
||||
|
||||
## Пустые состояния / ошибки
|
||||
- Поиск без совпадений: список пустеет (отдельной заглушки на 390px не замечено).
|
||||
- Секция «Группы контакта» без групп — просто пустая (без заглушки).
|
||||
- Состояния ошибок сети не воспроизводились (read-only, боевой сервер).
|
||||
|
||||
## Расхождения с нативным клиентом (бэклог b-mob-contacts)
|
||||
- расхождение: **редактирование/удаление контакта** — в вебе «Править» (полная форма: фото, имя,
|
||||
должность, телефон/почта С ТИПАМИ, адрес, даты, о себе, часовой пояс, группы) и «Удалить» в `⋯`;
|
||||
в нативе ничего этого нет (план mail/072 п.1).
|
||||
- расхождение: **типы полей** (Домашний/…) у телефона/почты — натив не парсит TYPE.
|
||||
- расхождение: **группы контакта** (секция в шторке, поле в форме) — в нативе нет (план п.2).
|
||||
- расхождение: **шторка навигации** (Все контакты/Орг.структура/Без группы/Группы/Команды/
|
||||
Параметры) — в нативе только плоский список с поиском.
|
||||
- расхождение: **организационная структура** (граф) — в нативе нет.
|
||||
- расхождение: **команды** (экран команды, создание ресурсов, члены) — в нативе нет.
|
||||
- расхождение: **параметры** (сортировка, импорт, управление адресными книгами, новая книга) —
|
||||
в нативе нет; создание пишет в первую книгу без выбора.
|
||||
- расхождение: **карточка**: соц.сеть, federated cloud ID, «Исключить из календаря ДР», QR-код,
|
||||
«Скачать», «Копировать контакт» — в нативе нет; зато в нативе есть прямые «Email»/«Позвонить»
|
||||
(системные интенты) — в вебе звонок идёт через Talk-кнопку у системных контактов.
|
||||
- расхождение: **меню `⋯` карточки различается по книге** (системная без «Удалить») — нативу
|
||||
при реализации правки учесть read-only книги.
|
||||
- наблюдение: заголовок формы правки в вебе — «Создание нового контакта» (баг вебки, в нативе
|
||||
не повторять).
|
||||
|
||||
## Примечания к методике
|
||||
Снималось через same-origin iframe 390px внутри Chrome (окно 2560px нельзя ужать) — media queries
|
||||
отрабатывают по ширине iframe, тема отдаёт мобильную вёрстку (`header__mobile`,
|
||||
`header__mobile-bottom`, `app-content-wrapper--no-split`). Артефакт: плавающая нижняя панель в
|
||||
iframe не отрисовывается (visibility:hidden не снимается темой), состав панели снят из DOM;
|
||||
на реальном телефоне панель видна.
|
||||
Reference in New Issue
Block a user