app-map: notifications — живая сверка на forbion (Browser 1/cloude): версионные расхождения (Скрыть все всегда, относительное время), состав элемента подтверждён
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
Контейнер `.notification-container` внутри `.header-menu__content`. Тайтл шапки в мобильной
|
||||
теме — «Уведомления» (`.tooltip-header--notifications`). Два взаимоисключающих состояния:
|
||||
|
||||
### Состояние A — есть уведомления (`notifications.length > 0`)
|
||||
### Состояние A — есть уведомления (`notifications.length > 0`) — СВЕРЕНО ЖИВЬЁМ у `cloude`
|
||||
**Тело:** список `<ul class="notification-wrapper">` из элементов `NotificationItem` (см. ниже),
|
||||
сверху вниз, новые (`notificationId > lastOpenMaxId`) помечены классом `notification--new`.
|
||||
Если push задросселирован — первым нештатным элементом идёт баннер «Push notifications might be
|
||||
@@ -45,7 +45,22 @@ unreliable» (fairUsePolicy, `key=-2016`).
|
||||
**Низ:** блок `.dismiss-all` — кнопка **«Скрыть все уведомления»** (tertiary, во всю ширину,
|
||||
иконка «×»). ⚠️ Пишущая: `onDismissAll` → `DELETE /ocs/v2.php/apps/notifications/api/v2/notifications`.
|
||||
|
||||
### Состояние B — пусто (empty-state `NcEmptyContent`) — наблюдалось у `cloude`
|
||||
**Живая сверка 2026-07-12 (лента `cloude` = 3 уведомления `firstrunwizard`, скриншот 390px):**
|
||||
- `расхождение вер.:` кнопка **«Скрыть все уведомления»** на forbion (5.0.0-dev.0) показывается
|
||||
ВСЕГДА, в т.ч. при пустой ленте — в master-коде она под `v-if="notifications.length > 0"`.
|
||||
Нативный клиент должен ориентироваться на поведение forbion (кнопка всегда), не на master.
|
||||
- `расхождение вер.:` время в элементе отображается **относительно** («45 минут назад»,
|
||||
«49 минут назад»), а не в формате «время + длинная дата» из master `NcDateTime`.
|
||||
- Порядок в строке подтверждён: верхняя строка = [относительное время] … [× «Скрыть»];
|
||||
ниже слева иконка app, справа subject (жирнее) и, если есть, message (серым, второй строкой).
|
||||
- Наблюдённые элементы (все `data-app=firstrunwizard`, `objectType` user/app): у всех есть
|
||||
время + «Скрыть» + иконка + ссылка (`full-subject-link`, не внешняя), rich-subject НЕТ,
|
||||
action-кнопок НЕТ; у двух из трёх есть `message`. Примеры (приветственные, не приватные):
|
||||
«Добавьте данные в свой профиль…», «Рекомендованное приложение: Формы», «…: Распознавание».
|
||||
- `notification--new` в этой выборке не встретился (уведомления не новее `lastOpenMaxId`) —
|
||||
подсветку нового сверить, когда придёт свежее.
|
||||
|
||||
### Состояние B — пусто (empty-state `NcEmptyContent`) — тоже наблюдалось у `cloude` (до догрузки ленты)
|
||||
Три варианта текста (computed `emptyContentMessage`):
|
||||
- `webNotificationsGranted === null` → **«Запрос разрешений для показа уведомлений в браузере»**
|
||||
(именно это видел у `cloude` — иконка колокола `bell-outline-icon`);
|
||||
@@ -107,9 +122,15 @@ data-атрибуты: `data-id`, `data-timestamp`, `data-object-type`, `data-ap
|
||||
`css/pages/pages-mobile/_mobile-common.css`). Для нативной ленты держим общий карточный стиль
|
||||
модулей (`_mobile-common.css` + токены designsystem) — согласовано с лидом (mail/070).
|
||||
|
||||
## Открытые вопросы / сверить, когда лента будет непустой
|
||||
- (?) Как именно выглядит `notification--new` в мобильной теме (подсветка/полоса) — на пустом
|
||||
аккаунте не увидеть; сверить на аккаунте с уведомлениями.
|
||||
- (?) Точный порядок и подписи action-кнопок для реальных источников (Talk-приглашение, дедлайны
|
||||
Deck/Календаря) — снять живьём, когда появятся уведомления.
|
||||
- (?) Сворачивание длинного message в мобильной ширине 390px (высота `.message-container`).
|
||||
## Открытые вопросы (остаток после живой сверки 2026-07-12)
|
||||
Закрыто живьём: размещение строки, относительное время, «Скрыть все» всегда видна, состав
|
||||
простого уведомления (firstrunwizard) — см. «Состояние A». Осталось (нужны уведомления
|
||||
конкретных типов, которых у `cloude` сейчас нет):
|
||||
- (?) `notification--new`: подсветка/полоса для СВЕЖЕГО уведомления (в выборке все были старее
|
||||
`lastOpenMaxId`) — сверить, когда придёт новое.
|
||||
- (?) Точный порядок и подписи **action-кнопок** для источников с действиями (Talk-приглашение
|
||||
«Присоединиться/Отклонить», дедлайны Deck/Календаря) — у firstrunwizard действий нет.
|
||||
- (?) Сворачивание длинного `message` на ширине 390px (высота `.message-container.collapsed`,
|
||||
градиент `.notification-overflow`, разворот по тапу) — у наблюдённых message короткие.
|
||||
- (?) Богатый `subjectRich` (`NcRichText` с User/File-параметрами) — у firstrunwizard subject
|
||||
плоский; сверить на уведомлении с упоминанием пользователя/файла.
|
||||
|
||||
Reference in New Issue
Block a user