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

13 KiB

Карта: Файлы

Источники (метод mail/078): живой мобильный web forbion (сессия Browser 1, аккаунт cloude, iframe ~390px, read-only — mail/073/075/079) для внешнего вида/порядка + апстрим nextcloud/server apps/files/src для состава кнопок/меню (сверено: filters/, actions/) + тема forbion-theme/.../_mobile-files.css (селекторы элементов окна). Приватность: реальные ФИО/почты сотрудников, права доступа и инвентарь бизнес-папок не фиксируются — только структура UI и дерево переходов.

Вход

Приложение «Файлы» — стартовое (нижняя панель / шторка приложений «Файлы»). URL /apps/files/files. Оболочку (нижняя панель, шторка, бургер) описывает shell.md (зона лида) — здесь только специфика приложения.

Экран: Все файлы (главный / список папки)

Шапка (сверху вниз):

  • Пилюля «Поиск» (Объединённый поиск) → экран поиска (см. ниже).
  • Иконка-сетка справа → «Переключиться на режим просмотра сеткой» (тумблер список⇄сетка).
  • Кнопка «Открыть навигацию [n]» → шторка навигации файлов (см. «Навигация файлов»).
  • Кнопка «Новый» → меню создания/загрузки (см. «Меню Новый»).
  • Хлебные крошки: 🏠 (корень) → сегменты пути; каждый сегмент кликабелен → переход к папке.
  • Чипы-фильтры: «Тип файла», «Изменён», «Участники» (в корне — три; внутри папки «Участники» пропадает, остаются «Тип файла»/«Изменён»).

Тело:

  • Блок недавних/предложенных файлов (горизонтальная лента карточек: иконка типа + имя + «Последнее обновление: …»); тап по карточке → открытие файла.
  • Список папок/файлов (строки): чекбокс выделения · иконка типа (звёздочка = избранное) · имя · инлайн-кнопка «Скачать» (для файлов) · кнопка «Действия» (⋮).
    • Тап по строке-папке → открыть папку (крошки наращиваются, URL ?dir=/Путь).
    • Тап по строке-файлу → открыть файл (по типу, см. «Открытие файла»).
    • Чекбокс → режим выделения (см. «Режим выделения»).
    • «Действия» (⋮) → контекстное меню файла/папки (см. ниже).

Пустое состояние (папка без файлов): иконка + «Здесь нет файлов» + подзаголовок «Загрузите что-нибудь или синхронизируйте со своими устройствами!».

Меню «Новый» (создание/загрузка)

Открывается кнопкой «Новый». Два раздела:

  • Загрузить с устройства: «Загрузить файлы», «Загрузить папки».
  • Создать новое: «Новая папка», «Запрос на создание файла», «Новая диаграмма», «Новая доска», «Новая презентация», «Новая таблица», «Новый документ», «Новый текстовый файл», «Создать папку шаблонов».
  • (read-only: пункты только просмотрены, ничего не создавалось.)

Навигация файлов (шторка «Открыть навигацию»)

Список представлений + дерево:

  • «Все файлы», «Личные файлы», «Недавно изменённые», «Избранные», «Опубликованные ресурсы», «Командные папки», «Метки», «Внешнее хранилище», «Дерево папок», «Корзина».
  • Внизу — индикатор квоты («Использовано N GB»).
  • Каждый пункт → соответствующее представление списка файлов.

Фильтры

  • «Тип файла» → мультивыбор типов: Документы, Таблицы, Презентации, PDFs, Папки, Звук, Изображения, Видео (TypeFilter.ts).
  • «Изменён» → пресеты по дате (ModifiedFilter.ts): Сегодня, Последние 7 дней, Последние 30 дней, В этом году, В прошлом году.
  • «Участники» → фильтр по людям с доступом (даёт files_sharing, не ядро files) — чип есть в корне «Все файлы», внутри папки пропадает.

Контекстное меню (⋮) — Папка

«Добавить в избранное», «Подробно», «Варианты обмена», «Управление метками», «Переименовать», «Переместить или копировать», «Установить напоминание» ›, «Открыть локально», «Скачать», «Архивировать в...» ›, «Удалить папку». (Сверено с apps/files/src/actions/: favorite, sidebar=Подробно, moveOrCopy, rename, editLocally=«Открыть локально», download, delete, openFolder; метки/обмен/напоминание/архив — из соответствующих приложений тенанта.)

Контекстное меню (⋮) — Файл

