Этот компонент темы добавляет возможность использовать функции во вкладках. Теперь эти функции могут быть: меню-гамбургер, уведомления, поиск.
Гамбургер: вкладка открывает меню-гамбургер
Уведомления: добавляет уведомления на вкладку
Поиск: открывает контекстный поиск по адресу /search
Также он изменяет иконки в заголовке. Удаляет гамбургер, меню пользователя, поиск и добавляет новую аватарку DMenu, содержащую содержимое профиля меню пользователя. При прокрутке вниз он скрывается везде, кроме заголовка в теме, чтобы максимизировать обзор.
Он меняет иконку колокольчика на вкладке уведомлений на перечёркнутый колокольчик, если активирован режим «Не беспокоить», и добавляет время. Также он динамически меняет маршрут: если есть проверяемые элементы, перенаправляет на /review, иначе — на страницу /notifications.
Разделение уведомлений имеет большой смысл. Центральная тема делает то же самое, делая меню пользователя более доступным и удобным (не кажется таким навязчивым). Всё прямо и по делу, при этом есть все необходимые ссылки. На мой взгляд, это огромное улучшение UX, мне нравится.
Что касается ссылок внутри меню:
Я бы заменил слово «Сводка» на «Профиль»; в этом контексте это понятнее.
«Активность» не очень полезна; я бы заменил её на «Сообщения». Прямой доступ к вашему почтовому ящику — это must-have.
Думаю, «Закладки» тоже были бы кстати.
Насчёт нижней панели я не уверен.
Кажется, я просто не привык смотреть вниз.
Кнопка уведомлений должна открывать правую панель вместо перехода в профиль. Такой вид больше подходит для быстрого взгляда, и в нём нет лишнего контента, не связанного с уведомлением.
Меню-гамбургер открывается с эффектом краткого мигания.
Хотел бы создать многовкладочный интерфейс в F NAV, содержащий сообщения и чат. Что-то вроде папок в мобильных приложениях. Так вы увидите, что внутри, и сможете открыть это, например, в DMenu. При открытии отдельно отображаются значки непрочитанных сообщений, иначе вы видите объединённый индикатор непрочитанного. Сообщения должны иметь приоритет, как упомянул Arkshine, поэтому они будут открываться в модальном окне для просмотра.
Отличные идеи! Я считаю, что сообщения должны быть в F NAV, как я упоминал выше, но при этом интерфейс будет настраиваемым.
Изначальная идея заключалась в том, чтобы перенаправлять пользователей на страницу уведомлений с фильтром «Непрочитанные», если есть непрочитанные уведомления, а если их нет — на страницу «Все» без фильтра. Если есть уведомления, требующие проверки, — на страницу проверки. Но я забыл добавить это Мне кажется, на мобильных устройствах удобнее перенаправлять на страницу… Но, возможно, я ошибаюсь
Редактирование: Я добавил это. Теперь при наличии непрочитанных уведомлений происходит перенаправление на /u/username/notifications?filter=unread.
Хм, да, похоже, анимация не добавляется корректно, если закрыть гамбургер-меню кликом вне его области. Закрытие свайпом работает нормально; думаю, поэтому я этого не заметил.
Отличная работа, спасибо за компонент, я его попробую.
Он приобрёл более простой вид, особенно в шапке на мобильных устройствах. Мне нравится такой вариант: там нет лишнего визуального шума, и дизайн стал проще. Сейчас большинство известных приложений используют именно такой подход, например: x.com. Вот функции, которые, на мой взгляд, можно добавить:
Кнопку «Новая тема» можно добавить в виджет.
При переходе в пост вместо кнопки «Домой» можно разместить иконку «Назад». При нажатии на неё пользователь сможет вернуться к тому месту, где остановился.
При открытии поста активная кнопка на главной странице может меняться, например становиться прозрачной.
На иконке главной страницы можно отображать количество непрочитанных сообщений. Не уверен насчёт этого, возможно, это сделает интерфейс более перегруженным, или альтернатива:
Возможно ли создать ярлыки для категорий?
Я бы очень хотел добавить иконки для специальных категорий внизу.
Они должны отображать индикаторы обновлённых или новых тем, как ярлыки категорий в боковой панели.
Спасибо за обратную связь, @ozkn
Я добавил изменение иконки «Домой» на маршрутах тем и новый или обновлённый индикатор точки для тем. Наверное, будет хорошей идеей добавить компонент темы «Закреплённые новые или обновлённые темы»… Я также изменил положение и размер значка уведомлений (сделал его меньше, а цифры — жирнее).
Отличная работа, @Don. Действительно прекрасный компонент темы. Я обнаружил несколько проблем на Android, где свайп работает не очень хорошо, особенно в PWA. Это может быть связано с конкретными телефонами, а не с Discourse, но проблема всё же существует, поэтому это решение заполняет этот пробел, особенно для iOS. Похоже, что на панели навигации F есть место для ещё одного пункта меню.
Вот идея для вкладок. Я думаю, что изменю иконку вкладки, но это пока только первая версия. Она содержит чат и сообщения. Чат работает так же, как иконка чата в заголовке, а сообщения открывают модальное окно. Скорее всего, если чат отключен, то DMenu тоже будет отключен, и в навигации останутся только сообщения.
Привет Есть некоторые успехи… Я реализовал пузыри уведомлений, внес некоторые корректировки в счетчики уведомлений и другие изменения…
Вкладка «Мульти» теперь автоматически переключается на вкладку «Сообщения», если чат не включен или пользователь отключил его в настройках профиля. Однако теперь администраторы могут добавлять вкладки «Сообщения» и «Чат» отдельно.
Пузырь уведомлений меняется в зависимости от срочности.
Срочные уведомления во вкладке «Мульти» зеленого цвета и выглядят так:
Личные сообщения всегда отмечены зеленым цветом, тогда как чат может быть синим, как и раньше, например, уведомление о непрочитанном сообщении в канале.
Ещё одно обновление… Я переделал состояние активной вкладки, теперь оно лучше работает и с динамическими целями вкладок.
Я это исправил… Спасибо
Теперь это опция, и администраторы могут выбрать предпочтительный вариант. notificationToRoute: перенаправляет на страницу уведомлений notificationMenu: открывает меню уведомлений
Я добавил эти изменения в создатель тем, поэтому теперь всё работает так.
Хорошая работа, @Don. Я знаю, что это не компонент темы F NAV, но было бы здорово, если бы при открытии окна поиска в нём был крестик для закрытия. Если только я его не упускаю, что вполне возможно: после нажатия на значок поиска, если вы решите не искать, нет удобного способа закрыть окно.
Привет, Brian Не совсем понял, о чём речь. Когда вы нажимаете на иконку поиска, вас перенаправляет на страницу /search, откуда можно вернуться назад с помощью навигации браузера/мобильного устройства или жеста.
Ещё одно обновление… Я решил не удалять иконки заголовка, а просто скрыть их с помощью CSS. Вчера, когда я исправлял анимацию открытия гамбургер-меню, понял, что так будет проще, чище и безопаснее, потому что в этом случае мы можем сохранять возможность клика по стандартным иконкам заголовка. Теперь гамбургер-меню, меню уведомлений и поиск работают именно так. Стандартная иконка чата в заголовке также просто скрыта через CSS, поскольку на страницах /chat она отображается в заголовке.
Я стараюсь сделать настройки максимально простыми.
Они будут содержать 4 поля, описания к которым пока отсутствуют. Поле «Назначение» необязательное, так как при выборе функции всё необходимое уже включено, и это поле должно оставаться пустым.
Привет, @Don, моё высказывание довольно непонятное Мой комментарий не имеет отношения к вашему компоненту. Я думаю, было бы полезно добавить крестик для закрытия интерфейса поиска, если вы решили не искать после его открытия или нажали случайно. Часто я случайно возвращаюсь назад с страницы или из Discourse
Выглядит отлично, не могу дождаться, чтобы попробовать!
Та же проблема, что и с предыдущей, немного похожей: использование с DiscourseHub действительно сложно. Теперь это доступно только для браузеров и PWA.