Files
f7cloud_mobile/docs/app-map/contacts.md
T

14 KiB
Raw Blame History

Карта: Контакты (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; на реальном телефоне панель видна.