«Добавить/Удалить из избранных», «Подробно», строка-статус общего доступа (если расшарен), «Управление метками», «Переименовать», «Переместить или копировать», «Установить напоминание» ›, «Сохранить как…» › (для офисных — форматы), «Открыть локально», «Скачать», «Архивировать в...» ›, «Удалить файл».

Режим выделения (bulk)

Отметка чекбокса → шапка списка меняется на: «Выбран N» (слева) + кнопка «Действия» (справа). Меню «Действия» (групповое): «Добавить в избранное», «Управление метками», «Переместить или копировать», «Скачать», «Архивировать в...» ›, «Удалить папку/файлы».

Экран: Подробно (панель сведений о файле)

Открывается пунктом «Подробно» в ⋮. Шапка: имя файла · × закрыть · владелец/аватар · «<дата изменения> / <размер>». Четыре вкладки-иконки:

  • Общий доступ (людской значок): подсекции «Внутренние ссылки» (поле «Введите имена или команды», список получателей с выпадающим правом «Можно редактировать/…», «Другие пользователи, имеющие доступ», «Внутренняя ссылка / Для тех, у кого уже есть доступ» + копировать), «Внешние ссылки» (поле e-mail, «Создать общедоступную ссылку» +), «Дополнительные ссылки». Внизу — ряд быстрых иконок связанных приложений.
  • Версии — история версий файла.
  • Чат — комментарии к файлу.
  • События — активность/лента событий по файлу.
  • (read-only: панель только просмотрена; персональные данные получателей не фиксируются.)

Открытие файла (по типу)

Тап по файлу открывает вьюер/редактор по типу (наблюдалось частично; часть — (?) по иконкам/ категориям типов):

  • Офисные (Таблицы/Документы/Презентации) → редактор Collabora/Richdocuments в WebView.
  • .md / текст → редактор текста/markdown.
  • Изображения → просмотрщик изображений.
  • .whiteboard / «доска» → редактор доски (WebView).
  • PDF → просмотрщик PDF. (точный переход для PDF/аудио/видео — (?), не открывал.)

Экран: Поиск

Пилюля «Поиск» → объединённый поиск (Nextcloud unified search) по файлам и приложениям. (детальное дерево поиска не раскрывал — (?).)

Расхождения с нативным клиентом (сверено по коду feature/files, 2026-07-12)

Сверка состава/функций по коду (не попиксельная — та ждёт сборки на устройстве, задача №1 mail/068). Итог: 4 подтверждённых расхождения, 1 снято.

  • снято — меню «Новый»: нативный FilesCreateMenu.kt содержит весь веб-список (загрузка + 10 пунктов «Создать новое») и даже больше («Добавить описание папки»). Соответствует.
  • расхождение: панель «Подробно» — 2 вкладки вместо 4. FileDetailsTab (FilesModels.kt:67) = {Sharing, Events}; в вебе 4 (Общий доступ / Версии / Чат / События). Нет вкладок «Версии» и «Чат/комментарии».
  • расхождение: фильтры-чипы — заглушки. FilesFilterChips рисует «Тип файла/Участники/ Изменен», но обработчики (FilesScreen.kt:224-226): «Тип файла»→сортировка по типу, «Изменен»→сортировка по дате, «Участники»→пустой {}. В вебе это фильтры: Тип файла (мультивыбор 8 типов), Изменён (5 пресетов дат), Участники (по людям). Функционал фильтрации отсутствует.
  • расхождение: групповые действия — 3 из 6. FilesBulkAction (FilesComponents.kt:1064) = {Favorite, Download, Delete}, причём Download → showWebOnlyMessage("Массовое скачивание") (заглушка). В вебе 6: Добавить в избранное, Управление метками, Переместить или копировать, Скачать, Архивировать в…, Удалить. Нет меток/перемещения-копирования/архива; массовое скачивание не реализовано.
  • расхождение: шэры — только публичная ссылка. createPublicShareLink (FilesApiRepository.kt:174) создаёт лишь shareType=3. fetchShares (:199) читает и отображает существующие шэры любого типа, но СОЗДАНИЕ внутренних шэров (пользователь=0/группа=1) отсутствует. В вебе панель «Внутренние ссылки» это умеет. = план п.3 mail/068.

Осталось (нужна сборка на устройстве, попиксельно): вёрстка по CSS-теме, переходы PDF/аудио/видео, дерево поиска.